@import url('https://fonts.googleapis.com/css2?family=Geist+Mono:wght@300;400;500;700&display=swap');

/* =========================================================
   FONTS | CREATO DISPLAY
   ========================================================= */

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-ThinItalic.otf') format('opentype');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-LightItalic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-RegularItalic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-MediumItalic.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-BoldItalic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-ExtraBold.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-ExtraBoldItalic.otf') format('opentype');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Creato Display';
  src: url('/fonts/creato_display/CreatoDisplay-BlackItalic.otf') format('opentype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

:root{
  --color-bg: #f2f2ef;
  --color-surface: #fbfbf8;
  --color-surface-2: #f6f6f2;
  --color-text: #090808;
  --color-text-soft: #6f6f69;
  --color-white: #fffefa;
  --color-black: #090808;
  --color-border: #d9d9d2;
  --color-acid: #56d7d8;
  --color-overlay: rgba(9, 8, 8, 0.48);
  --ff-base: 'Geist Mono', monospace;
  --font-primary: 'Creato Display', Arial, sans-serif;
  --font-secondary: 'Creato Display', Arial, sans-serif;
  --fz-xs: 10px;
  --fz-sm: 12px;
  --fz-md: 14px;
  --fz-base: 16px;
  --fz-lg: 20px;
  --fz-xl: 28px;
  --fz-hero: clamp(30px, 3.2vw, 48px);
  --container: 1680px;
  --container-narrow: 1680px;
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 20px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 56px;
  --space-9: 72px;
  --space-10: 96px;
  --radius: 0;
  --transition: .28s ease;
  --form-height: 42px;
  --form-height-sm: 44px;
  --form-padding-x: 12px;
  --form-border: 1px solid var(--color-black);
  --form-bg: var(--color-white);
  --form-text: var(--color-black);
  --form-placeholder: #7c7c76;
  --form-focus: var(--color-acid);
  --form-label-size: 12px;
  --form-text-size: 14px;
  --form-radius: 0;
}

html, body{
  margin: 0;
  padding: 0;
  font-family: var(--ff-base);
  color: var(--color-text);
  background: var(--color-bg);
  overflow-x: hidden;
}

*,
*::before,
*::after{
  box-sizing: border-box;
}

img{
  display: block;
  max-width: 100%;
  height: auto;
}

a{
  color: inherit;
  text-decoration: none;
  transition: all var(--transition);
}

a:hover{
  opacity: .86;
}

h1,h2,h3,h4,h5,h6,p,ul{
  margin: 0;
  padding: 0;
}

ul{
  list-style: none;
}

.container,
.container-fluid{
  width: 100%;
  max-width: var(--container-narrow);
  margin: 0 auto;
  padding-left: var(--space-7);
  padding-right: var(--space-7);
}

.row{
  margin-left: -10px;
  margin-right: -10px;
}

.row > [class*="col-"]{
  padding-left: 10px;
  padding-right: 10px;
}

.homepage{
  background: var(--color-bg);
}


/* wrapper base */
.formulario,
form,
.form-tag-contactos,
.form-tag-newsletter,
.form-tag-login,
.form-tag-registo,
.form-tag-account {
  --local-gap: 14px;
}
span.label-account{
    font-family: var(--font-primary) !important;
    line-height: 1.2 !important;
    font-size: 12px !important;
}

.sub-account{
    margin-bottom: 20px !important;

    font-family: var(--font-primary) !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
}

/* linhas antigas bootstrap */
.formulario .row,
form .row {
  margin-left: -10px;
  margin-right: -10px;
}

.formulario .row > [class*="col-"],
form .row > [class*="col-"] {
  padding-left: 10px;
  padding-right: 10px;
}

/* itens */
[class*="item-form-"],
.form-group,
.campo-form {
  margin-bottom: 16px;
}

/* labels */
.label-principal,
form label:not(.label-check):not(.switch):not(.checkbox-inline):not(.radio-inline) {
  display: block;
  margin: 0 0 8px;
  color: var(--color-black);
  font-family: var(--ff-base);
  font-size: var(--form-label-size);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* inputs base */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
select,
textarea {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-height: var(--form-height);
  border: var(--form-border);
  border-color: var(--color-border);
  border-radius: var(--form-radius);
  background: var(--form-bg);
  color: var(--form-text);
  box-shadow: none;
  outline: none;
  padding: 0 var(--form-padding-x);
  font-family: var(--font-primary);
  font-size: var(--form-text-size);
  font-weight: 400;
  line-height: 1.4;
  transition:
    border-color var(--transition),
    background-color var(--transition),
    box-shadow var(--transition),
    color var(--transition);
  margin-bottom: 20px;
}

/* placeholders */
.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--form-placeholder);
  opacity: 1;
  font-family: var(--font-primary);
}

/* focus */
.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-black);
  background: var(--color-white);
  box-shadow: inset 0 0 0 1px var(--color-black);
}

/* textarea */
textarea,
textarea.form-control {
  min-height: 160px;
  resize: vertical;
  padding-top: 16px;
  padding-bottom: 16px;
}

/* select */
select,
select.form-control {
  padding-right: 48px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--color-black) 50%),
    linear-gradient(135deg, var(--color-black) 50%, transparent 50%);
  background-position:
    calc(100% - 22px) calc(50% - 3px),
    calc(100% - 16px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  cursor: pointer;
}

/* disabled */
.form-control:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  opacity: .55;
  cursor: not-allowed;
  background: #efefea;
}

/* states */
.is-error .form-control,
.form-control.error,
input.error,
select.error,
textarea.error {
  border-color: #c62828;
  box-shadow: inset 0 0 0 1px #c62828;
}

.is-success .form-control,
.form-control.success,
input.success,
select.success,
textarea.success {
  border-color: #1f7a1f;
  box-shadow: inset 0 0 0 1px #1f7a1f;
}

/* help / error text */
.form-help,
.form-error,
.help-block,
.mensagem-erro {
  display: block;
  margin-top: 8px;
  font-family: var(--ff-base);
  font-size: 11px;
  line-height: 1.45;
}

.form-error,
.mensagem-erro {
  color: #b42318;
}

.form-help,
.help-block {
  color: var(--color-text-soft);
}

/* =========================================================
   CHECKBOX / RADIO
   ========================================================= */

.cx-checkboxs,
.cx-radios,
.checkbox-group,
.radio-group {
  margin-top: 6px;
}

.cx-checkboxs label,
.cx-radios label,
.label-check,
.checkbox-inline,
.radio-inline {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  margin: 0;
  cursor: pointer;
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  text-transform: none;
  letter-spacing: 0;
}

.cx-checkboxs input[type="checkbox"],
.cx-radios input[type="radio"],
input[type="checkbox"].form-control,
input[type="radio"].form-control,
input[type="checkbox"]:not(.switch-input),
input[type="radio"]:not(.switch-input) {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-height: 18px;
  flex: 0 0 18px;
  margin: 0;
  border: 1px solid var(--color-black);
  background: transparent;
  box-shadow: none;
  outline: none;
  position: relative;
  cursor: pointer;
  padding: 0;
}

/* checkbox */
.cx-checkboxs input[type="checkbox"],
input[type="checkbox"]:not(.switch-input) {
  border-radius: 0;
}

.cx-checkboxs input[type="checkbox"]:checked,
input[type="checkbox"]:not(.switch-input):checked {
  background: var(--color-white);
}

.cx-checkboxs input[type="checkbox"]:checked::after,
input[type="checkbox"]:not(.switch-input):checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid var(--color-black);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* radio */
.cx-radios input[type="radio"],
input[type="radio"]:not(.switch-input) {
  border-radius: 50%;
}

.cx-radios input[type="radio"]:checked::after,
input[type="radio"]:not(.switch-input):checked::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: var(--color-black);
}

/* focus */
.cx-checkboxs input[type="checkbox"]:focus,
.cx-radios input[type="radio"]:focus,
input[type="checkbox"]:focus,
input[type="radio"]:focus {
  box-shadow: 0 0 0 2px rgba(86,215,216,.35);
}

/* links dentro da checkbox */
.cx-checkboxs a,
.cx-radios a,
.label-check a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* =========================================================
   BUTTONS
   ========================================================= */

button,
.button,
.btn,
input[type="submit"],
input[type="button"],
input[type="reset"],
a.btn,
a.button,
.btn-principal,
.btn-secundario {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--form-height);
  padding: 0 24px;
  border-radius: 0;
  border: 1px solid var(--color-black);
  box-shadow: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  transition:
    background-color var(--transition),
    color var(--transition),
    border-color var(--transition),
    opacity var(--transition),
    transform var(--transition);
  font-family: var(--ff-base);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
}

/* primário */
button,
.button,
.btn,
input[type="submit"],
input[type="button"],
input[type="reset"],
.btn-principal {
  background: var(--color-acid);
  color: var(--color-black);
  border-color: var(--color-acid);
  margin-top: 20px;
}

button:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.btn-principal:hover {
  background: var(--color-black);
  color: var(--color-white);
  border-color: var(--color-black);
  opacity: 1;
}

/* secundário */
.btn-secundario,
.button--secondary,
.btn-outline,
a.btn-outline {
  background: transparent;
  color: var(--color-black);
  border-color: var(--color-black);
}

.btn-secundario:hover,
.button--secondary:hover,
.btn-outline:hover,
a.btn-outline:hover {
  background: var(--color-black);
  color: var(--color-white);
  border-color: var(--color-black);
  opacity: 1;
}

/* botão pequeno */
.btn-sm,
.button-sm,
input[type="submit"].btn-sm,
input[type="button"].btn-sm {
  min-height: var(--form-height-sm);
  padding: 0 18px;
  font-size: 11px;
}

/* full width */
.btn-block,
.button-block,
input[type="submit"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}

/* active / focus */
button:focus,
.button:focus,
.btn:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus {
  box-shadow: 0 0 0 2px rgba(86,215,216,.35);
}

button:active,
.button:active,
.btn:active,
input[type="submit"]:active,
input[type="button"]:active,
input[type="reset"]:active {
  transform: translateY(1px);
}

/* =========================================================
   LOGIN / REGISTO
   match do PDF
   ========================================================= */

.login-page,
.page-login,
.account-page,
.registo-page {
  background: var(--color-bg);
}

.login-page h1,
.page-login h1,
.account-page h1,
.registo-page h1,
.login-page h2,
.page-login h2,
.account-page h2,
.registo-page h2 {
  color: var(--color-black);
  font-family: var(--font-primary);
  font-size: clamp(28px, 2vw, 36px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.03em;
  margin: 0 0 26px;
}

.login-page .label-principal,
.page-login .label-principal,
.account-page .label-principal,
.registo-page .label-principal {
  margin-bottom: 10px;
}

.login-page .form-control,
.page-login .form-control,
.account-page .form-control,
.registo-page .form-control,
.login-page input[type="text"],
.login-page input[type="email"],
.login-page input[type="password"],
.page-login input[type="text"],
.page-login input[type="email"],
.page-login input[type="password"] {
  min-height: 58px;
  font-size: 15px;
}

.login-page .cx-submit .form-control,
.page-login .cx-submit .form-control,
.account-page .cx-submit .form-control,
.registo-page .cx-submit .form-control {
  width: auto;
  min-width: 190px;
}

/* links auxiliares */
.link-form,
.form-link,
.recuperar-password,
.nao-me-lembro,
.memorizar-conta {
  font-family: var(--font-primary);
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-text);
}

.link-form a,
.form-link a,
.recuperar-password a,
.nao-me-lembro a,
.memorizar-conta a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* =========================================================
   SEARCH OVERLAY
   manter coerência
   ========================================================= */

.overlay-pesquisa .form-pesquisa .form-control,
.overlay-pesquisa .form-pesquisa input[type="text"] {
  min-height: 58px;
  border: 1px solid var(--color-black);
  background: var(--color-white);
  color: var(--color-black);
  padding: 0 18px;
  font-family: var(--font-primary);
  font-size: 15px;
}

.overlay-pesquisa .form-pesquisa input[type="submit"] {
  min-height: 44px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid var(--color-black);
  background: var(--color-black);
  color: var(--color-acid);
  font-family: var(--ff-base);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: 36px;
}

/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 767px) {
  .form-control,
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  select,
  textarea {
    min-height: 50px;
    padding-left: 14px;
    padding-right: 14px;
    font-size: 14px;
  }

  textarea,
  textarea.form-control {
    min-height: 140px;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  button,
  .button,
  .btn,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  a.btn,
  a.button,
  .btn-principal,
  .btn-secundario {
    min-height: 50px;
    width: auto;
  }

  .cx-checkboxs label,
  .cx-radios label,
  .label-check {
    font-size: 13px;
  }
}




/* =========================
   HERO VIDEO / IMAGE
========================= */

.bl-lista-pp{
    text-align: center;
    margin-top: 50px;
    margin-bottom: 40px;
}

.blocoFundo{
  position: absolute;
  inset: 0;
  min-height: 640px;
  z-index: 0;
  overflow: hidden;
}

.videoFundo{
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
}

.blocoFundo__overlay{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.36) 0%, rgba(0,0,0,.18) 20%, rgba(0,0,0,.56) 100%),
    linear-gradient(90deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.2) 45%, rgba(0,0,0,.48) 100%);
  pointer-events: none;
}

/* =========================
   HEADER
========================= */

.site-header{
  position: relative;
  z-index: 20;
}
.site-header--transparente{
    position: absolute;
    width: 100%;
}

.header-topbar{
  background: var(--color-acid);
  height: 36px;
  position: relative;
  z-index: 30;
}

.header-topbar__inner{
  max-width: var(--container);
  margin: 0 auto;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-7);
  position: relative;
}

.header-topbar__link{
  font-size: var(--fz-md);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-black);
  white-space: nowrap;
}

.header-language{
  position: absolute;
  right: var(--space-7);
  top: 0;
  height: 36px;
  display: flex;
  align-items: center;
}

.header-language__current{
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--color-black);
  font-family: var(--ff-base);
  font-size: var(--fz-md);
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
}

.header-language__arrow{
  line-height: 1;
}

.header-language__dropdown{
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  background: var(--color-black);
  border: 1px solid rgba(255,255,255,.08);
  min-width: 66px;
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all var(--transition);
}

.header-language:hover .header-language__dropdown{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.header-language__dropdown a{
  display: block;
  color: var(--color-white);
  padding: 6px 12px;
  font-size: var(--fz-sm);
}

.header-language__dropdown a.is-active{
  color: var(--color-acid);
}

.header-main{
  position: relative;
  z-index: 25;
  min-height: 140px;
  display: flex;
  align-items: center;
}

.site-header--transparente .header-main{
  background: transparent;
}

.site-header--bloco .header-main{
  background: #fff;
}

.header-main__container{
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--space-7);
  padding-right: var(--space-7);
}

.header-main__inner{
  min-height: 140px;
  display: grid;
  grid-template-columns: 220px 1fr 340px;
  align-items: center;
  gap: var(--space-6);
}

.header-brand__logo{
  width: 180px;
  height: auto;
  filter: brightness(0) invert(1);
}

.site-header--bloco .header-brand__logo{
  filter: none;
}

.header-nav{
  display: flex;
  justify-content: center;
}

.menu--principal > ul,
.menu--util > ul{
  display: flex;
  align-items: center;
  gap: 42px;
}

.menu--principal ul li,
.menu--util ul li{
  position: relative;
}

.menu--principal ul li a,
.menu--util ul li a{
  color: var(--color-white);
  font-size: var(--fz-md);
  text-transform: uppercase;
  letter-spacing: .04em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.menu--principal ul li a:hover,
.menu--util ul li a:hover{
  color: var(--color-acid);
  opacity: 1;
}

.header-tools{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
}

.header-tools__menu{
  display: flex;
  justify-content: flex-end;
}

.hamburguer-bt{
  display: none;
  width: 28px;
  height: 24px;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.hamburguer-bt__stripe{
  display: block;
  width: 100%;
  height: 2px;
  background: var(--color-white);
  margin: 5px 0;
}

.site-header--bloco .hamburguer-bt__stripe{
  background: var(--color-black);
}


/* =========================================================
   MENU PRINCIPAL + MENU UTILITÁRIO
   ========================================================= */

/* listas principais lado a lado */
.header-nav .menu > div > ul,
.header-tools__menu .menu > div > ul,
.menu--principal > div > ul,
.menu--util > div > ul,
.menuprincipal > ul,
.menu-registo > ul {
  display: flex;
  align-items: center;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* cada item principal */
.header-nav .li-menu,
.header-tools__menu .li-menu,
.menuprincipal > ul > li,
.menu-registo > ul > li {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* links principais */
.header-nav .li-menu > a,
.header-tools__menu .li-menu > a,
.menuprincipal > ul > li > a,
.menu-registo > ul > li > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header--bloco .menu--principal ul li a,
.site-header--bloco .menu--util ul li a,
.site-header--bloco .header-nav .li-menu > a,
.site-header--bloco .header-tools__menu .li-menu > a,
.site-header--bloco .menuprincipal > ul > li > a,
.site-header--bloco .menu-registo > ul > li > a{
  color: var(--color-black);
}

/* =========================================================
   SETA NOS ITENS COM SUBMENU
   ========================================================= */

.header-nav .li-menu:has(> .sub-menu > li) > a::after,
.header-tools__menu .li-menu:has(> .sub-menu > li) > a::after,
.menuprincipal > ul > li:has(> .sub-menu > li) > a::after,
.menu-registo > ul > li:has(> .sub-menu > li) > a::after {
  content: ">";
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  transform: rotate(90deg);
  transform-origin: center;
  margin-left: 2px;
}

/* fallback simples caso haja submenu mesmo vazio no HTML */
.header-nav .li-menu > .sub-menu:not(:empty) + *,
.header-tools__menu .li-menu > .sub-menu:not(:empty) + * {
}

/* =========================================================
   SUBMENUS ESCONDIDOS
   ========================================================= */

.header-nav .sub-menu,
.header-tools__menu .sub-menu,
.menuprincipal .sub-menu,
.menu-registo .sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 0px);
  left: 0;
  min-width: 220px;
  padding: 12px 0;
  margin: 0;
  list-style: none;
  background: rgba(9, 8, 8, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.08);
  z-index: 100;
}

/* submenu alinhado à direita no menu utilitário */
.header-tools__menu .sub-menu,
.menu-registo .sub-menu {
  left: auto;
  right: 0;
}

/* mostrar submenu no hover */
.header-nav .li-menu:hover > .sub-menu,
.header-tools__menu .li-menu:hover > .sub-menu,
.menuprincipal > ul > li:hover > .sub-menu,
.menu-registo > ul > li:hover > .sub-menu {
  display: block;
}

/* itens internos do submenu */
.header-nav .sub-menu li,
.header-tools__menu .sub-menu li,
.menuprincipal .sub-menu li,
.menu-registo .sub-menu li {
  display: block;
  width: 100%;
}

/* links internos do submenu */
.header-nav .sub-menu li a,
.header-tools__menu .sub-menu li a,
.menuprincipal .sub-menu li a,
.menu-registo .sub-menu li a {
  display: block;
  width: 100%;
  padding: 10px 16px;
  color: #fff;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
}

.header-nav .sub-menu li a:hover,
.header-tools__menu .sub-menu li a:hover,
.menuprincipal .sub-menu li a:hover,
.menu-registo .sub-menu li a:hover {
  background: #56d7d8;
  color: #090808;
  opacity: 1;
}

/* =========================================================
   EVITAR SUBMENUS VAZIOS
   ========================================================= */

.sub-menu:empty {
  display: none !important;
}

/* =========================================================
   OPCIONAL: afinação visual do header
   ========================================================= */

.header-main__inner {
  display: grid;
  grid-template-columns: 220px 1fr auto;
  align-items: center;
  gap: 32px;
}

.header-nav {
  display: flex;
  justify-content: center;
}

.header-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.header-tools__menu {
  display: flex;
  align-items: center;
}

.li-menu.tem-sub > a::after {
  content: ">";
  display: inline-block;
  transform: rotate(90deg);
  margin-left: 4px;
}


/* =========================
   HERO MAIN
========================= */

/* .homepage-hero{
  position: relative;
  min-height: 560px;
  background: var(--color-black);
}

.homepage-main{
  position: relative;
  z-index: 5;
  max-width: var(--container);
  margin: 0 auto;
  padding: 170px var(--space-7) 88px;
} */
.block-homepage-bloco-roxo{
    margin-bottom: 30px;
}
.block-homepage-bloco-roxo h2{
color: var(--color-surface);
    font-family: var(--ff-base);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
    text-transform: uppercase;
}
.block-homepage-bloco-roxo p{
    color: var(--color-surface);
    font-family: var(--font-primary);
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-top: 10px;
}
.block-homepage-bloco-roxo a{
text-align: center;
font-family:var(--ff-base);
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 18px; /* 128.571% */
text-transform: uppercase;
display: inline-flex;
padding: 16px 24px;
justify-content: center;
align-items: center;
gap: 10px;
    background: var(--color-acid);
    color: var(--color-black);
    margin-top: 30px;
    margin-bottom: 20px;
}
.minAlturaBanner{
  min-height: 66vh;
}
.slidePrincipal {
    width: 100%;
}
.slidePrincipal  .slick-slide{
    max-width: 100% !important;
}

.grupo{
  max-width: 620px;
}

.especial{
  font-size: var(--fz-xs);
  text-transform: uppercase;
  letter-spacing: .16em;
  color: rgba(255,255,255,.75);
  margin-bottom: 14px;
}

.especial2{
  color: var(--color-white);
  font-size: var(--fz-hero);
  line-height: .98;
  letter-spacing: -.04em;
  max-width: 560px;
}

.grupo .btn,
.grupo a.btn,
.grupo .botao,
.grupo .button{
  margin-top: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 18px;
  border: 1px solid var(--color-acid);
  background: var(--color-acid);
  color: var(--color-black);
  font-size: var(--fz-sm);
  text-transform: uppercase;
  letter-spacing: .12em;
}

.redes{
  display: none;
}

.produtos.clicaProdutos{
  display: none;
}

/* =========================
   PRODUTOS
========================= */

.conteudo-loja-geral{    
    background: transparent;
    padding: 20px 0px;
}

.visializacoes-produtos{
  margin-bottom: 30px;
}

.blocotituloprodutos{
  width: 100% !important;
  float: none !important;
  text-align: center;
  margin-bottom: 10px;
}

.tituloProdutos-Home{
    color: var(--color-text-soft);

    /* dudentis/subtitulos & links */
    font-family: var(--ff-base);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 128.571% */
    text-transform: uppercase;
    margin-bottom: 20px;

}

.subtituloProdutos-Home{
    color: var(--color-text);
    text-align: center;

    /* dudentis/h1 & textos grandes */
    font-family: var(--font-primary);
    font-size: 36px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

/* .tituloBlocoProdutos{
  font-size: var(--fz-sm);
  text-transform: uppercase;
  color: var(--color-text-soft);
  letter-spacing: .14em;
}

.tituloBlocoProdutos::before{
  content: "Produtos mais vendidos";
  display: block;
  margin-bottom: 12px;
}

.tituloBlocoProdutos::after{
  content: "Ao seu lado na prática clínica diária.";
  display: block;
  color: var(--color-text);
  text-transform: none;
  font-size: clamp(24px, 2.3vw, 38px);
  letter-spacing: -.03em;
  margin-top: 10px;
} */

.blococonfiprodutos,
.filtros-produtos{
  display: none !important;
}

.blocoprodutos{
  width: 100% !important;
  float: none !important;
}

.grelha-noticias{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.grelha-noticias > [class*="col-"]{
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

.blProduto{
  position: relative;
  display: flex;
  flex-direction: column;
  background: transparent;
  border: 1px solid #ecece7;
  background: #f8f8f5;
  padding: 14px;
  min-height: 100%;
  transition: transform var(--transition), box-shadow var(--transition);
}

.blProduto:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0,0,0,.05);
}

.imagemProdutoCategoria{
  margin-bottom: 14px;
}

.imgProdutoLista{
  aspect-ratio: 1 / 0.74;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: #f8f8f5;
}

.sale-box{
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
}

.sale-label,
.label-stock{
  background: var(--color-black);
  color: var(--color-white);
  padding: 4px 8px;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .15em;
  display: inline-block;
}

.prod-whishlist{
  display: none;
}

.min-height-texto-produto-cat{
  display: flex;
  flex-direction: column;
  flex: 1;
}

.nomeProdutoLista{
  font-size: var(--fz-md);
  line-height: 1.3;
  color: var(--color-text);
  margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 60px;
}

.nomeProdutoLista::before{
  content: "Categorias";
  display: block;
  font-size: 9px;
  color: var(--color-text-soft);
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 8px;
}

.ref-prod{
  font-size: var(--fz-sm);
  font-weight: 400;
  color: var(--color-text-soft);
  margin-bottom: 12px;
}

.ProdutoPrecoLista,
.descProdutoLista{
  display: none;
}

.btn-prod{
  margin-top: auto;
}

.btn-prod .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  width: 36px;
  height: 36px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  padding: 0;
}

.btn-prod .btn:hover{
  background: var(--color-acid);
  border-color: var(--color-acid);
  opacity: 1;
}

.btn-prod .btn img{

    width: 16px;
    height: auto;
    filter: invert(1);

}

.blocopaginacao{
  display: none;
}

/* .blocoprodutos::after{
  content: "Ver todos os produtos";
  display: table;
  margin: 26px auto 0;
  background: var(--color-acid);
  color: var(--color-black);
  padding: 10px 16px;
  font-size: var(--fz-sm);
  text-transform: uppercase;
  letter-spacing: .14em;
} */

/* =========================
   BLOCO CATEGORIAS
========================= */

/* .conteudo-loja-geral::before{
  content: "";
  display: block;
  width: 100%;
  height: 520px;
  margin-top: 76px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.95) 0 31%, rgba(255,255,255,0) 31.2%),
    url('/assets/home-categorias.jpg') center center / cover no-repeat;
} */

/* .conteudo-loja-geral::after{
  content:
    "Sem complicações\Aou distrações.\A\A\APesquise por categoria:\AACESSÓRIOS  BROCAS  CIRURGIA  DENTISTERIA\AIMPLANTOLOGIA  ORTODONTIA  PERIODONTIA\APOLIDORES  PROFILAXIA  PROTEÇÃO\A\AVER TODOS OS PRODUTOS";
  white-space: pre-wrap;
  position: absolute;
  left: 50%;
  transform: translateX(calc(-50% - 420px));
  margin-top: -450px;
  width: 320px;
  padding: 28px 22px;
  background: rgba(255,254,250,.95);
  border: 1px solid #ecece7;
  color: var(--color-text);
  font-size: var(--fz-sm);
  line-height: 1.8;
} */

.conteudo-loja-geral{
  position: relative;
}

/* =========================
   INSTAGRAM
========================= */

.footer{
  position: relative;
  background: #56d7d8;
  color: #090808;
  margin-top: 0;
  padding-top: 210px;
}

.footer .container{
  max-width: var(--container-narrow);
}

.footer .row{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.footer [class*="col-"]{
  float: none;
}

.footer .coluna-1{ width: 34%; }
.footer .coluna-2{ width: 18%; }
.footer .coluna-3{ width: 18%; }
.footer .coluna-4{ width: 30%; }

.footer h6{
  font-size: var(--fz-sm);
  color: rgba(9,8,8,.72);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.coluna-1::before{
  content: "";
  display: block;
  width: 116px;
  height: 18px;
  margin-bottom: 18px;
  background: url('/GestorSistema/logo_1.png') left center / contain no-repeat;
  filter: none;
}

.footer p,
.footer li,
.footer a{
  font-size: var(--fz-sm);
  line-height: 1.7;
  color: rgba(9,8,8,.82);
}

.header-social-botoes{
  display: flex;
  gap: 16px;
  margin-top: 12px;
}

.header-social-botoes a{
  font-size: 15px;
}

.coluna-2 .menu ul,
.coluna-3 .menu ul{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.coluna-4 .mini{
  font-size: var(--fz-sm);
  color: rgba(9,8,8,.72);
  margin-bottom: 14px;
}

.form-footer{
  max-width: 420px;
}

.form-newsletter .titulo-formulario{
  display: none;
}

.form-newsletter form{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.cx-checkboxs{
  width: 100% !important;
  order: 3;
  margin-top: 10px;
}

.cx-checkboxs .label-principal{
  display: none;
}

.cx-checkboxs label{
  display: flex;
  align-items: center;
  gap: 8px;
}

.cx-checkboxs .label-check{
  font-size: var(--fz-xs);
  color: rgba(9,8,8,.72);
}

.form-tag-newsletter .cx-email{
  width: calc(100% - 132px) !important;
}

.form-tag-newsletter .cx-submit{
  width: 132px !important;
}

.form-newsletter input[type="email"]{
  width: 100%;
  height: 40px;
  border: 1px solid rgba(9,8,8,.18);
  background: transparent;
  color: var(--color-black);
  padding: 0 12px;
  font-family: var(--ff-base);
  font-size: var(--fz-sm);
}

.form-newsletter input[type="email"]::placeholder{
  color: rgba(9,8,8,.5);
}

.form-newsletter input[type="submit"]{
  width: 100%;
  height: 40px;
  border: 0;
  background: var(--color-acid);
  color: var(--color-black);
  font-family: var(--ff-base);
  font-size: var(--fz-sm);
  text-transform: uppercase;
  letter-spacing: .12em;
}

/* .captcha-google{
  display: none !important;
} */

.portugal2020{
  width: 100% !important;
  border-top: 1px solid rgba(9,8,8,.14);
  margin-top: 38px;
  padding-top: 18px;
}

.portugal2020 p{
  text-align: left !important;
  font-size: var(--fz-xs);
  color: rgba(9,8,8,.55);
}

/* =========================
   OVERLAY / MENU MOBILE
========================= */

.overlay,
.bloco-overlay,
.anim-menu{
  display: none;
}
.bloco-overlay{

    position: fixed;
    height: 100vh;
    width: 100%;
    top: 0px;
    left: 0px;
    background: #56d7d8d9;
    z-index: 9999;
}

.form-pesquisa{
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    /* background: rgba(9,8,8,.96); */
    /* padding: 12px; */
    /* display: none; */
    width: 440px;
    transform: translate(-50%);
}
.overlay-pesquisa h2{
    color: var(--color-black);
    font-size: var(--fz-lg);
    text-transform: uppercase;
    margin-bottom: 12px;
}
.overlay-pesquisa input[type="text"]{
    width: 100%;
    height: 40px;
    border: 0;
    background: var(--color-white);
    color: var(--color-black);
    padding: 0 12px;
    font-family: var(--ff-base);
    font-size: var(--fz-sm);
    border-radius: 0px;
}
.overlay-pesquisa input[type="submit"]{
    position: absolute;
    right: 5px;
    top: 5px;
    width: auto;
    height: 30px;
    border: 0;
    color: var(--color-acid);
    background: var(--color-black);
    font-family: var(--ff-base);
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
}   
.overlay-pesquisa .fecha{
    position: fixed;
    top: 12px;
    right: 60px;
    /* color: var(--color-white); */
    font-size: 42px;
    font-family: var(--font-primary);
}


.over-menu{
  position: fixed;
  inset: 0;
  background: rgba(9,8,8,.96);
  z-index: 999;
  padding: 110px 32px 32px;
  display: none;
}

.over-menu .fecha-menu{
  position: absolute;
  top: 24px;
  right: 24px;
  color: var(--color-white);
  font-size: 22px;
}

.over-menu .menu ul{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.over-menu .menu ul li a{
  color: var(--color-white);
  font-size: 24px;
  text-transform: uppercase;
}

.voltar-topo{
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 50;
}

#backTopo{
  width: 42px;
  height: 42px;
  border: 0;
  background: var(--color-acid);
  color: var(--color-black);
}


/* =========================================================
   FOOTER NOVO | MATCH PRINT
   ========================================================= */

.footer--novo{
  background: #56d7d8;
  color: #090808;
  padding: 108px 0 96px;
  overflow: hidden;
}

.footer--novo .footer__container{
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding-left: 108px;
  padding-right: 108px;
}

/* topo */
.footer__top{
  display: grid;
  grid-template-columns: 760px 1fr;
  column-gap: 80px;
  align-items: start;
}

.footer__brand-col{
  min-width: 0;
}

.footer__brand{
  margin-bottom: 82px;
}

.footer__logo-link{
  display: inline-block;
}

.footer__logo{
  display: block;
  width: 202px;
  max-width: 100%;
  height: auto;
  filter: none;
}

.footer__tagline{
  margin-top: 18px;
  color: rgba(9,8,8,.74);
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.footer__newsletter-title{
  margin: 0 0 22px;
  color: #090808;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.2;
}

.footer__newsletter .form-footer{
  width: 100%;
  max-width: 594px;
  margin-left: 10px;
}

/* =========================================================
   FORMULÁRIO
   ========================================================= */

.footer__newsletter .form-newsletter{
  width: 100%;
}

.footer__newsletter .form-newsletter .titulo-formulario,
.footer__newsletter #erro-form-7,
.footer__newsletter .captcha-google,
.footer__newsletter .label-principal,
.footer__newsletter .cx-checkboxs br{
  display: none !important;
}

/* neutralizar bootstrap do shortcode */
.footer__newsletter .form-newsletter .row{
  margin-left: 0;
  margin-right: 0;
}

.footer__newsletter .form-newsletter [class*="col-"]{
  float: none;
  padding-left: 0;
  padding-right: 0;
}

.footer__newsletter .form-tag-newsletter{
  display: grid;
  grid-template-columns: 1fr 142px;
  grid-template-areas:
    "email submit"
    "check check";
  column-gap: 0;
  row-gap: 18px;
  align-items: stretch;
}

.footer__newsletter .cx-email{
  grid-area: email;
  width: auto !important;
}

.footer__newsletter .cx-submit {
    grid-area: submit;
    width: auto !important;
    background: #FFFFFF;
    padding: 5px;
    margin-bottom: 0px !important;
    min-height: auto;
    height: 54px !important;
}

.footer__newsletter .cx-checkboxs{
  grid-area: check;
  width: auto !important;
  margin: 0;
}

.footer__newsletter input[type="email"].form-control{
  width: 100%;
  height: 54px;
  border: 0;
  border-radius: 0;
  background: #FFFFFF;
  color: #111;
  padding: 0 18px;
  box-shadow: none;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
}

.footer__newsletter input[type="email"].form-control::placeholder{
  color: #3f3f3f;
  opacity: 1;
}

.footer__newsletter input[type="submit"].form-control{
    width: calc(100% - 10px);
    margin-left: 5px;
    height: 44px;
    border: 0;
    border-radius: 0;
    background: var(--color-black);
    color: #fff;
    padding: 0 12px;
    box-shadow: none;
    font-family: var(--font-primary);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .03em;
    cursor: pointer;
    margin: 0px;
    margin-bottom: 0px !important;
}

.footer__newsletter input[type="submit"].form-control:hover{
  opacity: 1;
  filter: brightness(.96);
}

.footer__newsletter .cx-checkboxs label{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.footer__newsletter .cx-checkboxs input[type="checkbox"]{
  order: 1;
  width: 19px;
  height: 19px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid rgba(9,8,8,.85);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  position: relative;
  flex: 0 0 19px;
}

.footer__newsletter .cx-checkboxs input[type="checkbox"]:checked::after{
  content: "";
  position: absolute;
  left: 4px;
  top: 0px;
  width: 6px;
  height: 11px;
  border: solid #090808;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.footer__newsletter .cx-checkboxs .label-check{
  order: 2;
  color: rgba(9,8,8,.92);
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
}

.footer__newsletter .cx-checkboxs .label-check a,
.footer__newsletter .cx-checkboxs a{
  color: rgba(9,8,8,.92);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* =========================================================
   MENUS
   ========================================================= */

.footer__menus{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 20px;
  align-items: start;    justify-content: space-between;
  padding-top: 6px;
}

.footer__menu-col{
  min-width: 0;
}

.footer__menu-title{
  margin: 0 0 18px;
  color: rgba(9,8,8,.72);
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footer__menu-col .menu ul,
.footer__social-list,
.footer__extra-list{
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__menu-col .menu > ul,
.footer__social-list,
.footer__extra-list{
  display: flex;
  flex-direction: column;
  gap: 12px;
    align-items: flex-start;
}

.footer__extra-list{
  margin-top: 12px;
}

.footer__menu-col .menu ul li,
.footer__social-list li,
.footer__extra-list li{
  margin: 0;
  padding: 0;
}

.footer__menu-col .menu ul li a,
.footer__social-list li a,
.footer__extra-list li a{
    color: #333333;
    text-decoration: none;
    font-family: "Creato Display", Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.05;
    text-transform: capitalize;
}

.footer__menu-col .menu ul li a:hover,
.footer__social-list li a:hover,
.footer__extra-list li a:hover{
  opacity: .82;
}

/* esconder submenus vazios do CMS */
.footer__menu-col .menu .sub-menu{
  display: none !important;
}

/* =========================================================
   BOTTOM
   ========================================================= */

.footer__bottom{
  margin-top: 84px;
  padding-top: 84px;
  border-top: 1px solid rgba(9,8,8,.34);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.footer__copyright,
.footer__credit{
  color: rgba(9,8,8,.92);
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}

.footer__credit{
  text-align: right;
}

.footer__credit a{
  color: rgba(9,8,8,.92);
    font-size: 16px;
    text-decoration: underline;
}

.footer__credit a:hover{
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* esconder restos antigos */
.footer--novo .portugal2020,
.footer--novo .header-social-botoes,
.footer--novo .blocoSocialHeader{
  display: none !important;
}

/* =========================================================
   PRODUTOS PAGE
   ========================================================= */

.pagina-produtos{
  background: #efefed;
}


/* breadcrumb */
.produtos-breadcrumb-wrap{
  background: transparent;
  padding: 0;
}

.produtos-breadcrumb-wrap .container{
  max-width: 100%;
  padding-left: 40px;
  padding-right: 40px;
}

/* adapta os seletores ao HTML real */
.produtos-breadcrumb-wrap .breadcum-list{
  margin: 0;
  padding: 22px 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.produtos-breadcrumb-wrap .breadcum-list-item{
  margin: 0;
  padding: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
}

.produtos-breadcrumb-wrap .breadcum-list-item a,
.produtos-breadcrumb-wrap .breadcum-list-item span,
.produtos-breadcrumb-wrap .breadcum-list-item{
  font-family: "Creato Display", Arial, sans-serif;
      font-size: 13px;
    line-height: 0.2;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #787878;
  text-decoration: none;
}

/* separadores "/" gerados por CSS */
.produtos-breadcrumb-wrap .breadcum-list-item:not(:last-child)::after{
  content: "/";
  margin: 0 6px;
  color: #8a8a8a;
}

/* último item a azul */
.produtos-breadcrumb-wrap .breadcum-list-item:last-child a,
.produtos-breadcrumb-wrap .breadcum-list-item:last-child{
  color: #56d7d8;
}

/* responsivo */
@media (max-width: 640px){
  .produtos-breadcrumb-wrap .container{
    padding-left: 20px;
    padding-right: 20px;
  }

  .produtos-breadcrumb-wrap .breadcum-list{
    padding: 16px 0;
  }

  .produtos-breadcrumb-wrap .breadcum-list-item,
  .produtos-breadcrumb-wrap .breadcum-list-item a{
    font-size: 13px;
    line-height: 1.2;
  }

  .produtos-breadcrumb-wrap .breadcum-list-item:not(:last-child)::after{
    margin: 0 10px;
  }
}



/* layout */
.produtos-page{
  padding: 28px 0 96px;
}



.produtos-layout{
  display: grid;
  grid-template-columns: 236px 1fr;
  gap: 18px;
  align-items: start;
}

/* sidebar */
.produtos-sidebar__box{
  background: #f5f5f3;
  border: 1px solid #e4e4df;
  padding: 14px 14px 10px;
}

.produtos-sidebar__search{
  position: relative;
  margin-bottom: 16px;
}

.produtos-sidebar__search .form-control{
  width: 100%;
  height: 34px;
  border: 0;
  border-bottom: 1px solid #d9d9d2;
  background: transparent;
  box-shadow: none;
  padding: 0 0 0 24px;
  color: #111;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.produtos-sidebar__search-btn{
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  padding: 0;
  color: #7a7a74;
  font-size: 11px;
  margin-top: 0px;
}

.itens-cat-catetoria-produto,
.itens-cat-catetoria-produto ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.itens-cat-catetoria-produto > li{
  border-bottom: 1px solid transparent;
}

.itens-cat-catetoria-produto > li > a{
  display: block;
  position: relative;
  padding: 8px 18px 8px 0;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 12px;
  line-height: 1.25;
  text-transform: uppercase;
  color: #7d7d78;
  text-decoration: none;
}

.itens-cat-catetoria-produto > li.tem-sub > a::after,
.itens-cat-catetoria-produto .subs-cat > li.tem-sub > a::after{
  content: "⌄";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-52%);
  font-size: 12px;
  color: #9a9a96;
}

.itens-cat-catetoria-produto > li > a.item-ativo-cat,
.itens-cat-catetoria-produto .subs-cat li > a.item-ativo-cat{
  color: #56d7d8;
}

.itens-cat-catetoria-produto .subs-cat{
  margin: 2px 0 6px 0;
  padding-left: 12px;
}

.itens-cat-catetoria-produto .subs-cat li a{
  display: block;
  padding: 5px 14px 5px 0;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 11px;
  line-height: 1.25;
  color: #1b1b1b;
  text-decoration: none;
}

.itens-cat-catetoria-produto .tem-sub-anima,
.itens-cat-catetoria-produto .-anima{
  display: none;
}

/* esconder controls antigos */
.visializacoes-produtos,
.blocotituloprodutos,
.blococonfiprodutos,
.tituloFiltrosProdutos,
.abreFechaFiltros{
  display: none !important;
}

/* grid produtos */
.produtos-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 18px;
}

.produtos-grid > [class*="col-"]{
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

.produtos-grid .blProduto{
  position: relative;
  background: transparent;
  border: 0;
  padding: 0;
  min-height: 100%;
}

.produtos-grid .sale-box{
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 5;
}

.produtos-grid .sale-label,
.produtos-grid .label-stock,
.produto-badge-stock{
  background: #111;
  color: #fff;
  display: inline-block;
  padding: 5px 8px 4px;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 9px;
  line-height: 1;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.produtos-grid .prod-whishlist{
  display: none;
}

.produtos-grid .imagemProdutoCategoria{
  margin-bottom: 8px;
  background: #f5f5f3;
  border: 1px solid #e4e4df;
}

.produtos-grid .imgProdutoLista{
  aspect-ratio: 1 / 1;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-color: #f5f5f3;
}

.produtos-grid .min-height-texto-produto-cat{
  min-height: auto;
}

.produtos-grid .nomeProdutoLista{
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.25;
  color: #111;
  margin-bottom: 2px;
}

.produtos-grid .nomeProdutoLista::before{
  content: "CATEGORIAS";
  display: block;
  margin-bottom: 4px;
  color: #a0a09b;
  font-size: 9px;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.produtos-grid .ref-prod{
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #111;
  margin: 0;
}

.produtos-grid .ProdutoPrecoLista,
.produtos-grid .descProdutoLista,
.produtos-grid .btn-prod{
  display: none;
}

/* paginação */
.produtos-paginacao{
  margin-top: 34px;
}

.produtos-paginacao .pagination{
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.produtos-paginacao .pagination li a{
  min-width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7d7d2;
  background: #fff;
  color: #111;
  text-decoration: none;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 12px;
}

.produtos-paginacao .pagination li.active a,
.produtos-paginacao .pagination li a:hover{
  background: #56d7d8;
  border-color: #56d7d8;
  color: #111;
  opacity: 1;
}

.produtos-vazio{
  grid-column: 1 / -1;
  padding: 24px 0;
}

.produtos-breadcrumb{
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: center;
}

.produtos-breadcrumb a,
.produtos-breadcrumb span{
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.2;
  text-transform: uppercase;
}

.produtos-breadcrumb a{
  color: #787878;
  text-decoration: none;
}

.produtos-breadcrumb .separator{
  margin: 0 16px;
  color: #8a8a8a;
}

.produtos-breadcrumb .active{
  color: #56d7d8;
}

.itens-cat-catetoria-produto > li.tem-sub > a::after,
.itens-cat-catetoria-produto .subs-cat > li.tem-sub > a::after{
  content: "⌄";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-52%);
  font-size: 12px;
  color: #9a9a96;
  transition: transform .22s ease;
}

.itens-cat-catetoria-produto > li.tem-sub.is-open > a::after,
.itens-cat-catetoria-produto .subs-cat > li.tem-sub.is-open > a::after{
  transform: translateY(-52%) rotate(180deg);
}

.itens-cat-catetoria-produto .subs-cat{
  display: none;
}

/* responsivo */
@media (max-width: 1200px){
  .produtos-breadcrumb-wrap .container,
  .produtos-page .container{
    padding-left: 40px;
    padding-right: 40px;
  }

  .produtos-layout{
    grid-template-columns: 220px 1fr;
  }
}

@media (max-width: 991px){
  .produtos-layout{
    grid-template-columns: 1fr;
  }

  .produtos-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .produtos-breadcrumb-wrap{
    padding: 16px 0 18px;
  }

  .produtos-breadcrumb-wrap .container,
  .produtos-page .container{
    padding-left: 20px;
    padding-right: 20px;
  }

  .produtos-breadcrumb-wrap a,
  .produtos-breadcrumb-wrap span,
  .produtos-breadcrumb-wrap li{
    font-size: 13px;
  }

  .produtos-grid{
    grid-template-columns: 1fr;
  }
}


.menu--principal ul li {
	position: relative;
}

.menu--principal .submenu--produtos {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 99;
	min-width: 220px;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0,0,0,.08);
	background: rgba(9, 8, 8, 0.96);
	border: 1px solid rgba(255, 255, 255, 0.08);
	z-index: 100;
}

.menu--principal li:hover > .submenu--produtos {
	display: block;
}

.menu--principal .submenu--produtos li a {
	display: block;
	padding: 8px 16px;
	white-space: nowrap;
}

.menu--principal ul li.has-submenu {
	position: relative;
}

.menu--principal ul li.has-submenu > a {
	position: relative;
	padding-right: 18px;
}

.menu--principal ul li.has-submenu > a::after {
	content: ">";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(90deg) !important;
	font-size: 12px;
	line-height: 1;
}
.menu--principal ul li.has-submenu a{
  color: #fff;;
}

.site-header--bloco .menu--principal ul li.has-submenu > a{
  color: var(--color-black);
}










/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 1400px){
  .footer--novo .footer__container{
    padding-left: 56px;
    padding-right: 56px;
  }

  .footer__top{
    grid-template-columns: 620px 1fr;
    column-gap: 90px;
  }

  .footer__menus{
    column-gap: 72px;
  }
}

@media (max-width: 1100px){
  .footer__top{
    grid-template-columns: 1fr;
    row-gap: 72px;
  }

  .footer__brand{
    margin-bottom: 54px;
  }

  .footer__menus{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 40px;
  }

  .footer__bottom{
    margin-top: 64px;
    padding-top: 42px;
  }
}

@media (max-width: 767px){
  .footer--novo{
    padding: 64px 0 56px;
  }

  .footer--novo .footer__container{
    padding-left: 22px;
    padding-right: 22px;
  }

  .footer__logo{
    width: 164px;
  }

  .footer__tagline{
    font-size: 12px;
  }

  .footer__newsletter .form-tag-newsletter{
    /* grid-template-columns: 1fr;
    grid-template-areas:
      "email"
      "submit"
      "check";
    row-gap: 10px; */
    /* display: flex !important; */
    /* flex-direction: column; */
  }
  .footer__newsletter .cx-submit{
    margin-top: 0px;
        padding-bottom: 55px;
  }
  .footer__newsletter input[type="email"].form-control{
        height: 60px;
  }

  .footer__newsletter input[type="email"].form-control,
  .footer__newsletter input[type="submit"].form-control{
    /* height: 56px;
    font-size: 15px; */
  }
  .form-tag-newsletter .cx-email {
    margin-bottom: -20px;
    }

  .footer__menus{
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .footer__menu-col .menu ul li a,
  .footer__social-list li a,
  .footer__extra-list li a{
    font-size: 16px;
  }

  .footer__bottom{
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .footer__credit{
    text-align: left;
  }

  .footer__copyright,
  .footer__credit{
    font-size: 14px;
  }
}


/* =========================
   HELPERS / CLEANUP
========================= */

.ct-topbar,
#google_translate_element,
.goog-te-banner-frame,
.goog-te-gadget,
.skiptranslate{
  display: none !important;
}

/* =========================
   RESPONSIVO
========================= */

@media (max-width: 1280px){
  .header-main__inner{
    grid-template-columns: 180px 1fr 280px;
  }

  .menu--principal > ul,
  .menu--util > ul{
    gap: 24px;
  }

  .grelha-noticias{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .footer .coluna-1,
  .footer .coluna-4{
    width: 50%;
  }

  .footer .coluna-2,
  .footer .coluna-3{
    width: 25%;
  }
}



/* =========================================================
   SECÇÃO CATEGORIAS
   ========================================================= */

.sec-categorias-home{
  background-color: #ececeb;
  padding: 0;
}


  .sec-categorias-home{
    background-image: url('../img/banner01.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

.sec-categorias-home__inner{
  display: grid;
  grid-template-columns: 356px 1fr;
  align-items: stretch;
  min-height: 860px;
}

.sec-categorias-home__card{
  background: rgba(255,255,255,.58);
  max-width: 356px;
  width: 100%;
  margin: 68px 0 68px 0;
  padding: 30px 30px 30px 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.sec-categorias-home__topline{
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #1b1b1b 0 32%, rgba(0,0,0,.15) 32% 100%);
  margin-bottom: 22px;
}

.sec-categorias-home__title{
  
    margin: 0;
    color: var(--home-text);
    font-family: var(--home-font-base);
    font-size: clamp(20px, 1.5vw, 54px);
    line-height: 1.08;
    letter-spacing: -0.045em;
    font-weight: 400;
}

.sec-categorias-home__spacer{
  flex: 1;
  min-height: 170px;
}

.sec-categorias-home__label{
  margin-bottom: 16px;
  color: var(--home-text-soft);
  font-family: var(--home-font-base);
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sec-categorias-home__lista{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sec-categorias-home__lista li{
  margin: 0;
  padding: 0;
}

.sec-categorias-home__lista a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--color-black);
  background: transparent;
  color: var(--home-text);
  text-decoration: none;
  font-family: var(--home-font-base);
  font-size: 12px;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: all .22s ease;
}

.sec-categorias-home__lista a:hover{
  background: var(--home-text);
  color: var(--home-white);
  opacity: 1;
}

.sec-categorias-home__cta{
  margin-top: 28px;
}

.sec-categorias-home__cta a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 194px;
  min-height: 44px;
  padding: 0 18px;
    background: var(--color-acid);
    border: 1px solid var(--color-acid);
  color: var(--home-text);
  text-decoration: none;
  font-family: var(--home-font-base);
  font-size: 13px;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: all .22s ease;
}

.sec-categorias-home__cta a:hover{
  background: transparent;
  color: var(--home-text);
  border-color: var(--home-text);
  opacity: 1;
}

.sec-categorias-home__media{
  position: relative;
  min-height: 860px;
  overflow: hidden;
}

.sec-categorias-home__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* =========================================================
   SECÇÃO INSTAGRAM
   ========================================================= */

.sec-instagram-home{
  background: #ececeb;
  padding: 72px 0 100px;
}

.sec-instagram-home__header{
  margin-bottom: 34px;
}

.sec-instagram-home__title{
  margin: 0 0 10px;
  color: var(--home-text);
  font-family: var(--home-font-base);
  font-size: clamp(28px, 2.4vw, 46px);
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 400;
}

.sec-instagram-home__handle{
  color: #56d7d8;
  text-decoration: none;
  font-family: var(--home-font-base);
  font-size: 14px;
  line-height: 1.2;
}

.sec-instagram-home__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.sec-instagram-home__item{
  display: block;
  position: relative;
  overflow: hidden;
  background: #ddddda;
  aspect-ratio: 1 / 1.12;
}

.sec-instagram-home__item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform .35s ease;
}

.sec-instagram-home__item:hover img{
  transform: scale(1.03);
}

/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 1200px){
  .container{
    padding-left: 40px;
    padding-right: 40px;
  }

  .sec-categorias-home__inner{
    grid-template-columns: 320px 1fr;
    min-height: 720px;
  }

  .sec-categorias-home__card{
    max-width: 320px;
    margin: 40px 0;
  }

  .sec-categorias-home__media{
    min-height: 720px;
  }
}

@media (max-width: 991px){
  .sec-categorias-home__inner{
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .sec-categorias-home__card{
    max-width: 100%;
    margin: 32px 0 0;
  }

  .sec-categorias-home__spacer{
    min-height: 80px;
  }

  .sec-categorias-home__media{
    min-height: 420px;
  }

  .sec-instagram-home{
    padding: 56px 0 72px;
  }

  .sec-instagram-home__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .container{
    padding-left: 20px;
    padding-right: 20px;
  }

  .sec-categorias-home__card{
    padding: 22px;
  }

  .sec-categorias-home__title{
    font-size: 34px;
  }

  .sec-categorias-home__lista{
    gap: 6px;
  }

  .sec-categorias-home__lista a{
    min-height: 32px;
    padding: 0 10px;
    font-size: 11px;
  }

  .sec-categorias-home__cta a{
    min-width: 100%;
  }

  .sec-categorias-home__media{
    min-height: 320px;
  }

    .sec-instagram-home__grid {
        grid-template-columns: 1fr 1fr;
    }

  .sec-instagram-home__item{
    aspect-ratio: 1 / 1;
  }
}

/* =========================================================
   PRODUTOS PAGE
   ========================================================= */

   body.produtos-inner{
			font-family:'Geist Mono', monospace;
			background:var(--dudentis-white);
			color:var(--dudentis-black);
		}

		.produto-detail-page{
			padding: 36px 0 80px;
		}

		.produto-detail-wrap{
			display:grid;
			grid-template-columns: 1.05fr 1fr;
			gap:40px;
			align-items:start;
		}

		.produto-gallery-main{
			position:relative;
			background:#fff;
			border:1px solid var(--dudentis-border);
			padding:28px;
			min-height: 620px;
			display:flex;
			align-items:center;
			justify-content:center;
		}

		.produto-gallery-main .bl-img-gal{
			background-size:contain !important;
			background-position:center !important;
			background-repeat:no-repeat !important;
			width:100%;
			height:460px;
		}

		.produto-gallery-main .bl-img-gal img{
			width:100%;
			height:100%;
			object-fit:contain;
			opacity:0;
		}

		.produto-gallery-nav{
			margin-top:14px;
		}

		.produto-gallery-nav .thumb-produ{
			border:1px solid var(--dudentis-border);
			background:#fff;
			padding:10px;
			margin:0 6px;
			height:100px;
			display:flex !important;
			align-items:center;
			justify-content:center;
			cursor:pointer;
		}

		.produto-gallery-nav .thumb-produ img{
			max-width:100%;
			max-height:76px;
			object-fit:contain;
		}
        .produto-gallery-col{
            position: relative;
        }

		.produto-badge-stock{    
            display: inline-block;
            background: var(--color-black);
            color: var(--color-white);
            font-size: 11px;
            line-height: 1;
            letter-spacing: .08em;
            text-transform: uppercase;
            padding: 8px 12px;
            margin-bottom: 18px;
            position: absolute;
            z-index: 1;
            right: 10px;
            top: 10px;
		}

		.produto-summary h1{
			font-size: 30px;
			line-height:1.2;
			font-weight:500;
			margin:0 0 8px;
			color: var(--color-black);
			font-family: var(--font-primary);
		}

        .desc-prod-wrap-final{    display: flex;
    flex-direction: row;
    gap: 12px;
    justify-content: space-between;
    align-content: center;
    align-items: center;
        }

		.produto-ref{
			font-size:13px;
			color: var(--color-text-soft);
			margin:0 0 24px;
		}

		.produto-price{
			
    font-size: 24px;
    line-height: 1;
    margin: 0 0 0px;
    color: var(--font-primary);
    font-family: var(--font-secondary);
		}

		.produto-price-old{
			font-size:16px;
			color:#777;
			text-decoration:line-through;
			margin:0 0 6px;
		}

		.produto-buy-row{
			display:flex;
			gap:10px;
			align-items:stretch;
			margin:0 0 32px;
		}

		.produto-buy-row .quantidade-carrinho{
			width:110px;
			height:44px;
			border:1px solid var(--dudentis-border);
			border-radius:0;
			box-shadow:none;
			font-size:14px;
			padding:10px 12px;
		}

		.produto-buy-row .btn-add-cart,
		.produto-buy-row .btn-contact-stock{
			height:44px;
			border:0;
			border-radius:0;
			background:var(--color-acid);
			color:var(--color-black);
			font-size:12px;
			text-transform:uppercase;
			letter-spacing:.05em;
			padding:0 22px;
			display:inline-flex;
			align-items:center;
			justify-content:center;
			transition:.2s ease;
			text-decoration:none;
            margin-top: 0px;
		}

		.produto-buy-row .btn-add-cart:hover,
		.produto-buy-row .btn-contact-stock:hover{
			background:var(--color-black);
			color:#fff;
		}

		.produto-section{
			padding-top:22px;
			margin-top:22px;
			border-top:1px solid var(--dudentis-border);
		}

		.produto-section h2{    font-size: 20px;
    margin: 0 0 18px;
    font-weight: 500;
    color: var(--color-text);
    font-family: var(--font-primary);
    border-bottom: 1px solid var(--color-black);
    padding-bottom: 9px;
		}

		.produto-description,
		.produto-description p,
		.produto-description li{
			font-size:14px;
			line-height:1.8;
			color: var(--color-text);
			font-family: var(--font-primary);
		}

		.produto-specs{
			display:flex;
			flex-direction:column;
			gap:10px;
		}

		.produto-spec-line{
			display:grid;
			grid-template-columns:140px 1fr;
			gap:20px;
			font-size:14px;
			line-height:1.6;
		}

		.produto-spec-line span:first-child{
			color: var(--color-text);
			font-family: var(--font-primary);
		}

		.produto-spec-line span:last-child{
			color: var(--color-text);
			font-family: var(--font-primary);
		}

		.produto-opcoes-wrap{
			margin-top:24px;
			padding-top:24px;
			border-top:1px solid var(--dudentis-border);
		}

		.selecionaCor{
			font-size:12px;
			text-transform:uppercase;
			margin-bottom:12px;
		}

		.cor{
			width:22px;
			height:22px;
			border-radius:50%;
			display:inline-block;
			margin-right:8px;
			border:1px solid #ccc;
			cursor:pointer;
		}

		.selector-produto-seta{
			margin-bottom:15px;
		}

		.selecionaTitulo{
			font-size:12px;
			margin-bottom:8px;
		}

		.selector-produto{
			border:1px solid var(--dudentis-border);
			border-radius:0;
			height:42px;
			box-shadow:none;
		}

		.produto-related{
			padding: 10px 0 80px;
		}

		.produto-related h2{
			font-size:14px;
			text-transform:uppercase;
			letter-spacing:.08em;
			margin:0 0 24px;
			color:var(--dudentis-black);
		}

		.produto-related-grid{
			display:grid;
			grid-template-columns:repeat(4, 1fr);
			gap:18px;
		}

		.produto-card-custom{
			position:relative;
		}

		.produto-card-custom .produto-card-image{
			background:#fff;
			border:1px solid var(--dudentis-border);
			height:220px;
			display:flex;
			align-items:center;
			justify-content:center;
			padding:18px;
			margin-bottom:10px;
			overflow:hidden;
		}

		.produto-card-custom .produto-card-image img{
			max-width:100%;
			max-height:180px;
			object-fit:contain;
		}

		.produto-card-custom .produto-card-stock{
			position:absolute;
			top:8px;
			left:8px;
			background:var(--dudentis-black);
			color:#fff;
			font-size:10px;
			padding:6px 8px;
			text-transform:uppercase;
			letter-spacing:.08em;
		}

		.produto-card-custom .produto-card-cat{
			font-size:10px;
			text-transform:uppercase;
			color:#8b8b8b;
			margin-bottom:4px;
		}

		.produto-card-custom .produto-card-title{
			font-size:14px;
			line-height:1.4;
			color:var(--dudentis-black);
			margin:0 0 4px;
		}

		.produto-card-custom .produto-card-ref{
			font-size:12px;
			color:var(--dudentis-muted);
			margin:0;
		}

		.produto-card-custom a{
			text-decoration:none;
			color:inherit;
			display:block;
		}

		.sharethis-inline-share-buttons{
			margin-top:30px;
		}

		@media (max-width: 991px){
			.produto-detail-wrap{
				grid-template-columns:1fr;
				gap:28px;
			}

			.produto-related-grid{
				grid-template-columns:repeat(2, 1fr);
			}
		}

		@media (max-width: 767px){
			.produto-detail-page{
				padding:24px 0 56px;
			}

			.produto-gallery-main{
				min-height:auto;
				padding:18px;
			}

			.produto-gallery-main .bl-img-gal{
				height:320px;
			}

			.produto-summary h1{
				font-size:24px;
			}

			.produto-price{
				font-size:24px;
			}

			.produto-buy-row{
				flex-direction:column;
			}

			.produto-buy-row .quantidade-carrinho,
			.produto-buy-row .btn-add-cart,
			.produto-buy-row .btn-contact-stock{
				width:100%;
			}

			.produto-spec-line{
				grid-template-columns:1fr;
				gap:4px;
			}

			.produto-related-grid{
				grid-template-columns:1fr;
			}
		}



/* =========================================================
   PRODUTOS PAGE
   ========================================================= */

   .page-static-inner{
  padding-top: var(--space-9);
  padding-bottom: var(--space-9);
  background: var(--color-bg);
  color: var(--color-text);
}

.page-static-inner .container{
  max-width: var(--container-narrow);
}

.page-static-inner h1,
.page-static-inner h2,
.page-static-inner h3,
.page-static-inner h4,
.page-static-inner h5,
.page-static-inner h6{
  margin: 0 0 var(--space-4);
  color: var(--color-text);
  font-family: var(--font-primary);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.page-static-inner h1{
  font-size: var(--fz-hero);
  margin-bottom: var(--space-6);
}

.page-static-inner h2{
  font-size: clamp(26px, 2.2vw, 40px);
  margin-top: var(--space-8);
}

.page-static-inner h3{
  font-size: clamp(22px, 1.8vw, 32px);
  margin-top: var(--space-7);
}

.page-static-inner h4{
  font-size: clamp(18px, 1.4vw, 24px);
  margin-top: var(--space-6);
}

.page-static-inner h5{
  font-size: var(--fz-lg);
  margin-top: var(--space-5);
}

.page-static-inner h6{
  font-size: var(--fz-base);
  margin-top: var(--space-5);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.page-static-inner p,
.page-static-inner span,
.page-static-inner li,
.page-static-inner td,
.page-static-inner th{
  font-family: var(--ff-base);
  font-size: var(--fz-base);
  line-height: 1.8;
  color: var(--color-text-soft);
}

.page-static-inner p{
  margin: 0 0 var(--space-4);
}

.page-static-inner p:last-child{
  margin-bottom: 0;
}

.page-static-inner span{
  color: inherit;
}

.page-static-inner strong,
.page-static-inner b{
  color: var(--color-text);
  font-weight: 600;
}

.page-static-inner em,
.page-static-inner i{
  font-style: italic;
}

.page-static-inner a{
  color: var(--color-text);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: var(--transition);
}

.page-static-inner a:hover{
  color: var(--color-text-soft);
}

.page-static-inner ul,
.page-static-inner ol{
  margin: 0 0 var(--space-5);
  padding-left: 22px;
}

.page-static-inner ul li,
.page-static-inner ol li{
  margin-bottom: var(--space-2);
}

.page-static-inner ul li::marker,
.page-static-inner ol li::marker{
  color: var(--color-text);
}

.page-static-inner table{
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-6) 0;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
}

.page-static-inner table th,
.page-static-inner table td{
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
}

.page-static-inner table th{
  font-family: var(--font-primary);
  font-size: var(--fz-sm);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text);
  background: var(--color-surface-2);
}

.page-static-inner table td{
  background: var(--color-surface);
}

.page-static-inner table tr:last-child td{
  border-bottom: 0;
}

.page-static-inner img{
  max-width: 100%;
  height: auto;
  display: block;
}

.page-static-inner hr{
  border: 0;
  border-top: 1px solid var(--color-border);
  margin: var(--space-7) 0;
}

@media (max-width: 991px){
  .page-static-inner{
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
  }

  .page-static-inner h1{
    margin-bottom: var(--space-5);
  }

  .page-static-inner h2{
    margin-top: var(--space-7);
  }

  .page-static-inner h3{
    margin-top: var(--space-6);
  }
}

@media (max-width: 767px){
  .page-static-inner{
    padding-top: var(--space-7);
    padding-bottom: var(--space-7);
  }

  .page-static-inner p,
  .page-static-inner span,
  .page-static-inner li,
  .page-static-inner td,
  .page-static-inner th{
    font-size: var(--fz-md);
    line-height: 1.7;
  }

  .page-static-inner table{
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* =========================================================
   PÁGINA PARCEIROS
   ========================================================= */

body.pagina-parceiros,
body.guias-page{
  background: var(--color-bg);
}

body.pagina-parceiros .header-topbar__inner,
body.pagina-parceiros .header-main__container,
body.guias-page .header-topbar__inner,
body.guias-page .header-main__container{
  max-width: 1720px;
  padding-left: 0;
  padding-right: 0;
}

.pagina-parceiros__section{
  background: var(--color-bg);
  padding: 34px 0 150px;
  color: var(--color-text);
}

.pagina-parceiros__container{
  max-width: 1720px;
  padding-left: 0;
  padding-right: 0;
}

.pagina-parceiros__layout{
  display: grid;
  grid-template-columns: minmax(0, 705px) minmax(420px, 705px);
  justify-content: space-between;
  align-items: start;
  gap: 80px;
}

.pagina-parceiros__breadcrumb{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 54px;
  font-family: var(--ff-base);
  font-size: 13px;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--color-text-soft);
}

.pagina-parceiros__breadcrumb a{
  color: var(--color-text-soft);
  text-decoration: none;
}

.pagina-parceiros__breadcrumb span:last-child{
  color: var(--color-acid);
}

.pagina-parceiros__title{
  max-width: 650px;
  margin: 0 0 24px;
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: clamp(34px, 2.1vw, 42px);
  font-weight: 500;
  line-height: 1.17;
  letter-spacing: 0;
}

.pagina-parceiros__copy{
  max-width: 705px;
}

.pagina-parceiros__copy > p{
  max-width: 650px;
  margin: 0 0 24px;
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0;
}

.pagina-parceiros__copy h2,
.pagina-parceiros__copy h3,
.pagina-parceiros__copy .titulo-formulario{
  margin: 80px 0 34px;
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
}

.pagina-parceiros__copy .formulario{
  margin: 0;
}

.pagina-parceiros__copy form[class*="form-tag-"]{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-left: -12px;
  margin-right: -12px;
}

.pagina-parceiros__copy form[class*="form-tag-"] > [class*="item-form-"],
.pagina-parceiros__copy .captcha-google{
  float: none;
  padding-left: 12px;
  padding-right: 12px;
  margin-bottom: 24px;
}

.pagina-parceiros__copy form[class*="form-tag-"] > [class*="col-md-6"]{
  width: 50%;
  flex: 0 0 50%;
}

.pagina-parceiros__copy form[class*="form-tag-"] > [class*="col-md-12"],
.pagina-parceiros__copy .captcha-google{
  width: 100%;
  flex: 0 0 100%;
}

.pagina-parceiros__copy .label-principal{
  margin: 0 0 10px;
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
}

.pagina-parceiros__copy .form-control{
  width: 100%;
  min-height: 58px;
  margin-bottom: 0;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  color: var(--color-text);
  padding: 0 16px;
  font-family: var(--font-primary);
  font-size: 16px;
  line-height: 1.35;
  box-shadow: none;
}

.pagina-parceiros__copy textarea.form-control{
  min-height: 118px;
  padding-top: 18px;
  resize: vertical;
}

.pagina-parceiros__copy .form-control::placeholder{
  color: var(--color-text-soft);
  opacity: 1;
}

.pagina-parceiros__copy .cx-checkboxs{
  width: calc(100% - 210px) !important;
  flex: 0 0 calc(100% - 210px) !important;
  margin: 0;
  padding-top: 5px;
}

.pagina-parceiros__copy .cx-checkboxs > .label-principal,
.pagina-parceiros__copy .cx-checkboxs > br{
  display: none !important;
}

.pagina-parceiros__copy .cx-checkboxs label{
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: var(--font-primary);
  font-size: 16px;
  line-height: 1.35;
  color: var(--color-text);
}

.pagina-parceiros__copy .cx-checkboxs input[type="checkbox"]{
  order: -1;
  width: 16px;
  height: 16px;
  min-height: 16px;
  flex-basis: 16px;
  border: 1px solid var(--color-black);
}

.pagina-parceiros__copy .cx-submit{
  width: 210px !important;
  flex: 0 0 210px !important;
  display: flex;
  justify-content: flex-end;
  margin: 0 0 24px;
}

.pagina-parceiros__copy .cx-submit .form-control{
  width: 174px;
  min-height: 50px;
  border: 0;
  background: var(--color-acid);
  color: var(--color-black);
  padding: 0 18px;
  font-family: var(--ff-base);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pagina-parceiros__copy .cx-submit .form-control:hover{
  background: var(--color-black);
  color: var(--color-white);
}

.pagina-parceiros__copy .captcha-google{
  margin-top: 4px;
}

.pagina-parceiros__media img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}

.pagina-parceiros__media-lines{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 18px;
}

.pagina-parceiros__media-lines span{
  display: block;
  height: 2px;
  background: var(--color-border);
}

.pagina-parceiros__media-lines .is-active{
  background: var(--color-black);
}

@media (max-width: 1800px){
  body.pagina-parceiros .header-topbar__inner,
  body.pagina-parceiros .header-main__container,
  body.guias-page .header-topbar__inner,
  body.guias-page .header-main__container,
  .pagina-parceiros__container{
    max-width: none;
    padding-left: 52px;
    padding-right: 52px;
  }
}

@media (max-width: 1199px){
  .pagina-parceiros__section{
    padding-top: 34px;
    padding-bottom: 110px;
  }

  .pagina-parceiros__layout{
    grid-template-columns: 1fr;
    gap: 54px;
  }

  .pagina-parceiros__media{
    max-width: 705px;
  }
}

@media (max-width: 767px){
  body.pagina-parceiros .header-topbar__inner,
  body.pagina-parceiros .header-main__container,
  body.guias-page .header-topbar__inner,
  body.guias-page .header-main__container,
  .pagina-parceiros__container{
    padding-left: 22px;
    padding-right: 22px;
  }

  .pagina-parceiros__section{
    padding-top: 34px;
    padding-bottom: 78px;
  }

  .pagina-parceiros__breadcrumb{
    margin-bottom: 34px;
  }

  .pagina-parceiros__title{
    font-size: 32px;
  }

  .pagina-parceiros__copy > p{
    font-size: 18px;
    line-height: 1.35;
  }

  .pagina-parceiros__copy h2,
  .pagina-parceiros__copy h3,
  .pagina-parceiros__copy .titulo-formulario{
    margin-top: 54px;
    font-size: 24px;
  }

  .pagina-parceiros__copy form[class*="form-tag-"] > [class*="col-md-6"],
  .pagina-parceiros__copy form[class*="form-tag-"] > [class*="col-md-12"],
  .pagina-parceiros__copy .cx-checkboxs,
  .pagina-parceiros__copy .cx-submit,
  .pagina-parceiros__copy .captcha-google{
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  .pagina-parceiros__copy .cx-submit{
    justify-content: flex-start;
  }

  .pagina-parceiros__copy .cx-submit .form-control{
    width: 100%;
  }

  .pagina-parceiros__media-lines{
    gap: 12px;
  }
}

/* =========================================================
   PÁGINA GUIAS
   ========================================================= */

.guias-page__section{
  background: var(--color-bg);
  padding: 34px 0 150px;
  color: var(--color-text);
}

.guias-page__container{
  max-width: 1720px;
  padding-left: 0;
  padding-right: 0;
}

.guias-page__breadcrumb{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 52px;
  font-family: var(--ff-base);
  font-size: 13px;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--color-text-soft);
}

.guias-page__breadcrumb a{
  color: var(--color-text-soft);
  text-decoration: none;
}

.guias-page__breadcrumb span:last-child{
  color: var(--color-acid);
}

.guias-page__title{
  margin: 0 0 24px;
  color: var(--color-black);
  font-family: var(--font-primary);
  font-size: clamp(32px, 2.1vw, 42px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0;
}

.guias-page__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 36px;
}

.guias-page__card{
  min-width: 0;
}

.guias-page__card-link{
  display: block;
  color: var(--color-black);
  text-decoration: none;
}

.guias-page__card-link:hover,
.guias-page__card-link:focus{
  color: var(--color-black);
  text-decoration: none;
}

.guias-page__thumb{
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e6e6e6;
}

.guias-page__thumb img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.guias-page__play{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 102px;
  height: 72px;
  border-radius: 20px;
  background: #fa1712;
  transform: translate(-50%, -50%);
}

.guias-page__play::before{
  content: "";
  position: absolute;
  left: 41px;
  top: 24px;
  width: 0;
  height: 0;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 20px solid var(--color-white);
}

.guias-page__card-title{
  margin: 18px 0 0;
  color: var(--color-black);
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
}

.guias-page__empty{
  margin: 0;
  color: var(--color-black);
  font-family: var(--font-primary);
  font-size: 16px;
  line-height: 1.5;
}

.guias-page__pagination{
  margin-top: 58px;
}

.guias-page__pagination .col-md-12{
  float: none;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 1800px){
  .guias-page__container{
    max-width: none;
    padding-left: 52px;
    padding-right: 52px;
  }
}

@media (max-width: 991px){
  .guias-page__grid{
    grid-template-columns: 1fr;
    row-gap: 34px;
  }
}

@media (max-width: 767px){
  .guias-page__section{
    padding-top: 34px;
    padding-bottom: 78px;
  }

  .guias-page__container{
    padding-left: 22px;
    padding-right: 22px;
  }

  .guias-page__breadcrumb{
    margin-bottom: 34px;
  }

  .guias-page__title{
    font-size: 32px;
    margin-bottom: 22px;
  }

  .guias-page__play{
    width: 76px;
    height: 54px;
    border-radius: 15px;
  }

  .guias-page__play::before{
    left: 31px;
    top: 18px;
    border-top-width: 9px;
    border-bottom-width: 9px;
    border-left-width: 15px;
  }
}

.catalogos .site-header--transparente,
.noticias-page .site-header--transparente,
.cms-contactos .site-header--transparente,
.pagina-parceiros .site-header--transparente,
.guias-page .site-header--transparente,
.parceiros .site-header--transparente{
    position: relative;
}
.catalogos .site-header--transparente .header-main,
.noticias-page .site-header--transparente .header-main,
.cms-contactos .site-header--transparente .header-main,
.pagina-parceiros .site-header--transparente .header-main,
.guias-page .site-header--transparente .header-main,
.parceiros .site-header--transparente .header-main{
    filter: invert(1);
}

.conteudo-catalogos h2{

    color: var(--color-black);
    font-family: var(--font-primary);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 40px;
}
.conteudo-catalogos img{
    
    aspect-ratio: 2 / 3.2;
    object-fit: cover;
    object-position: center;
}

.linha-catalogos,
.conteudo-cms-contactos {
}

.produtos-page .container,
.produto-detail-page .container,
.produto-related .container,
.page-catalogos .container,
.page-noticias .container,
.conteudo-cms-contactos .container-fluid,
.sobre-nos .container{
  max-width: 1720px;
  width: 100%;
  padding-left: 68px;
  padding-right: 68px;
}
.linha-noticias {
  margin-bottom: 60px;
}

.card-news{
  margin-bottom: 20px;
}

.card-news a:hover{
  text-decoration: none;
}

.card-news img{
  margin-bottom: 20px;
    width: 100%;
    height: 290px;
    object-fit: cover;
    object-position: center;
}
.card-news h2{
  color: var(--color-black);
  font-family: var(--font-primary);
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-news p{
  color: var(--color-black);
  font-family: var(--font-primary);
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: normal;
  margin-bottom: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-news h3{
color: var(--color-overlay);
    text-align: left;
    font-family: var(--ff-base);
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 18px; /* 128.571% */
text-transform: uppercase;
}

.outras-noticias{
  margin-bottom: 60px;
}


/* =========================================================
   CONTACTOS | layout novo em FLEX
   ignora header/footer
   usa as variáveis :root já existentes
========================================================= */

body.cms-contactos,
body.page-contactos{
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--ff-base);
}

.conteudo-cms-contactos{
  background: var(--color-bg);
}

.conteudo-cms-contactos > .container-fluid{
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--space-5);
  padding-right: var(--space-5);
}

.conteudo-cms-contactos .-inner{
  width: 100%;
}

.page-contactos{
  padding-bottom: 0;
  background: var(--color-bg);
}

/* título */
.page-contactos > h1{
  margin: 0 0 var(--space-8);
  font-family: var(--font-primary);
  font-size: var(--fz-hero);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--color-text);
}

/* reset bootstrap antigo dentro desta página */
.page-contactos .row{
  margin-left: 0;
  margin-right: 0;
}

.page-contactos [class*="col-md-"],
.page-contactos [class*="col-sm-"],
.page-contactos [class*="col-xs-"]{
  padding-left: 0;
  padding-right: 0;
  float: none;
}

/* bloco principal em flex */
.page-contactos .linha-contactos{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-left: calc(var(--space-8) * -0.5);
  margin-right: calc(var(--space-8) * -0.5);
}

.page-contactos .linha-contactos > [class*="col-"]{
  width: 50%;
  padding-left: calc(var(--space-8) * 0.5);
  padding-right: calc(var(--space-8) * 0.5);
  margin-bottom: var(--space-8);
}

.page-contactos .conteudo-contactos{
  width: 100%;
}

/* subtítulos */
.page-contactos .conteudo-contactos > h3{
  margin: 0 0 var(--space-6);
  font-family: var(--font-primary);
  font-size: var(--fz-lg);
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--color-text);
}

/* formulário */
.page-contactos .formulario{
  margin: 0;
}

.page-contactos .titulo-formulario{
  display: none;
}

.page-contactos .form-tag-contactos{
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--space-4) * -0.5);
  margin-right: calc(var(--space-4) * -0.5);
}

.page-contactos .item-form-6{
  width: 100%;
  padding-left: calc(var(--space-4) * 0.5);
  padding-right: calc(var(--space-4) * 0.5);
  margin-bottom: var(--space-4);
}

.page-contactos .label-principal{
  display: block;
  margin: 0 0 var(--space-2);
  font-family: var(--ff-base);
  font-size: var(--fz-sm);
  line-height: 1.4;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-text);
}

.form-tag-contactos .form-control{
  width: 100%;
  min-height: 54px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: none;
  padding: 0 18px;
  font-family: var(--ff-base);
  font-size: var(--fz-base);
  line-height: 1.4;
  color: var(--color-text);
  transition: border-color var(--transition), background var(--transition);
}

.form-tag-contactos textarea.form-control{
  min-height: 180px;
  padding-top: 16px;
  padding-bottom: 16px;
  resize: vertical;
  font-family: var(--font-primary);
}

.form-tag-contactos .form-control::placeholder{
  color: var(--color-text-soft);
  opacity: 1;
}

.form-tag-contactos .form-control:focus{
  outline: none;
  box-shadow: none;
  border-color: var(--color-text);
  background: var(--color-white);
}

/* botão */
.form-tag-contactos .cx-submit .form-control{
  min-height: 56px;
  border: 0;
  background: var(--color-acid);
  color: var(--color-black);
  font-size: var(--fz-sm);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  transition: background var(--transition), color var(--transition), transform var(--transition);
  width: auto;
}

.form-tag-contactos .cx-submit .form-control:hover{
  background: var(--color-text);
  color: var(--color-white);
}

.form-tag-contactos .cx-submit .form-control:active{
  transform: translateY(1px);
}

.page-contactos #erro-form-6{
  width: 100%;
  margin-bottom: var(--space-3);
  font-size: var(--fz-sm);
}

.page-contactos .captcha-google{
  padding-top: var(--space-2);
}

.page-contactos .g-recaptcha{
  transform-origin: left top;
}

/* contactos lado direito */
.page-contactos .grupo-contactos{
  padding: var(--space-4) 0;
  border-top: 0px solid var(--color-border);
}

.page-contactos .grupo-contactos:first-of-type{
  padding-top: 0;
  border-top: 0;
}

.page-contactos .grupo-contactos h4{
  margin: 0 0 var(--space-2);
  font-family: var(--ff-base);
  font-size: var(--fz-sm);
  line-height: 1.4;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-text);
}

.page-contactos .grupo-contactos p,
.page-contactos .grupo-contactos a{
  margin: 0;
  font-family: var(--font-primary);
  font-size: var(--fz-base);
  line-height: 1.8;
  color: var(--color-text-soft);
  text-decoration: none;
}

.page-contactos .grupo-contactos a:hover{
  color: var(--color-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-contactos .mt-grande{
  margin-top: 0;
}

/* mapa full width */
.page-contactos .bEw{
  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  margin-top: var(--space-8);
  overflow: hidden;
  background: #000000;
}

.page-contactos .bEw::before{
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-acid);
  opacity: .3;
  z-index: 2;
  pointer-events: none;
  mix-blend-mode: multiply;
}

.page-contactos .bEw::after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(9, 8, 8, 0.12);
  z-index: 2;
  pointer-events: none;
}

.page-contactos .bEw iframe{
  display: block;
  width: 100%;
  height: 620px;
  border: 0;
  opacity: 0.8;
  filter: grayscale(1) contrast(1.05) brightness(.88);
}

/* tipografia geral */
.page-contactos p,
.page-contactos li,
.page-contactos span{
  font-family: var(--ff-base);
  color: var(--color-text-soft);
}

.page-contactos a{
  transition: color var(--transition), opacity var(--transition);
}

/* responsivo */
@media (max-width: 1199px){
  

  .page-contactos .linha-contactos{
    margin-left: calc(var(--space-7) * -0.5);
    margin-right: calc(var(--space-7) * -0.5);
  }

  .page-contactos .linha-contactos > [class*="col-"]{
    padding-left: calc(var(--space-7) * 0.5);
    padding-right: calc(var(--space-7) * 0.5);
    margin-bottom: var(--space-7);
  }

  .page-contactos .bEw iframe{
    height: 540px;
  }
}

@media (max-width: 991px){
  .conteudo-cms-contactos > .container-fluid{
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }


  .page-contactos .linha-contactos > [class*="col-"]{
    width: 100%;
    margin-bottom: var(--space-8);
  }

  .page-contactos .conteudo-contactos > h3{
    margin-bottom: var(--space-5);
  }

  .page-contactos .bEw{
    margin-top: var(--space-7);
  }

  .page-contactos .bEw iframe{
    height: 460px;
  }
}

@media (max-width: 767px){
  .conteudo-cms-contactos > .container-fluid{
    padding-left: var(--space-3);
    padding-right: var(--space-3);
  }


  .page-contactos > h1{
    margin-bottom: var(--space-6);
  }

  .page-contactos .linha-contactos{
    margin-left: 0;
    margin-right: 0;
  }

  .page-contactos .linha-contactos > [class*="col-"]{
    padding-left: 0;
    padding-right: 0;
    margin-bottom: var(--space-7);
  }

  .page-contactos .conteudo-contactos > h3{
    font-size: var(--fz-base);
  }

  .page-contactos .item-form-6{
    padding-left: 0;
    padding-right: 0;
    margin-bottom: var(--space-3);
  }

  .page-contactos .form-tag-contactos{
    margin-left: 0;
    margin-right: 0;
  }

  .page-contactos .form-control{
    min-height: 50px;
    padding: 0 14px;
    font-size: var(--fz-md);
  }

  .page-contactos textarea.form-control{
    min-height: 150px;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .page-contactos .grupo-contactos p,
  .page-contactos .grupo-contactos a{
    font-size: var(--fz-md);
    line-height: 1.7;
  }

  .page-contactos .bEw iframe{
    height: 360px;
  }

  .page-contactos .g-recaptcha{
    transform: scale(.92);
  }
}

@media (max-width: 480px){
  .page-contactos .bEw iframe{
    height: 300px;
  }

  .page-contactos .g-recaptcha{
    transform: scale(.84);
  }
}

/* =========================================================
   SOBRE NÓS
   ========================================================= */

.conteudo-cms-sobre-nos {
  background: var(--color-bg);
  padding: 0;
}

.conteudo-cms-sobre-nos > .container-fluid,
.conteudo-cms-sobre-nos > .container-fluid > .row,
.conteudo-cms-sobre-nos .sobre-nos {
  max-width: 100%;
  margin: 0;
  padding: 0;
}

/* =========================
   HERO
========================= */

.conteudo-cms-sobre-nos .relative,
.conteudo-cms-sobre-nos .slidePrincipal,
.conteudo-cms-sobre-nos .slick-list,
.conteudo-cms-sobre-nos .slick-track {
  width: 100%;
}

.conteudo-cms-sobre-nos .fraseDestaqueHome {
  position: relative;
  min-height: 640px;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.conteudo-cms-sobre-nos .fraseDestaqueHome::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.08) 28%, rgba(0,0,0,.42) 100%),
    linear-gradient(90deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.10) 40%, rgba(0,0,0,.18) 100%);
  z-index: 1;
}

.conteudo-cms-sobre-nos .minAlturaBanner {
  min-height: 640px;
}

.conteudo-cms-sobre-nos .block-homepage-bloco-roxo {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 56px;
  z-index: 2;
  margin: 0;
}

.conteudo-cms-sobre-nos .block-homepage-bloco-roxo .container {
  max-width: 1720px;
  padding-left: 68px;
  padding-right: 68px;
}

.conteudo-cms-sobre-nos .block-homepage-bloco-roxo .row {
  margin-left: 0;
  margin-right: 0;
}

.conteudo-cms-sobre-nos .block-homepage-bloco-roxo .b178 {
  width: 100%;
  padding: 0;
}

.conteudo-cms-sobre-nos .block-homepage-bloco-roxo .block-conteudo {
      max-width: 510px;
    width: 100%;
}

.conteudo-cms-sobre-nos .block-homepage-bloco-roxo h2 {
  margin: 0 0 10px;
    color: var(--color-border);
  font-family: var(--ff-base);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.conteudo-cms-sobre-nos .block-homepage-bloco-roxo p {
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-primary);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -0.03em;
}

/* =========================
   BLOCO INTRO
========================= */

.conteudo-cms-sobre-nos .page-dudentis {
  width: 100%;
}

.conteudo-cms-sobre-nos .page-dudentis .fundo-all {
  padding: 100px 0 80px;
}

.conteudo-cms-sobre-nos .page-dudentis .row {
  margin-left: 0;
  margin-right: 0;
}

.conteudo-cms-sobre-nos .page-dudentis .container {
  max-width: 1720px;
  padding-left: 68px;
  padding-right: 68px;
}

.conteudo-cms-sobre-nos .page-dudentis .container > span {
  
    display: block;
    max-width: 100%;
    color: var(--color-text);
    font-family: var(--font-primary);
    font-size: 27px;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.03em;
    width: 690px;
}

/* =========================
   BLOCO IMAGEM + TEXTO
========================= */

.conteudo-cms-sobre-nos .block-sobre-nos-2 {
  padding: 30px 0 140px;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 > .container {
  max-width: 1720px;
  padding-left: 68px;
  padding-right: 68px;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-left: -28px;
  margin-right: -28px;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .col-md-6,
.conteudo-cms-sobre-nos .block-sobre-nos-2 .col-sm-6,
.conteudo-cms-sobre-nos .block-sobre-nos-2 .col-xs-12 {
  padding-left: 28px;
  padding-right: 28px;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .b744-img {
  min-height: 0;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .b-inner-744-img {
  width: 100%;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .b-inner-744-img img {
  display: block;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo {
  max-width: 560px;
  padding-top: 8px;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo h2 {
  margin: 0 0 14px;
  color: var(--color-blue, #56d7d8);
  font-family: var(--ff-base);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo p,
.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo li {
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo p {
  margin: 0 0 18px;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo ul {
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo ul li {
  margin: 0 0 8px;
  position: relative;
  padding-left: 0;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo p span,
.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo li span {
  color: inherit;
  font-family: inherit;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo p:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* =========================
   BOTÕES
========================= */

.conteudo-cms-sobre-nos .btn-principal,
.conteudo-cms-sobre-nos .btn-secundario {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 18px;
  border: 1px solid var(--color-black);
  font-family: var(--ff-base);
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .10em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all var(--transition);
}

.conteudo-cms-sobre-nos .btn-principal {
  background: var(--color-acid);
  border-color: var(--color-acid);
  color: var(--color-black);
}

.conteudo-cms-sobre-nos .btn-principal:hover {
  background: var(--color-black);
  border-color: var(--color-black);
  color: var(--color-white);
  opacity: 1;
}

.conteudo-cms-sobre-nos .btn-secundario {
  background: transparent;
  border-color: var(--color-black);
  color: var(--color-black);
}

.conteudo-cms-sobre-nos .btn-secundario:hover {
  background: var(--color-black);
  color: var(--color-white);
  opacity: 1;
}

/* limpar espaçamentos estranhos do editor */
.conteudo-cms-sobre-nos p:empty {
  display: none;
}

.conteudo-cms-sobre-nos .block-sobre-nos-2 .b744-img {
    min-height: 0;
    background: none !important;
}

/* =========================
   RESPONSIVO
========================= */

@media (max-width: 1200px) {
  .conteudo-cms-sobre-nos .block-homepage-bloco-roxo .container,
  .conteudo-cms-sobre-nos .page-dudentis .container,
  .conteudo-cms-sobre-nos .block-sobre-nos-2 > .container {
    padding-left: 40px;
    padding-right: 40px;
  }

  .conteudo-cms-sobre-nos .page-dudentis .container > span {
    width: 760px;
    font-size: 24px;
  }
}

@media (max-width: 991px) {
  .conteudo-cms-sobre-nos .fraseDestaqueHome,
  .conteudo-cms-sobre-nos .minAlturaBanner {
    min-height: 520px;
  }

  .conteudo-cms-sobre-nos .block-homepage-bloco-roxo {
    bottom: 40px;
  }

  .conteudo-cms-sobre-nos .block-homepage-bloco-roxo p {
    font-size: 30px;
  }

  .conteudo-cms-sobre-nos .block-sobre-nos-2 .row {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }

  .conteudo-cms-sobre-nos .block-sobre-nos-2 .col-md-6,
  .conteudo-cms-sobre-nos .block-sobre-nos-2 .col-sm-6,
  .conteudo-cms-sobre-nos .block-sobre-nos-2 .col-xs-12 {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .conteudo-cms-sobre-nos .block-sobre-nos-2 .b744-img {
    margin-bottom: 28px;
  }

  .conteudo-cms-sobre-nos .block-sobre-nos-2 .b-inner-744-img img,
  .conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .conteudo-cms-sobre-nos .block-homepage-bloco-roxo .container,
  .conteudo-cms-sobre-nos .page-dudentis .container,
  .conteudo-cms-sobre-nos .block-sobre-nos-2 > .container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .conteudo-cms-sobre-nos .fraseDestaqueHome,
  .conteudo-cms-sobre-nos .minAlturaBanner {
    min-height: 430px;
  }

  .conteudo-cms-sobre-nos .block-homepage-bloco-roxo .block-conteudo {
    max-width: 280px;
  }

  .conteudo-cms-sobre-nos .block-homepage-bloco-roxo p {
    font-size: 24px;
    line-height: 1.06;
  }

  .conteudo-cms-sobre-nos .page-dudentis .fundo-all {
    padding: 34px 0 24px;
  }

  .conteudo-cms-sobre-nos .page-dudentis .container > span {
    font-size: 18px;
    line-height: 1.18;
  }

  .conteudo-cms-sobre-nos .block-sobre-nos-2 {
    padding-bottom: 56px;
  }

  .conteudo-cms-sobre-nos .block-sobre-nos-2 .block-conteudo p:last-child {
    gap: 8px;
  }

  .conteudo-cms-sobre-nos .btn-principal,
  .conteudo-cms-sobre-nos .btn-secundario {
    min-width: 140px;
  }
}

.caixaPesquisar h1{
    font-family: var(--fz-base);
}
.caixaPesquisar{

    padding-top: 100px;
    padding-bottom: 80px;
}

.caixaPesquisar .bloco-produto-produtos-bloco{
    margin-bottom: 20px;
}

.caixaPesquisar .tituloBlocoCursosH1{
    margin-top: 20px;
}


.conteudo-paginas-404  h1 span{
    color: var(--color-black) !important;
    font-family: var(--fz-base);
    font-size: 44px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: -0.03em;
    margin-block: 30px;
    display: block;
}
.conteudo-paginas-404  .paginanormal{
    padding-top: 100px;
    padding-bottom: 80px;
}


/* =========================================================
   CARRINHO
   ========================================================= */

.blockmenucarrinho .page-static-inner {
  padding-top: 72px;
  padding-bottom: 110px;
  background: var(--color-bg);
}

.blockmenucarrinho .page-static-inner .container {
  max-width: 1720px;
  padding-left: 68px;
  padding-right: 68px;
}

.blockmenucarrinho .page-static-inner .row {
  margin-left: -14px;
  margin-right: -14px;
}

.blockmenucarrinho .page-static-inner .row > [class*="col-"] {
  padding-left: 14px;
  padding-right: 14px;
}

.blockmenucarrinho .page-static-inner h2.rte {
  margin: 0 0 26px;
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.03em;
  text-transform: none;
}

/* layout geral */
.blockmenucarrinho .page-static-inner .grupoEnvio {
  padding-top: 0px;
}

.blockmenucarrinho .page-static-inner .grupoEnvio h3.rte {
  /* display: none; */
}

/* lista produtos */
.blockmenucarrinho .lista-encomendas {
  width: 100%;
}

.blockmenucarrinho .linha-produto {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) 120px 130px 52px;
  align-items: center;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid #ddddda;
  position: relative;
}

.blockmenucarrinho .linha-produto:first-child {
  border-top: 1px solid #ddddda;
}

.blockmenucarrinho .linha-produto .clear {
  display: none;
}

/* imagem */
.blockmenucarrinho .linha-img {
  width: 84px;
}

.blockmenucarrinho .control-img {
  width: 84px;
  height: 84px;
  border: 1px solid #ddddda;
  background: #f7f7f4;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

.blockmenucarrinho .control-img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* nome + ref */
.blockmenucarrinho .linha-nome {
  min-width: 0;
}

.blockmenucarrinho .linha-only-nome a {
  display: block;
  margin-bottom: 4px;
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
  text-decoration: none;
}

.blockmenucarrinho .linha-only-ref {
  color: var(--color-text-soft);
  font-family: var(--font-primary);
  font-size: 12px;
  line-height: 1.2;
  margin-bottom: 8px;
  text-transform: none;
}

.blockmenucarrinho .linha-only-preco {
  color: var(--color-text-soft);
  font-family: var(--ff-base);
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* quantidade */
.blockmenucarrinho .linha-only-quantidade {
  display: flex;
  align-items: center;
  gap: 0;
  width: 104px;
  height: 32px;
  border: 1px solid #d9d9d2;
  background: #fff;
}

.blockmenucarrinho .linha-only-quantidade .btn-carrinho {
  width: 28px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: transparent;
  color: var(--color-text);
  font-size: 11px;
  border: 0;
  margin: 0;
  transition: background-color var(--transition), color var(--transition);
}

.blockmenucarrinho .linha-only-quantidade .btn-carrinho:hover {
  background: #f2f2ef;
  opacity: 1;
}

.blockmenucarrinho .linha-only-quantidade .quantidade {
  width: 48px;
  height: 30px;
  border: 0;
  border-left: 1px solid #d9d9d2;
  border-right: 1px solid #d9d9d2;
  background: #fff;
  margin: 0;
  padding: 0;
  text-align: center;
  color: var(--color-text);
  font-family: var(--ff-base);
  font-size: 12px;
  line-height: 30px;
  min-height: auto;
  box-shadow: none;
}

.blockmenucarrinho .linha-only-quantidade .quantidade:focus {
  box-shadow: none;
  border-left: 1px solid #d9d9d2;
  border-right: 1px solid #d9d9d2;
}

/* subtotal produto */
.blockmenucarrinho .linha-preco {
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 13px;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
}

/* remover */
.blockmenucarrinho .linha-remove {
  display: flex;
  justify-content: flex-end;
}

.blockmenucarrinho .remover-carrinho {
  width: 24px;
  height: 24px;
  border: 0px solid #f25c54;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  cursor: pointer;
  transition: all var(--transition);
  margin: 0;
}

.blockmenucarrinho .remover-carrinho:hover {
  background: #fff;
  opacity: 1;
}

.blockmenucarrinho .remover-carrinho i {
  display: none !important;
}

.blockmenucarrinho .remover-carrinho img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  display: block;
}

/* resumo */
.blockmenucarrinho .grupoEnvio form {
  display: block;
}

.blockmenucarrinho .grupoEnvio form > div:first-child,
.blockmenucarrinho .grupoEnvio .titulo-carrinho {
  margin: 0;
}

.blockmenucarrinho .grupoEnvio .titulo-carrinho {
  /* display: none; */
}

/* bloco resumo estilo PDF */
.blockmenucarrinho .grupoEnvio form::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #ddddda;
  margin-bottom: 14px;
}

.blockmenucarrinho .grupoEnvio form::after {
  content: "";
  display: table;
  clear: both;
}

.blockmenucarrinho .grupoEnvio .sms {
  display: none;
}

/* linhas resumo */
.blockmenucarrinho .resumo-carrinho-linha,
.blockmenucarrinho .grupoEnvio .linha-resumo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 0;
  border-bottom: 1px solid #ddddda;
}

.blockmenucarrinho .resumo-carrinho-linha strong,
.blockmenucarrinho .resumo-carrinho-linha span,
.blockmenucarrinho .grupoEnvio .linha-resumo strong,
.blockmenucarrinho .grupoEnvio .linha-resumo span {
  font-family: var(--ff-base);
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
}

/* quando não houver html de linhas, damos estilo aos p */
.blockmenucarrinho .grupoEnvio p {
  margin: 0;
}

/* CTA */
.blockmenucarrinho .conjuntoBtns {
  margin-top: 28px;
}

.blockmenucarrinho .conjuntoBtns .btn,
.blockmenucarrinho .conjuntoBtns .btn-principal,
.blockmenucarrinho .conjuntoBtns .form-control-submit,
.blockmenucarrinho .conjuntoBtns input[type="submit"],
.blockmenucarrinho .conjuntoBtns a.btn-principal,
.blockmenucarrinho .conjuntoBtns .atualizar-encomenda {
  width: 100%;
  min-height: 44px;
  height: 44px;
  margin: 0;
  padding: 0 18px;
  border: 1px solid var(--color-acid);
  background: var(--color-acid);
  color: var(--color-black);
  font-family: var(--ff-base);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
}

.blockmenucarrinho .conjuntoBtns .btn:hover,
.blockmenucarrinho .conjuntoBtns .btn-principal:hover,
.blockmenucarrinho .conjuntoBtns .form-control-submit:hover,
.blockmenucarrinho .conjuntoBtns input[type="submit"]:hover,
.blockmenucarrinho .conjuntoBtns a.btn-principal:hover,
.blockmenucarrinho .conjuntoBtns .atualizar-encomenda:hover {
  background: var(--color-black);
  border-color: var(--color-black);
  color: var(--color-white);
  opacity: 1;
}

.blockmenucarrinho .conjuntoBtns > * + * {
  margin-top: 10px;
}

.blockmenucarrinho .atualizar-carrinho {
  /* display: none; */
  display: inline-block;
  margin-right: 10px;
}

.blockmenucarrinho .conjuntoBtns a[href*="/produtos/"] {
  /* display: none; */
}

/* título */
.blockmenucarrinho .page-static-inner .col-md-12.noPadding h2.rte {
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin-bottom: 12px;
}

/* responsivo */
@media (max-width: 1199px) {
  .blockmenucarrinho .page-static-inner .container {
    padding-left: 40px;
    padding-right: 40px;
  }

  .blockmenucarrinho .linha-produto {
    grid-template-columns: 84px minmax(0, 1fr) 110px 110px 42px;
    gap: 14px;
  }
}

@media (max-width: 991px) {
  .blockmenucarrinho .page-static-inner .grupoEnvio {
    padding-top: 28px;
  }
}

@media (max-width: 767px) {
  .blockmenucarrinho .page-static-inner {
    padding-top: 44px;
    padding-bottom: 72px;
  }

  .blockmenucarrinho .page-static-inner .container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .blockmenucarrinho .linha-produto {
    grid-template-columns: 72px minmax(0, 1fr) 34px;
    grid-template-areas:
      "img nome remove"
      "img qty preco";
    gap: 10px 14px;
    align-items: start;
    padding: 14px 0;
  }

  .blockmenucarrinho .linha-img {
    grid-area: img;
    width: 72px;
  }

  .blockmenucarrinho .control-img {
    width: 72px;
    height: 72px;
  }

  .blockmenucarrinho .linha-nome {
    grid-area: nome;
  }

  .blockmenucarrinho .linha-only-quantidade {
    grid-area: qty;
    width: 104px;
  }

  .blockmenucarrinho .linha-preco {
    grid-area: preco;
    align-self: center;
    text-align: right;
    white-space: nowrap;
  }

  .blockmenucarrinho .linha-remove {
    grid-area: remove;
    justify-content: flex-end;
  }

  .blockmenucarrinho .page-static-inner h2.rte {
    font-size: 26px;
  }
}

.carrinho-confirma.blockmenucarrinho .linha-produto{

    grid-template-columns: 1fr 50px;
}
.carrinho-confirma.blockmenucarrinho .titulo-carrinho{
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    font-weight: 400;
    margin-bottom: 6px;
    margin-top: 4px;
    display: flex;
    justify-content: space-between;
}

.carrinho-confirma.blockmenucarrinho .titulo-carrinho span{
    font-weight: 600;
    color: var(--color-text);
    font-size: 14px;
}

.numeroDiferente,
.outroNumero{
    display: none;
}

.metodo-envio,
.metodo-paga,
.blocoTotalFinal{
      margin-bottom: 20px;
    margin-top: 20px;
}

.hr{
    border: 0;
    border-top: 1px solid #ddddda;
    margin: 20px 0;
}

.bolaCarrinha::before{
    content: "(";
}
.bolaCarrinha::after{
    content: ")";
}

.slidePrincipal .slick-slide {
    max-width: 100% !important;
    background-size: cover;
    background-position: center;
}


/********* PAGINA DE NOTICIAS **********/


.noticias-page__layout{
  display: flex;
  align-items: flex-start;
}

.noticias-page__content{
  max-width: 640px;
  padding-right: 40px;
}

.noticias-page__title{
  margin: 0 0 28px;
  color: var(--color-text)
  font-family: var(--font-primary);
  font-size: clamp(38px, 4.2vw, 66px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -0.05em;
}

.noticias-page__intro{
  margin-bottom: 30px;
  color: var(--color-text)
  font-family: var(--font-primary);
  font-size: 15px;
  line-height: 1.55;
  max-width: 520px;
}

.noticias-page__divider{
  width: 100%;
  max-width: 520px;
  height: 2px;
  background: var(--color-acid);
  margin: 0 0 30px;
}

.noticias-page__article{
  color: var(--color-text)
}

.noticias-page__article,
.noticias-page__article p,
.noticias-page__article li,
.noticias-page__article span{
  font-family: var(--font-primary);
  font-size: 15px;
  line-height: 1.2;
}

.noticias-page__article p{
  margin-bottom: 28px;
  max-width: 540px;
}

.noticias-page__article h2,
.noticias-page__article h3,
.noticias-page__article h4{
  color: var(--color-text)
  font-family: var(--font-primary);
  margin: 0 0 18px;
}

.noticias-page__article a{
  color: var(--color-acid);
}

.noticias-page__meta{
  margin-top: 44px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-family: var(--ff-base);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-text-soft);
}

.noticias-page__meta-label{
  opacity: .7;
}

.noticias-page__meta-value{
  opacity: .95;
}

.noticias-page__date{
  font-family: var(--ff-base);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-text-soft);
}

.noticias-page__media{
  width: 100%;
  max-width: 560px;
  margin-left: auto;
}

.noticias-page__slider{
  position: relative;
}

.noticias-page__slide{
  width: 100%;
}

.noticias-page__slide img{
  width: 100%;
  aspect-ratio: 1 / 1.08;
  object-fit: cover;
  object-position: center;
  background: #1a1a1a;
}

.noticias-page__slider-controls{
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 22px;
}

.noticias-page__slider-count{
  min-width: 42px;
  color: var(--color-black);
  font-family: var(--ff-base);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.noticias-page__slider-arrows{
  display: flex;
  align-items: center;
  gap: 6px;
}

.noticias-page__arrow{
  width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  margin: 0;
  border: 1px solid rgba(255,255,255,.28);
  background: var(--color-black);
  color: rgba(255,255,255,.72);
  font-size: 22px;
  line-height: 1;
}

.noticias-page__arrow:hover{
  background: var(--color-white);
  color: var(--color-black);
  border-color: var(--color-white);
}

.noticias-page__share{
  padding: 0 0 32px;
  background: var(--color-black);
}

.noticias-page__related{
  padding: 34px 0 82px;
  background: var(--color-black);
  position: relative;
}

.noticias-page__related::before{
  content: "";
  display: block;
  width: calc(100% - 132px);
  max-width: 1588px;
  height: 1px;
  background: var(--color-acid);
  margin: 0 auto 32px;
}

.noticias-page__related-title{
  margin: 0 0 26px;
  color: rgba(255,255,255,.88);
  font-family: var(--ff-base);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.noticias-page .outras-noticias .card-news{
  margin-bottom: 20px;
}

.noticias-page .outras-noticias .conteudo-noticias{
  margin-bottom: 16px;
}

.noticias-page .outras-noticias .conteudo-noticias img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}

.noticias-page .outras-noticias .card-news h2{
  margin: 0 0 8px;
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 27px;
  font-weight: 500;
  line-height: .96;
  letter-spacing: -0.04em;
}

.noticias-page .outras-noticias .card-news p{
  margin: 0 0 10px;
  color: var(--color-text);
  font-family: var(--font-primary);
  font-size: 14px;
  line-height: 1.35;
}

.noticias-page .outras-noticias .card-news h3{
  color: var(--color-text);
  font-family: var(--ff-base);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.noticias-page .outras-noticias .link-noticia:hover{
  opacity: 1;
}

.noticias-page .outras-noticias .link-noticia:hover h2{
  color: var(--color-acid);
}

.noticias-page .slick-track{
  display: flex !important;
}

.noticias-page .slick-slide{
  height: inherit !important;
}

.noticias-page .slick-slide > div{
  height: 100%;
}

@media (max-width: 1199px){
  .noticias-page__content{
    max-width: 100%;
    padding-right: 0;
  }

  .noticias-page__media{
    max-width: 100%;
  }

  .noticias-page__title{
    font-size: clamp(34px, 4vw, 54px);
  }
}

@media (max-width: 991px){
  .noticias-page__hero{
    padding: 24px 0 56px;
  }

  .noticias-page__breadcrumb{
    margin-bottom: 32px;
  }

  .noticias-page__content{
    margin-bottom: 34px;
  }

  .noticias-page__media{
    margin-left: 0;
  }

  .noticias-page__related::before{
    width: calc(100% - 80px);
  }

  .noticias-page__layout {
      display: flex;
      align-items: flex-start;
      flex-direction: column-reverse;
  }
  .noticias-page__media {
      margin-left: 0;
      margin-bottom: 50px;
  }
}

@media (max-width: 767px){
  .noticias-page .container,
  .noticias-page .container-fluid{
    padding-left: 20px;
    padding-right: 20px;
  }

  .noticias-page__hero{
    padding: 20px 0 42px;
  }

  .noticias-page__title{
    margin-bottom: 20px;
    font-size: 34px;
  }

  .noticias-page__intro{
    font-size: 14px;
    margin-bottom: 20px;
  }

  .noticias-page__divider{
    margin-bottom: 22px;
  }

  .noticias-page__article,
  .noticias-page__article p,
  .noticias-page__article li,
  .noticias-page__article span{
    font-size: 14px;
    line-height: 1.45;
  }

  .noticias-page__article p{
    margin-bottom: 20px;
  }

  .noticias-page__slider-controls{
    margin-top: 14px;
  }

  .noticias-page__related{
    padding: 26px 0 56px;
  }

  .noticias-page__related::before{
    width: calc(100% - 40px);
    margin-bottom: 24px;
  }

  .noticias-page .outras-noticias .card-news h2{
    font-size: 22px;
  }
}

.outras-noticias h2.title-normal{
        margin: 28px 0 8px;
    color: var(--color-text-soft);
    font-family: var(--ff-base);
    font-size: clamp(18px, 4.2vw, 21px);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -0.05em;
}

/**** PAGINA DE Fichas Técnicas ********/
/* ==========================================
   FICHAS TÉCNICAS
========================================== */

.fichas-page{
  padding: 60px 0 80px;
  background: var(--color-bg);
}

.fichas-page__title{
  margin-bottom: 50px;
  font-family: var(--font-primary);
  font-size: clamp(32px, 3vw, 44px);
  font-weight: 500;
  letter-spacing: -0.03em;
}

/* grupo */
.fichas-page__group{
  margin-bottom: 50px;
}

.fichas-page__group-title{
  margin-bottom: 20px;
  font-family: var(--ff-base);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-text-soft);
}

/* lista */
.fichas-page__list{
  border-top: 1px solid var(--color-border);
}

/* item */
.fichas-page__item{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  padding: 18px 0;
  border-bottom: 1px solid var(--color-border);
}

/* left */
.fichas-page__item-left{
  max-width: 640px;
}

.fichas-page__item-left h3{
  margin-bottom: 6px;
  font-family: var(--font-primary);
  font-size: 20px;
  font-weight: 500;
}

.fichas-page__item-left p{
  font-family: var(--font-primary);
  font-size: 14px;
  color: var(--color-text-soft);
  line-height: 1.4;
}

/* right */
.fichas-page__item-right a{
  font-family: var(--ff-base);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--color-black);
}

.fichas-page__item-right a:hover{
  color: var(--color-acid);
  border-color: var(--color-acid);
}

.fichas-page__cta{
  padding-bottom: 80px;
}
.fichas-page__cta h2{
  margin-bottom: 0px;
  font-family: var(--font-primary);
  font-size: clamp(20px, 3vw, 24px);
  font-weight: 500;
}
/* responsive */
@media (max-width: 767px){

  .fichas-page{
    padding: 40px 0;
  }

  .fichas-page__item{
    flex-direction: column;
    gap: 10px;
  }

  .fichas-page__item-right{
    margin-top: 6px;
  }

}

/**** PAGINA DE Fichas Técnicas ********/

/*** RESPONSIVO GERAL ****/

@media (max-width: 990px) {
  .header-tools__menu .menu-search-2:not(.movido-para-popup) {
    display: none;
  }

  .overlay-spec.over-menu .menu-search-2.movido-para-popup {
    display: block;
  }
}
@media (max-width: 1440px) {
    .blockmenucarrinho .linha-produto {
        grid-template-columns: 84px minmax(0, 1fr) 104px 40px 25px;
    }
}

@media (max-width: 1280px) {

}

@media (max-width: 1024px) {
    .header-brand__logo {
        width: 140px;
    }
    .header-nav .menu > div > ul, .header-tools__menu .menu > div > ul, 
    .menu--principal > div > ul, .menu--util > div > ul, 
    .menuprincipal > ul, .menu-registo > ul {
        gap: 18px;
    }
    .sec-categorias-home__card {
        width: 430px;
        max-width: 100%;
    }
    .sec-categorias-home__inner {
        grid-template-columns: 440px 1fr;
    }
    .header-main__inner,
    .header-main{
        min-height: 90px;
    }
    .conteudo-catalogos h2 {
        font-size: 12px;
    }
    .produto-related .grelha-noticias .col-md-4:nth-child(4) {
        display: none;
    }
    .page-static-inner h2 {
        margin-top: 10px;
    }
}



@media (min-width: 992px) {
  .produtos-categorias-toggle {
    display: none;
  }

  .produtos-sidebar__box .itens-cat-catetoria-produto {
    display: block !important;
  }
}

@media (max-width: 991px){

    .produtos-categorias-toggle,
    .produtos-categorias-toggle:hover {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 13px;
        padding: 6px 0;
        margin: -16px 0 0;
        border: 0;
        border-top: 0px solid #d9d9d2;
        background: transparent;
        color: var(--color-text-soft);
        font-family: var(--font-primary);
        font-size: 10px;
        line-height: 1;
        text-transform: uppercase;
        text-align: left;
        cursor: pointer;
        justify-content: flex-start;
    }

    .produtos-categorias-toggle::before {
        content: ">";
        display: inline-block;
        font-family: var(--ff-base);
        font-size: 14px;
        line-height: 1;
        transform: rotate(90deg);
        transform-origin: center;
        transition: transform .25s ease;
    }

    .produtos-categorias-toggle.is-open::before {
        transform: rotate(180deg);
    }

    .produtos-sidebar__box .itens-cat-catetoria-produto {
        display: none;
        padding-top: 8px;
    }

    .produtos-sidebar__box .itens-cat-catetoria-produto.is-open {
        display: block;
    }
  .container,
  .container-fluid,
  .header-main__container{
    padding-left: 24px;
    padding-right: 24px;
  }

  .header-topbar__inner{
    padding-left: 24px;
    padding-right: 24px;
  }

  .header-main__inner{
    grid-template-columns: 1fr auto;
    min-height: 96px;
  }

  .header-nav{
    display: none;
        position: fixed;
        background: var(--color-bg);
        width: 100%;
        height: 100dvh;
        top: 0px;
        left: 0px;
  }

  .header-nav .menu--principal{
        position: absolute;
        top: 50%;
        left: 30px;
        transform: translate(0%, -50%);
        display: flex;
        flex-direction: column;
  }
  .header-nav .menu--principal ul{
            display: flex;
        flex-direction: column;
        gap: 32px;
        position: relative;
        background: transparent;
        box-shadow: none;
        top: initial;
        left: inherit;
    align-items: flex-start !important;
  }
  .header-nav .menu--principal  ul li a{
    color: var(--color-text);
    font-size: 22px;
    text-transform: uppercase;
  }
  .header-nav .menu--principal .has-submenu > a{
    pointer-events: none;
  }
   .header-nav .menu--principal ul ul{
        position: absolute;
        top: -20px;
        left: 130px;
        display: none;
        gap: 0px;
        border-left: 1px solid var(--color-black);
   }
   .menu--principal ul li.has-submenu > a::after {
      transform: translateY(-50%) rotate(0deg) !important;
  }
    .header-nav .menu--principal ul li:hover ul{
        display: flex;
    }
   .header-nav .menu--principal  ul li li a{
    font-size: 15px;
    text-transform: none;
    line-height: 1.1;
   }
  .with-menu{
    overflow: hidden;
    height: 100vh;
    width: 100%;
  }
  .with-menu .header-topbar,
  .with-menu .voltar-topo{
    opacity: 0;
    pointer-events: none;
  }
  .hamburguer-bt{
    display: block;
        margin-top: 0px;
  }
  .header-brand{
    z-index: 1;
  }
  .with-menu .header-brand__logo{
    filter: none;
  }
  .with-menu .header-tools__menu .li-menu > a{
    color: var(--color-text);
  }
  .with-menu .hamburguer-bt .hamburguer-bt__stripe{
    background: var(--color-text);
  }

  .hamburguer-bt .hamburguer-bt__stripe{
    opacity: 1;
    transition: all .5s;
      transform: rotate(0deg) translate(0px, 0px);
  }
    .hamburguer-bt.on .hamburguer-bt__stripe__top{
      transform: rotate(45deg) translate(5px, 5px);
      transition: .5s;
    }
    .hamburguer-bt.on .hamburguer-bt__stripe__middle{
      opacity: 0;
      transition: .5s;
    }
    .hamburguer-bt.on .hamburguer-bt__stripe__bottom{
      transform: rotate(-45deg) translate(5px, -5px);
      transition: .5s;
    }
    button.hamburguer-bt:focus{

    box-shadow: none !important;
    }
    button.hamburguer-bt:hover{
        background: transparent !important;
    }

  .homepage-hero{
    min-height: 460px;
  }

  .blocoFundo,
  .videoFundo{
    min-height: 460px;
  }

  .grelha-noticias{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .conteudo-loja-geral::before{
    height: 380px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.95) 0 40%, rgba(255,255,255,0) 40.2%),
      url('/assets/home-categorias.jpg') center center / cover no-repeat;
  }

  .conteudo-loja-geral::after{
    position: relative;
    left: auto;
    transform: none;
    display: block;
    width: calc(100% - 48px);
    margin: -340px auto 0;
  }

  .footer{
    padding-top: 170px;
  }

  .footer::before,
  .footer::after{
    width: calc(100% - 48px);
  }

  .footer .coluna-1,
  .footer .coluna-2,
  .footer .coluna-3,
  .footer .coluna-4{
    width: 50%;
    margin-bottom: 24px;
  }

  .produto-related .grelha-noticias .col-md-4:nth-child(4) {
        display: block;
    }

    .page-static-inner table{
        max-width: 100%;
    }
}

@media (max-width: 640px){
    .h1, h1 {
    font-size: 26px;
}
  .header-topbar{
    height: auto;
    min-height: 36px;
  }

  .header-topbar__inner{
    min-height: 36px;
    justify-content: flex-start;
    padding-right: 84px;
  }

  .header-topbar__link{
    font-size: 11px;
    line-height: 1.3;
    white-space: normal;
  }

  .header-language{
    right: 24px;
  }

  .header-brand__logo{
    width: 132px;
  }

  .especial2{
    max-width: 360px;
  }

  .grelha-noticias{
    grid-template-columns: 1fr;
  }

  .footer{
    padding-top: 65px;
  }

  .footer::before{
    top: -108px;
    font-size: 22px;
  }

  .footer::after{
    top: -22px;
    height: 76px;
  }

  .footer .coluna-1,
  .footer .coluna-2,
  .footer .coluna-3,
  .footer .coluna-4{
    width: 100%;
  }

  .cx-email,
  .cx-submit{
    width: 100% !important;
  }

  .cx-submit{
    margin-top: 10px;
  }
}


@media (max-width: 500px){
    .sec-categorias-home__card {
            width: 430px;
            max-width: calc(100% - 58px);
            margin-bottom: 30px;
        }
    .header-nav .li-menu > a, .header-tools__menu .li-menu > a, .menuprincipal > ul > li > a, .menu-registo > ul > li > a {
        gap: 0px;
    }
    .menu--principal ul li a, .menu--util ul li a {
        font-size: 12px;
        letter-spacing: -0.04em;
        gap: 2px;
    }
    .header-nav .menu > div > ul, .header-tools__menu .menu > div > ul, .menu--principal > div > ul, .menu--util > div > ul, .menuprincipal > ul, .menu-registo > ul {
        gap: 10px;
    }
    li.menu-entrar a::after{
        display: none !important;
    }
    .header-tools {
        gap: 10px;
    }
    .header-main__inner {
        gap: 14px;
    }

    .minAlturaBanner {
        min-height: 52vh;
    }
    .block-homepage-bloco-roxo p {
        font-size: 26px;
    }
    .subtituloProdutos-Home {
        font-size: 30px;
    }
    .btn-prod .btn {
        min-width: 40px;
    }
    .header-nav .sub-menu, 
    .header-tools__menu .sub-menu, 
    .menuprincipal .sub-menu, 
    .menu-registo .sub-menu {
        min-width: 130px;
    }
    .form-pesquisa {
        max-width: calc(100% - 54px);
    }
    .overlay-pesquisa .fecha {
        top: 12px;
        right: 16px;
        font-size: 28px;
    }
    .blockmenucarrinho .linha-produto {
        grid-template-columns: 75px 162px 64px;
    }
    .grupoEnvio .btn-secundario,
    .atualizar-carrinho {
        width:100%;
    }
    .carrinho-confirma.blockmenucarrinho .linha-produto {
        grid-template-columns: 0px 1fr 40px;
    }
    .produtos-page .container, .produto-detail-page .container, .produto-related .container, .page-catalogos .container, .conteudo-cms-contactos .container-fluid, .sobre-nos .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .produtos-page {
        padding: 0px 0 96px;
    }

}
@media (max-width: 400px){
    .menu--principal ul li a, .menu--util ul li a {
        font-size: 10px;
    }
    .sec-categorias-home__card {
        max-width: calc(100% - 115px);
    }
}

/* =========================================================
   CORREÇÕES 2026-05-01
   ========================================================= */

/* --- FOOTER: itens de menu – cinzento escuro + capitalize --- */
.footer--novo .footer__menu-col ul li a,
.footer--novo .footer__social-list li a,
.footer--novo .footer__extra-list li a {
  color: #333333 !important;
  text-transform: capitalize !important;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.05;
  font-family: "Creato Display", Arial, sans-serif;
  text-decoration: none;
}
.footer--novo .footer__menu-col ul li a:hover,
.footer--novo .footer__social-list li a:hover,
.footer--novo .footer__extra-list li a:hover {
  opacity: .82;
  color: #333333 !important;
  text-decoration: none;
}
@media (max-width: 767px) {
  .footer--novo .footer__menu-col ul li a,
  .footer--novo .footer__social-list li a,
  .footer--novo .footer__extra-list li a {
    font-size: 16px;
  }
}

/* --- FOOTER: "Fichas técnicas" – espaçamento igual aos outros itens --- */
.footer__extra-list {
  margin-top: 12px;
}

/* --- FOOTER: botão Subscrever – preto com letras brancas --- */
.footer__newsletter .cx-submit {
  background: transparent !important;
}
@media (min-width: 768px) {
  .footer__newsletter .cx-submit {
    padding: 0 !important;
  }
}
.footer__newsletter input[type="submit"].form-control {
  display: block;
  width: 100% !important;
  margin-left: 0 !important;
  height: 54px !important;
  background: #090808 !important;
  color: #fffefa !important;
  cursor: pointer;
}

/* --- GUIAS / PARCEIROS: header transparente (revertido) --- */
/* Header volta ao comportamento transparente normal nessas páginas */

/* --- MODAL YOUTUBE – página Guias --- */
.guias-modal {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}
.guias-modal.is-open {
  display: flex;
}
.guias-modal__overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.82);
  cursor: pointer;
}
.guias-modal__box {
  position: relative;
  width: 90vw;
  max-width: 960px;
  background: #000;
  z-index: 1;
}
.guias-modal__embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.guias-modal__embed iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
}
.guias-modal__close {
  position: absolute;
  top: -40px;
  right: 0;
  background: transparent !important;
  border: 0;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  padding: 4px 8px;
  line-height: 1;
  width: auto !important;
  min-height: auto !important;
}

/* =========================================================
   CORREÇÕES 2026-05-01 (v2)
   ========================================================= */

/* --- MENU PRINCIPAL: reduzir 2px e espaçamento --- */
.menu--principal > ul,
.menu--util > ul {
  gap: 30px !important;
}
.menu--principal ul li a,
.menu--util ul li a {
  font-size: 12px !important;
}

/* --- FOOTER NEWSLETTER: botão SUBSCREVER dentro da caixa branca --- */
.footer__newsletter .form-tag-newsletter {
  
  grid-template-columns: 1fr auto !important;
  column-gap: 0 !important;
  align-items: stretch;
}
.footer__newsletter input[type="email"].form-control {
  background: transparent !important;
  height: 54px !important;
}
.footer__newsletter .cx-submit {
  background: transparent !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
  border-left: 1px solid #d9d9d2;
}
.footer__newsletter input[type="submit"].form-control {
  width: auto !important;
  margin: 0 !important;
  padding: 0 20px !important;
  height: 54px !important;
  background: transparent !important;
  color: #090808 !important;
  font-family: "Creato Display", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  cursor: pointer !important;
  border: 0 !important;
  box-shadow: none !important;
}
.footer__newsletter input[type="submit"].form-control:hover {
  opacity: .7;
  filter: none;
}
/* Mobile: stack layout but keep button inside box */
@media (max-width: 767px) {
  .footer__newsletter .cx-submit {
    border-left: 1px solid #d9d9d2;
    padding-bottom: 0 !important;
    height: 60px !important;
  }
  .footer__newsletter input[type="submit"].form-control {
    height: 60px !important;
  }
  .footer__newsletter input[type="email"].form-control {
    height: 60px !important;
  }
}

/* =========================================================
   CORREÇÕES 2026-05-01 (v3)
   ========================================================= */

/* ---------------------------------------------------------
   1. MODAL GUIAS – botão X à frente do vídeo
   --------------------------------------------------------- */
.guias-modal__close {
  z-index: 20 !important;
  position: absolute !important;
}

/* ---------------------------------------------------------
   2. PARCEIROS CMS – esconder título do formulário
      e aproximar letras do H1
   --------------------------------------------------------- */
.pagina-parceiros .formulario-wrap h2,
.pagina-parceiros .formulario-wrap h3,
.pagina-parceiros .formulario-wrap h4,
.pagina-parceiros .form-tag-newsletter h2,
.pagina-parceiros .form-tag-newsletter h3,
.pagina-parceiros .form-tag-newsletter .form-titulo,
.pagina-parceiros .form-tag-newsletter .titulo-form,
.pagina-parceiros [class*="form"] > h2,
.pagina-parceiros [class*="form"] > h3 {
  display: none !important;
}

.pagina-parceiros__title {
  letter-spacing: 0.02em !important;
}

/* ---------------------------------------------------------
   3. PREÇOS NOS CARDS DE PRODUTO – tornar visíveis
   --------------------------------------------------------- */
.ProdutoPrecoLista {
  display: block !important;
  margin: 6px 0 4px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-black);
}

/* Preço original riscado (em promoção) */
.ProdutoPrecoLista .em-promo {
  display: inline-block;
  text-decoration: line-through;
  color: #999;
  font-size: 13px;
  font-weight: 400;
  margin-right: 4px;
}

/* Preço pós-promo (real a pagar) */
.ProdutoPrecoLista .valor-real {
  display: inline-block;
  color: var(--color-black);
  font-size: 15px;
  font-weight: 700;
}

/* Badge de desconto  (-20% / -€5) */
.ProdutoPrecoLista .valor-promo {
  display: inline-block;
  margin-left: 4px;
  background: #e53935;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 2px;
  letter-spacing: .04em;
  vertical-align: middle;
}
.ProdutoPrecoLista .valor-promo span {
  font-size: 10px;
  font-weight: 400;
}

/* ---------------------------------------------------------
   4. SUBMENUS – fundo azul (#56d7d8), texto preto,
      hover fundo branco
   --------------------------------------------------------- */
.header-nav .sub-menu,
.header-tools__menu .sub-menu,
.menuprincipal .sub-menu,
.menu-registo .sub-menu,
.menu--principal .submenu--produtos {
  background: #56d7d8 !important;
  border: none !important;
}

.header-nav .sub-menu li a,
.header-tools__menu .sub-menu li a,
.menuprincipal .sub-menu li a,
.menu-registo .sub-menu li a,
.menu--principal .submenu--produtos li a {
  color: #090808 !important;
}

.header-nav .sub-menu li a:hover,
.header-tools__menu .sub-menu li a:hover,
.menuprincipal .sub-menu li a:hover,
.menu-registo .sub-menu li a:hover,
.menu--principal .submenu--produtos li a:hover {
  background: #fff !important;
  color: #090808 !important;
  opacity: 1 !important;
}

/* seta do item com submenu – cor preta no header bloco e no hover */
.menu--principal ul li.has-submenu a,
.menu--principal ul li.has-submenu > a::after {
  color: inherit !important;
}

/* ---------------------------------------------------------
   5. BOTÕES – hover com outline que "separa" 4px
   --------------------------------------------------------- */
button,
.button,
.btn,
input[type="submit"],
input[type="button"],
input[type="reset"],
a.btn,
a.button,
.btn-principal,
.btn-secundario,
.btn-outline,
a.btn-outline {
  outline: 2px solid transparent;
  outline-offset: 0px;
  transition:
    background-color var(--transition, 0.22s ease),
    color var(--transition, 0.22s ease),
    border-color var(--transition, 0.22s ease),
    opacity var(--transition, 0.22s ease),
    transform var(--transition, 0.22s ease),
    outline-color 0.22s ease,
    outline-offset 0.22s ease !important;
}

/* Primário (fundo teal) – contorno teal no hover */
button:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
a.btn:hover,
a.button:hover,
.btn-principal:hover {
  outline-color: var(--color-acid, #56d7d8) !important;
  outline-offset: 4px !important;
}

/* Secundário / outline (fundo transparente, borda preta) – contorno preto no hover */
.btn-secundario:hover,
.button--secondary:hover,
.btn-outline:hover,
a.btn-outline:hover {
  outline-color: var(--color-black, #090808) !important;
  outline-offset: 4px !important;
}

/* Excepção: botões do footer newsletter e pequenos do produto não levam outline */
.footer__newsletter input[type="submit"]:hover,
.btn-prod .btn:hover {
  outline: none !important;
}

/* =========================================================
   CORREÇÕES 2026-05-01 (v4)
   ========================================================= */

/* ---------------------------------------------------------
   1. ANULAR filter:invert(1) no header — era a causa do
      item "Loja" aparecer invertido em várias páginas
   --------------------------------------------------------- */
.catalogos .site-header--transparente .header-main,
.noticias-page .site-header--transparente .header-main,
.cms-contactos .site-header--transparente .header-main,
.pagina-parceiros .site-header--transparente .header-main,
.guias-page .site-header--transparente .header-main,
.parceiros .site-header--transparente .header-main {
  filter: none !important;
}

/* ---------------------------------------------------------
   2. FOOTER NEWSLETTER – reverter v2, manter botão preto
      (input branco separado + botão preto abaixo/ao lado)
   --------------------------------------------------------- */
.footer__newsletter .form-tag-newsletter {
  background: transparent !important;
  grid-template-columns: 1fr !important;
  column-gap: 0 !important;
  align-items: initial !important;
}
.footer__newsletter input[type="email"].form-control {
  background: #fff !important;
  height: 54px !important;
  border: none !important;
}
.footer__newsletter .cx-submit {
  background: transparent !important;
  padding: 0 !important;
  height: auto !important;
  display: block !important;
  align-items: initial !important;
  border-left: none !important;
}
.footer__newsletter input[type="submit"].form-control {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 24px !important;
  height: 54px !important;
  background: #090808 !important;
  color: #fffefa !important;
  font-family: "Creato Display", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  cursor: pointer !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.footer__newsletter input[type="submit"].form-control:hover {
  background: #333 !important;
  outline: none !important;
}
@media (max-width: 767px) {
  .footer__newsletter input[type="email"].form-control,
  .footer__newsletter input[type="submit"].form-control {
    height: 54px !important;
  }
}

/* ---------------------------------------------------------
   3. BOTÕES – hover com preenchimento da esquerda
      (anula o outline da v3)
   --------------------------------------------------------- */

/* reset do outline v3 */
button,
.button,
.btn,
input[type="submit"],
input[type="button"],
input[type="reset"],
a.btn,
a.button,
.btn-principal,
.btn-secundario,
.btn-outline,
a.btn-outline {
  outline: none !important;
}
button:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
a.btn:hover,
a.button:hover,
.btn-principal:hover,
.btn-secundario:hover,
.btn-outline:hover,
a.btn-outline:hover {
  outline: none !important;
  outline-offset: 0 !important;
}

/* Primário (fundo teal → preenche a preto da esquerda) */
button:not(.guias-modal__close):not(.hamburguer-bt):not(.header-language__button):not(.header-language__current):not(.filtros-toggle-btn):not(.produtos-categorias-toggle):not(.produtos-sidebar__search-btn):not(.filtro-preco__btn),
.button,
.btn-principal,
a.btn:not(.btn-outline):not(.btn-secundario),
a.button {
  background: var(--color-acid, #56d7d8) !important;
  transition:
    background-position .35s ease,
    color .25s ease,
    border-color .25s ease !important;
}
button:not(.guias-modal__close):not(.hamburguer-bt):not(.header-language__button):not(.header-language__current):not(.filtros-toggle-btn):not(.produtos-categorias-toggle):not(.produtos-sidebar__search-btn):not(.filtro-preco__btn):hover,
.button:hover,
.btn-principal:hover,
a.btn:not(.btn-outline):not(.btn-secundario):hover,
a.button:hover {
  background-position: left center !important;
  color: var(--color-white, #fff) !important;
  border-color: var(--color-black, #090808) !important;
  opacity: 1 !important;
}

/* input submit (não pode ter ::before, usa gradient) */
input[type="submit"],
input[type="button"],
input[type="reset"] {
  background: linear-gradient(to right, var(--color-black, #090808) 50%, var(--color-acid, #56d7d8) 50%) !important;
  background-size: 200% 100% !important;
  background-position: right center !important;
  transition: background-position .35s ease, color .25s ease, border-color .25s ease !important;
}
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
  background-position: left center !important;
  color: var(--color-white, #fff) !important;
  border-color: var(--color-black, #090808) !important;
  opacity: 1 !important;
}

/* Secundário (borda preta, preenche a preto) */
.btn-secundario,
.button--secondary,
.btn-outline,
a.btn-outline {
  background: linear-gradient(to right, var(--color-black, #090808) 50%, transparent 50%) !important;
  background-size: 200% 100% !important;
  background-position: right center !important;
  transition: background-position .35s ease, color .25s ease !important;
}
.btn-secundario:hover,
.button--secondary:hover,
.btn-outline:hover,
a.btn-outline:hover {
  background-position: left center !important;
  color: var(--color-white, #fff) !important;
  border-color: var(--color-black, #090808) !important;
  opacity: 1 !important;
}

/* Excepções – botões que NÃO devem ter este efeito */
.footer__newsletter input[type="submit"],
.footer__newsletter input[type="submit"]:hover,
.btn-prod .btn,
.btn-prod .btn:hover,
.guias-modal__close,
.guias-modal__close:hover,
.cart-toast__close,
.cart-toast__close:hover,
.filtros-toggle-btn,
.filtros-toggle-btn:hover,
.filtros-toggle-btn:focus,
.filtros-toggle-btn:active,
.produtos-categorias-toggle,
.produtos-categorias-toggle:hover,
.produtos-categorias-toggle:focus,
.produtos-categorias-toggle:active {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  background-position: initial !important;
  background-size: initial !important;
  transition: none !important;
}
.cart-toast__close,
.cart-toast__close:hover,
.cart-toast__close:focus {
  color: #aaa !important;
  border: none !important;
  box-shadow: none !important;
}
.cart-toast__close:hover {
  color: #090808 !important;
}
.filtros-toggle-btn,
.filtros-toggle-btn:hover,
.filtros-toggle-btn:focus,
.filtros-toggle-btn:active,
.produtos-categorias-toggle,
.produtos-categorias-toggle:hover,
.produtos-categorias-toggle:focus,
.produtos-categorias-toggle:active {
  color: #090808 !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 1 !important;
  filter: none !important;
}
.footer__newsletter input[type="submit"] {
  background: #090808 !important;
  background-size: initial !important;
}
.footer__newsletter input[type="submit"]:hover {
  background: #333 !important;
}
.btn-prod .btn {
  background: var(--color-white, #fff) !important;
}
.btn-prod .btn:hover {
  background: var(--color-acid, #56d7d8) !important;
}

/* ---------------------------------------------------------
   4. FOOTER MENU – cor preta (não cinzento escuro)
   --------------------------------------------------------- */
.footer--novo .footer__menu-col ul li a,
.footer--novo .footer__social-list li a,
.footer--novo .footer__extra-list li a {
  color: #090808 !important;
}
.footer--novo .footer__menu-col ul li a:hover,
.footer--novo .footer__social-list li a:hover,
.footer--novo .footer__extra-list li a:hover {
  color: #090808 !important;
}

/* =========================================================
   CORREÇÕES 2026-05-01 (v5)
   ========================================================= */

/* ---------------------------------------------------------
   1. PRODUTOS PAGE – header transparente cobre o conteúdo;
      adicionar padding-top equivalente à altura do header
   --------------------------------------------------------- */
.pagina-produtos .produtos-breadcrumb-wrap {
  padding-top: 120px !important;
}
/* se não houver breadcrumb, garantir espaço na secção principal */
.pagina-produtos .produtos-page {
  padding-top: 28px;
}

/* ---------------------------------------------------------
   2. PRODUTO CARD – preço acima dos botões, layout vertical
   --------------------------------------------------------- */
/* mostrar preço e botões dentro do grid de produtos */
.produtos-grid .ProdutoPrecoLista,
.produtos-grid .btn-prod {
  display: block !important;
}

/* garantir coluna vertical na área de texto do card */
.produtos-grid .min-height-texto-produto-cat {
  display: flex !important;
  flex-direction: column !important;
}

/* preço: bloco completo, antes dos botões */
.produtos-grid .ProdutoPrecoLista {
  order: 3 !important;
  margin: 6px 0 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--color-black, #090808) !important;
}

/* botões: logo depois do preço */
.produtos-grid .btn-prod {
  order: 4 !important;
  margin-top: 8px !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 6px !important;
}

/* ref antes do preço */
.produtos-grid .ref-prod { order: 2; }
.produtos-grid .nomeProdutoLista { order: 1; }
.produtos-grid .descProdutoLista { display: none !important; }

/* ---------------------------------------------------------
   3. BOTÃO GRADIENTE – excluir botões UI que não devem
      ter o efeito de fill (setas, pesquisa, hamburguer…)
   --------------------------------------------------------- */
.slick-prev,
.slick-next,
.slick-arrow,
.produtos-sidebar__search-btn,
.produtos-categorias-toggle,
.hamburguer-bt,
.voltar-topo button,
#backTopo,
.fecha-menu,
.filtro-preco__btn,
.header-language__current,
.btn-prod .btn,
[class*="abreFiltros"],
[class*="fechaFiltros"] {
  background: transparent !important;
  background-image: none !important;
  background-size: auto !important;
  background-position: initial !important;
  transition: background-color .22s ease, opacity .22s ease, color .22s ease !important;
}

/* restaurar slick arrows com estilo limpo */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(0,0,0,.18) !important;
  background: rgba(255,255,255,.9) !important;
  background-image: none !important;
  border-radius: 0;
  color: #111;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 5;
}
.slick-prev:hover,
.slick-next:hover {
  background: #56d7d8 !important;
  border-color: #56d7d8 !important;
  opacity: 1 !important;
}

/* lupa da sidebar da loja: sem gradiente, padding correto */
.produtos-sidebar__search-btn {
  background: transparent !important;
  background-image: none !important;
  padding: 0 6px 0 0 !important;
  margin-top: 0 !important;
}

/* btn-prod do card: restaurar estilos originais */
.btn-prod .btn {
  background: var(--color-white, #fff) !important;
  background-image: none !important;
  border: 1px solid var(--color-border, #e4e4df) !important;
  min-width: 36px !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
}
.btn-prod .btn:hover {
  background: var(--color-acid, #56d7d8) !important;
  border-color: var(--color-acid, #56d7d8) !important;
}

/* ---------------------------------------------------------
   4. MENU – item ativo ("ativo") não deve mudar de cor
   --------------------------------------------------------- */
.site-header--transparente .menu--principal ul li > a.ativo,
.site-header--transparente .header-nav .li-menu > a.ativo,
.site-header--transparente .menu--util ul li > a.ativo,
.site-header--transparente .header-tools__menu .li-menu > a.ativo {
  color: var(--color-white, #fff) !important;
  background: none !important;
  background-image: none !important;
}
.site-header--bloco .menu--principal ul li > a.ativo,
.site-header--bloco .header-nav .li-menu > a.ativo,
.site-header--bloco .menu--util ul li > a.ativo,
.site-header--bloco .header-tools__menu .li-menu > a.ativo {
  color: var(--color-black, #090808) !important;
  background: none !important;
  background-image: none !important;
}

/* ---------------------------------------------------------
   5. FILTRO DE PREÇO – estilo da sidebar
   --------------------------------------------------------- */
.filtro-preco-wrap {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e4e4df;
}
.filtro-preco__label {
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #333;
  margin-bottom: 10px;
}
.filtro-preco__slider-wrap {
  position: relative;
  height: 20px;
  margin-bottom: 6px;
}
.filtro-preco__range {
  position: absolute;
  width: 100%;
  top: 4px;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
  height: 4px;
  background: transparent;
  outline: none;
}
.filtro-preco__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--color-acid, #56d7d8);
  border: 1px solid #090808;
  cursor: pointer;
  pointer-events: all;
  position: relative;
  z-index: 2;
}
.filtro-preco__range::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--color-acid, #56d7d8);
  border: 1px solid #090808;
  cursor: pointer;
  pointer-events: all;
}
.filtro-preco__valores {
  display: flex;
  justify-content: space-between;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 11px;
  color: #555;
  margin-bottom: 8px;
  margin-top: 18px;
}
.filtro-preco__valores strong {
  color: #090808;
  font-weight: 700;
}
.filtro-preco__btn {
  display: block !important;
  width: 100% !important;
  background: #090808 !important;
  background-image: none !important;
  color: #fff !important;
  border: none !important;
  font-family: "Creato Display", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: 8px 0 !important;
  cursor: pointer !important;
  margin-top: 0 !important;
  height: auto !important;
  min-height: auto !important;
}
.filtro-preco__btn:hover {
  background: #333 !important;
}

/* =========================================================
   AJUSTES LOJA 2026-05-01
   ========================================================= */

/* Header transparente: todos os itens principais ficam iguais. */
.site-header--transparente .header-nav .menu--principal > div > ul > li > a,
.site-header--transparente .header-nav .menuprincipal > ul > li > a,
.site-header--transparente .menu--principal > div > ul > li > a,
.site-header--transparente .menuprincipal > ul > li > a,
.site-header--transparente .menu--principal ul li.has-submenu > a,
.site-header--transparente .menu--principal ul li.has-submenu > a::after{
  color: var(--color-white, #fffefa) !important;
  background: transparent !important;
  background-image: none !important;
}

/* Header da loja: menu, utilitários, logo e hamburguer em preto. */
body.pagina-produtos .site-header--transparente .header-brand__logo,
body.produtos-inner .site-header--transparente .header-brand__logo{
  filter: none !important;
}

body.pagina-produtos .site-header--transparente .header-nav .li-menu > a,
body.pagina-produtos .site-header--transparente .header-tools__menu .li-menu > a,
body.pagina-produtos .site-header--transparente .menu--principal ul li > a,
body.pagina-produtos .site-header--transparente .menu--util ul li > a,
body.pagina-produtos .site-header--transparente .menuprincipal > ul > li > a,
body.pagina-produtos .site-header--transparente .menu-registo > ul > li > a,
body.produtos-inner .site-header--transparente .header-nav .li-menu > a,
body.produtos-inner .site-header--transparente .header-tools__menu .li-menu > a,
body.produtos-inner .site-header--transparente .menu--principal ul li > a,
body.produtos-inner .site-header--transparente .menu--util ul li > a,
body.produtos-inner .site-header--transparente .menuprincipal > ul > li > a,
body.produtos-inner .site-header--transparente .menu-registo > ul > li > a{
  color: var(--color-black, #090808) !important;
}

body.pagina-produtos .site-header--transparente .hamburguer-bt__stripe,
body.produtos-inner .site-header--transparente .hamburguer-bt__stripe{
  background: var(--color-black, #090808) !important;
}

/* Cards de produto: botões cinzento claro dentro do card e preço à direita. */
.produtos-grid .min-height-texto-produto-cat{
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
}

.produtos-grid .nomeProdutoLista{
  order: 1 !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.produtos-grid .ref-prod{
  order: 2 !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.produtos-grid .btn-prod{
  order: 3 !important;
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  gap: 6px !important;
  margin-top: 10px !important;
}

.produtos-grid .ProdutoPrecoLista{
  order: 4 !important;
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 10px 0 0 12px !important;
  text-align: right !important;
  color: var(--color-black, #090808) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 36px !important;
}

.produtos-grid .descProdutoLista{
  display: none !important;
}

.produtos-grid .btn-prod a.btn:not(.btn-outline):not(.btn-secundario),
.produtos-grid .btn-prod .btn{
  background: #f2f2ef !important;
  background-image: none !important;
  border: 1px solid #e4e4df !important;
  color: var(--color-black, #090808) !important;
  min-width: 36px !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.produtos-grid .btn-prod a.btn:not(.btn-outline):not(.btn-secundario):hover,
.produtos-grid .btn-prod .btn:hover{
  background: #e8e8e2 !important;
  background-image: none !important;
  border-color: #d9d9d2 !important;
  color: var(--color-black, #090808) !important;
}

.produtos-grid .btn-prod .btn img{
  filter: none !important;
}

/* Lupa e botões de filtragem sem o background global dos botões. */
button.produtos-sidebar__search-btn:not(.guias-modal__close):not(.hamburguer-bt):not(.header-language__button):not(.header-language__current),
button.produtos-sidebar__search-btn:not(.guias-modal__close):not(.hamburguer-bt):not(.header-language__button):not(.header-language__current):hover{
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  color: #7a7a74 !important;
  box-shadow: none !important;
}

button.filtro-preco__btn:not(.guias-modal__close):not(.hamburguer-bt):not(.header-language__button):not(.header-language__current){
  background: var(--color-black, #090808) !important;
  background-image: none !important;
}

button.filtro-preco__btn:not(.guias-modal__close):not(.hamburguer-bt):not(.header-language__button):not(.header-language__current):hover{
  background: #333 !important;
  background-image: none !important;
}

/* Filtro de preço sem bordas pretas. */
.filtro-preco__range::-webkit-slider-thumb{
  border: 1px solid #d9d9d2 !important;
}

.filtro-preco__range::-moz-range-thumb{
  border: 1px solid #d9d9d2 !important;
}

.filtro-preco__range::-webkit-slider-runnable-track{
  height: 4px !important;
  border: 0 !important;
  background: #d9d9d2 !important;
}

.filtro-preco__range::-moz-range-track{
  height: 4px !important;
  border: 0 !important;
  background: #d9d9d2 !important;
}

.site-header--transparente .menu--principal .sub-menu li a,
.site-header--transparente .menu--principal .submenu--produtos li a,
.site-header--transparente .menuprincipal .sub-menu li a{
  color: var(--color-black, #090808) !important;
}

/* =========================================================
   AJUSTES LOJA 2026-05-01 (v2)
   ========================================================= */

/* Topbar: idiomas centrados verticalmente. */
.header-language{
  top: 0 !important;
  bottom: 0 !important;
  height: 36px !important;
  align-items: center !important;
}

.header-language__current{
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.header-language__arrow{
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

/* Header: preto em todas as páginas, exceto homepage e Sobre Nós. */
body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente{
  position: relative !important;
}

body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .header-brand__logo{
  filter: none !important;
}

body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .header-nav .li-menu > a,
body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .header-tools__menu .li-menu > a,
body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .menu--principal ul li > a,
body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .menu--util ul li > a,
body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .menuprincipal > ul > li > a,
body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .menu-registo > ul > li > a{
  color: var(--color-black, #090808) !important;
}

body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .hamburguer-bt__stripe{
  background: var(--color-black, #090808) !important;
}

/* O after acompanha sempre a cor do item de menu. */
.header-nav .li-menu > a::after,
.header-tools__menu .li-menu > a::after,
.menuprincipal > ul > li > a::after,
.menu-registo > ul > li > a::after,
.menu--principal ul li.has-submenu > a::after,
.li-menu.tem-sub > a::after{
  color: currentColor !important;
}

/* Ícone de pesquisa do menu utilitário: usa currentColor para acompanhar texto. */
.header-tools__menu .li-menu > a.pesquisar,
.header-tools__menu .menu-search-2 > a.pesquisar,
.menu-registo .menu-search-2 > a.pesquisar{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.header-tools__menu .li-menu > a.pesquisar .fa-search,
.header-tools__menu .menu-search-2 > a.pesquisar .fa-search,
.menu-registo .menu-search-2 > a.pesquisar .fa-search{
  display: none !important;
}

.header-tools__menu .li-menu > a.pesquisar::after,
.header-tools__menu .menu-search-2 > a.pesquisar::after,
.menu-registo .menu-search-2 > a.pesquisar::after{
  content: "" !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin-left: 0 !important;
  background-color: currentColor !important;
  -webkit-mask: url('/assets/icon-search.svg') center / contain no-repeat !important;
  mask: url('/assets/icon-search.svg') center / contain no-repeat !important;
}

/* Espaçamento uniforme quando o header já ocupa espaço no fluxo. */
.pagina-produtos .produtos-breadcrumb-wrap{
  padding-top: 0 !important;
}

.pagina-produtos .produtos-page{
  padding-top: 28px !important;
}

/* Pesquisa global: texto preto, hover azul. */
.overlay-pesquisa .form-pesquisa input[type="submit"],
.form-pesquisa input[type="submit"].button{
  background: var(--color-white, #fffefa) !important;
  background-image: none !important;
  border: 1px solid var(--color-black, #090808) !important;
  color: var(--color-black, #090808) !important;
}

.overlay-pesquisa .form-pesquisa input[type="submit"]:hover,
.form-pesquisa input[type="submit"].button:hover{
  background: var(--color-white, #fffefa) !important;
  background-image: none !important;
  border-color: var(--color-black, #090808) !important;
  color: var(--color-acid, #56d7d8) !important;
}

/* Cards de produto: homepage e listagem com botões no fundo e preço à direita. */
.blococentralprodutos .min-height-texto-produto-cat,
.produtos-grid .min-height-texto-produto-cat{
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
}

.blococentralprodutos .nomeProdutoLista,
.produtos-grid .nomeProdutoLista{
  order: 1 !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.blococentralprodutos .ref-prod,
.produtos-grid .ref-prod{
  order: 2 !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.blococentralprodutos .btn-prod,
.produtos-grid .btn-prod{
  order: 3 !important;
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  gap: 6px !important;
  margin-top: 10px !important;
}

.blococentralprodutos .ProdutoPrecoLista,
.produtos-grid .ProdutoPrecoLista{
  order: 4 !important;
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 10px 0 0 12px !important;
  text-align: right !important;
  line-height: 36px !important;
}

.blococentralprodutos .btn-prod a.btn:not(.btn-outline):not(.btn-secundario),
.blococentralprodutos .btn-prod .btn{
  background: #f8f8f5 !important;
  background-image: none !important;
  border-color: #ecece7 !important;
}

.blococentralprodutos .btn-prod a.btn:not(.btn-outline):not(.btn-secundario):hover,
.blococentralprodutos .btn-prod .btn:hover{
  background: #eeeeea !important;
  background-image: none !important;
  border-color: #e2e2dc !important;
}

.blococentralprodutos .btn-prod .btn img,
.produtos-grid .btn-prod .btn img{
  filter: brightness(0) !important;
  opacity: 1 !important;
}

/* Filtro de preço: bolas centradas no traço e sem bordas pretas. */
.filtro-preco__slider-wrap{
  height: 24px !important;
}

.filtro-preco__range{
  top: 8px !important;
  height: 4px !important;
}

.filtro-preco__range::-webkit-slider-thumb{
  width: 14px !important;
  height: 14px !important;
  margin-top: -5px !important;
  border: 1px solid #d9d9d2 !important;
}

.filtro-preco__range::-moz-range-thumb{
  width: 14px !important;
  height: 14px !important;
  border: 1px solid #d9d9d2 !important;
}

/* =========================================================
   AJUSTES FINAIS LOJA 2026-05-01
   ========================================================= */

/* Topbar idiomas: alinhamento vertical real. */
.header-language,
.header-language__current,
.header-language__dropdown li,
.header-language__dropdown a{
  line-height: normal !important;
}

.header-language{
  top: 0 !important;
  bottom: auto !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.header-language__current{
  height: 36px !important;
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

.header-language__arrow{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 1em !important;
  line-height: 1 !important;
}

/* Newsletter footer igual ao PDF: input branco e botão preto encaixado à direita. */
.footer__newsletter .form-tag-newsletter{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 136px !important;
  column-gap: 0 !important;
  row-gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 560px !important;
  border: 0 !important;
  padding: 0 !important;
}

.footer__newsletter .cx-email{
  grid-column: 1 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer__newsletter .cx-submit{
  grid-column: 2 !important;
  width: 136px !important;
  height: 56px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--color-black, #090808) !important;
  border: 0 !important;
  display: block !important;
}

.footer__newsletter input[type="email"].form-control{
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  background: var(--color-white, #fffefa) !important;
  border: 0 !important;
  color: var(--color-black, #090808) !important;
  box-shadow: none !important;
}

.footer__newsletter input[type="submit"].form-control{
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  background: var(--color-black, #090808) !important;
  background-image: none !important;
  border: 0 !important;
  color: var(--color-white, #fffefa) !important;
  box-shadow: none !important;
}

.footer__newsletter input[type="submit"].form-control:hover{
  background: #333 !important;
  background-image: none !important;
  color: var(--color-white, #fffefa) !important;
  opacity: 1 !important;
}

.footer__newsletter .cx-checkboxs{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 640px){
  .footer__newsletter .form-tag-newsletter{
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column;
    gap: 12px !important;
  }

  .footer__newsletter .cx-email,
  .footer__newsletter .cx-submit,
  .footer__newsletter .cx-checkboxs{
    grid-column: 1 !important;
    width: 100% !important;
    position: relative;
  }
}

/* Pesquisa geral: botão preto/branco e hover azul/preto. */
.overlay-pesquisa .form-pesquisa input[type="submit"],
.form-pesquisa input[type="submit"].button{
  background: var(--color-black, #090808) !important;
  background-image: none !important;
  border: 1px solid var(--color-black, #090808) !important;
  color: var(--color-white, #fffefa) !important;
}

.overlay-pesquisa .form-pesquisa input[type="submit"]:hover,
.form-pesquisa input[type="submit"].button:hover{
  background: var(--color-acid, #56d7d8) !important;
  background-image: none !important;
  border-color: var(--color-acid, #56d7d8) !important;
  color: var(--color-black, #090808) !important;
}

/* Loja: cards iguais à home e 4 por linha. */
.produtos-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.produtos-grid .blProduto{
  display: flex !important;
  flex-direction: column !important;
  background: #f8f8f5 !important;
  border: 1px solid #ecece7 !important;
  padding: 14px !important;
  min-height: 100% !important;
}

.produtos-grid .imagemProdutoCategoria{
  margin-bottom: 14px !important;
  background: transparent !important;
  border: 0 !important;
}

.produtos-grid .imgProdutoLista{
  aspect-ratio: 1 / 0.74 !important;
  background-color: #f8f8f5 !important;
}

.produtos-grid .btn-prod a.btn:not(.btn-outline):not(.btn-secundario),
.produtos-grid .btn-prod .btn{
  background: #f8f8f5 !important;
  background-image: none !important;
  border-color: #ecece7 !important;
}

.produtos-grid .btn-prod a.btn:not(.btn-outline):not(.btn-secundario):hover,
.produtos-grid .btn-prod .btn:hover{
  background: #eeeeea !important;
  background-image: none !important;
  border-color: #e2e2dc !important;
}

@media (max-width: 1400px){
  .produtos-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px){
  .produtos-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px){
  .produtos-grid{
    grid-template-columns: 1fr !important;
  }
}

/* Header transparente nas páginas internas pedidas. */
body.produtos-inner .site-header--transparente,
body.carrinho .site-header--transparente,
body.accountPage .site-header--transparente{
  position: relative !important;
}

body.produtos-inner .site-header--transparente .header-main,
body.carrinho .site-header--transparente .header-main,
body.accountPage .site-header--transparente .header-main{
  background: transparent !important;
}

/* Ajuste final: idiomas centrados pelo eixo da topbar. */
.header-topbar .header-language{
  top: 50% !important;
  bottom: auto !important;
  height: 36px !important;
  min-height: 36px !important;
  transform: translateY(-50%) !important;
}

.header-topbar .header-language__current{
  height: 36px !important;
  min-height: 36px !important;
  line-height: 1 !important;
}

/* Pesquisa geral em qualquer zona do site. */
.form-pesquisa input[type="submit"]{
  background: var(--color-black, #090808) !important;
  background-image: none !important;
  border-color: var(--color-black, #090808) !important;
  color: var(--color-white, #fffefa) !important;
}

.form-pesquisa input[type="submit"]:hover{
  background: var(--color-acid, #56d7d8) !important;
  background-image: none !important;
  border-color: var(--color-acid, #56d7d8) !important;
  color: var(--color-black, #090808) !important;
}

/* =========================================================
   CORREÇÕES 2026-05-01 (v6)
   ========================================================= */

/* ---------------------------------------------------------
   1. MENU MOBILE – letras sempre a preto quando aberto
      (a regra v5 de "branco !important" afectava mobile)
   --------------------------------------------------------- */
/* Restringir a regra de branco ao desktop */
@media (min-width: 992px) {
  .site-header--transparente .menu--principal ul li a,
  .site-header--transparente .menu--principal ul li a.ativo,
  .site-header--transparente .header-nav ul li a,
  .site-header--transparente .menuprincipal ul li a,
  .site-header--transparente .menuprincipal ul li a.ativo,
  .site-header--transparente .menu--util ul li a,
  .site-header--transparente .header-tools__menu .li-menu > a {
    color: var(--color-white, #fff) !important;
    background: none !important;
    background-image: none !important;
  }
}

/* Mobile: menu principal e submenu com letras pretas */
@media (max-width: 991px) {
  .header-nav .menu--principal ul li a,
  .header-nav .menu--principal ul li a.ativo,
  .header-nav .menu--principal ul li li a,
  .site-header--transparente .header-nav .menu--principal ul li a,
  .site-header--transparente .header-nav .menu--principal ul li a.ativo {
    color: var(--color-black, #090808) !important;
    background: none !important;
    background-image: none !important;
  }

  /* Submenu mobile: fundo transparente + letras pretas */
  .header-nav .sub-menu,
  .header-nav .menu--principal ul ul,
  .header-nav .menuprincipal .sub-menu {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    border-left: 1px solid rgba(9,8,8,.2) !important;
  }
  .header-nav .sub-menu li a,
  .header-nav .menu--principal ul ul li a,
  .header-nav .menuprincipal .sub-menu li a {
    color: var(--color-black, #090808) !important;
    background: none !important;
    background-image: none !important;
    font-size: 15px !important;
  }
  .header-nav .sub-menu li a:hover,
  .header-nav .menuprincipal .sub-menu li a:hover {
    background: rgba(0,0,0,.06) !important;
    color: var(--color-black, #090808) !important;
  }
}

/* ---------------------------------------------------------
   2. FOOTER MOBILE – input newsletter com fundo branco
      e z-index acima de qualquer overlay
   --------------------------------------------------------- */
@media (max-width: 767px) {
  .footer__newsletter {
    position: relative;
    z-index: 10;
  }
  .footer__newsletter .form-tag-newsletter {
    position: relative;
    z-index: 10;
  }
  .footer__newsletter input[type="email"].form-control {
    background: #fff !important;
    position: relative;
    z-index: 10;
    pointer-events: auto !important;
  }
  .footer__newsletter input[type="submit"].form-control {
    position: relative;
    z-index: 10;
    pointer-events: auto !important;
  }
}

/* ---------------------------------------------------------
   3. FILTROS – toggle "Filtros" no mobile
   --------------------------------------------------------- */

/* Botão "Filtros" – visível só em mobile */
.filtros-toggle-btn {
  display: none;
}

@media (max-width: 991px) {
  .filtros-toggle-btn {
    display: flex !important;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: transparent !important;
    background-image: none !important;
    border: 1px solid #d9d9d2 !important;
    color: var(--color-black, #090808) !important;
    font-family: "Creato Display", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    padding: 10px 14px !important;
    cursor: pointer !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    min-height: auto !important;
    height: auto !important;
    outline: none !important;
  }
  .filtros-toggle-btn .filtros-toggle-btn__arrow {
    margin-left: auto;
    display: inline-block;
    transition: transform .25s ease;
    font-size: 16px;
    line-height: 1;
  }
  .filtros-toggle-btn.is-open .filtros-toggle-btn__arrow {
    transform: rotate(180deg);
  }
  .filtros-toggle-btn:hover {
    background: transparent !important;
    background-image: none !important;
    outline: none !important;
  }

  /* Sidebar box colapsada por defeito em mobile */
  #produtosSidebarBox {
    display: none;
    padding-top: 12px;
  }
  #produtosSidebarBox.is-open {
    display: block;
  }
}

/* ---------------------------------------------------------
   4. BOTÃO "CATEGORIAS" na sidebar – fundo transparente
   --------------------------------------------------------- */
.produtos-categorias-toggle,
.produtos-categorias-toggle:hover,
.produtos-categorias-toggle:focus {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  color: var(--color-black, #090808) !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: color .2s ease !important;
}
.produtos-categorias-toggle:hover {
  color: var(--color-text-soft, #6f6f69) !important;
}

/* ---------------------------------------------------------
   5. RANGE SLIDERS DO FILTRO DE PREÇO – sem borda preta
   --------------------------------------------------------- */
.filtro-preco__range::-webkit-slider-thumb {
  border: none !important;
  box-shadow: 0 0 0 2px rgba(86,215,216,.5);
}
.filtro-preco__range::-moz-range-thumb {
  border: none !important;
  box-shadow: 0 0 0 2px rgba(86,215,216,.5);
}
/* track com cor da marca */
.filtro-preco__range::-webkit-slider-runnable-track {
  height: 3px;
  background: #d9d9d2;
  border-radius: 2px;
}
.filtro-preco__range::-moz-range-track {
  height: 3px;
  background: #d9d9d2;
  border-radius: 2px;
}

/* =========================================================
   FINAL – Newsletter caixa branca (input + botão dentro)
   ========================================================= */

/* Container do formulário: caixa branca com grid
   coluna 1 = email  |  coluna 2 = botão
   linha 2 = consentimento (abaixo da caixa)               */
.footer__newsletter .form-tag-newsletter {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  background: #fff !important;
  padding: 0 !important;
  border: 0 !important;
  max-width: 480px !important;
  width: 100% !important;
}

/* Wrapper do input email – col 1, linha 1 */
.footer__newsletter .form-tag-newsletter .cx-email {
  grid-column: 1 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Wrapper do botão – col 2, linha 1 */
.footer__newsletter .form-tag-newsletter .cx-submit {
  grid-column: 2 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-left: 1px solid #d9d9d2 !important;
  display: flex !important;
  align-items: stretch !important;
}

/* Consentimento – ocupa largura total, fica abaixo */
.footer__newsletter .form-tag-newsletter .cx-checkboxs {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  background: transparent !important;
  padding: 8px 0 0 !important;
  margin: 0 !important;
}

/* Input email: transparente dentro da caixa branca */
.footer__newsletter input[type="email"].form-control {
  display: block !important;
  width: 100% !important;
  height: 54px !important;
  padding: 0 16px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #090808 !important;
  font-family: "Creato Display", Arial, sans-serif !important;
  font-size: 13px !important;
  margin: 0 !important;
}

/* Botão subscrever: transparente, texto preto, sem gradiente */
.footer__newsletter input[type="submit"].form-control {
  display: block !important;
  width: auto !important;
  height: 54px !important;
  padding: 0 20px !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #090808 !important;
  font-family: "Creato Display", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
.footer__newsletter input[type="submit"].form-control:hover {
  opacity: .65 !important;
  background: transparent !important;
  background-image: none !important;
}

/* Mobile: empilha input em cima, botão abaixo */
@media (max-width: 600px) {
  .footer__newsletter .form-tag-newsletter {
    grid-template-columns: 1fr !important;
  }
  .footer__newsletter .form-tag-newsletter .cx-submit {
    grid-column: 1 !important;
    grid-row: 2 !important;
    border-left: 0 !important;
    border-top: 1px solid #d9d9d2 !important;
  }
  .footer__newsletter .form-tag-newsletter .cx-checkboxs {
    grid-row: 3 !important;
  }
}

/* =========================================================
   FINAL – Menu mobile sempre preto quando hamburguer abre
   ========================================================= */
@media (max-width: 991px) {
  /* painel do menu: fundo claro e texto preto */
  .header-nav .menu--principal ul li > a,
  .header-nav .menu--principal ul li > a.ativo,
  .header-nav .menuprincipal ul li > a,
  .header-nav .menuprincipal ul li > a.ativo {
    color: #090808 !important;
    background: none !important;
    background-image: none !important;
  }

  /* submenu mobile: fundo transparente, texto preto */
  .header-nav .sub-menu,
  .header-nav .submenu--produtos,
  .header-nav .menu--principal ul .sub-menu {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-left: 1px solid rgba(9,8,8,.15) !important;
  }
  .header-nav .sub-menu li > a,
  .header-nav .submenu--produtos li > a {
    color: #090808 !important;
    background: none !important;
    background-image: none !important;
  }
}

/* =========================================================
   FINAL – Botão "Filtros" e "Categorias" na sidebar
   ========================================================= */
.filtros-toggle-btn,
.filtros-toggle-btn:hover,
.filtros-toggle-btn:focus,
.filtros-toggle-btn:active,
.produtos-categorias-toggle,
.produtos-categorias-toggle:hover,
.produtos-categorias-toggle:focus,
.produtos-categorias-toggle:active {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* =========================================================
   FINAL v2 – Newsletter: caixa branca email+botão, checkbox fora
   HTML real: cx-checkboxs (row2), cx-email (row1 col1), cx-submit (row1 col2)
   ========================================================= */

/* Reset Bootstrap cols dentro da newsletter */
.footer__newsletter .form-tag-newsletter [class*="col-"] {
  float: none !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Container: grid 2 colunas + 2 linhas; fundo TRANSPARENTE */
.footer__newsletter .form-tag-newsletter {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto auto !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  max-width: 480px !important;
  width: 100% !important;
}

/* cx-checkboxs vem primeiro no DOM → empurrar para linha 2 */
.footer__newsletter .form-tag-newsletter .cx-checkboxs {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  background: transparent !important;
  padding: 10px 0 0 !important;
}

/* cx-email → linha 1, coluna 1; fundo BRANCO */
.footer__newsletter .form-tag-newsletter .cx-email {
  grid-column: 1 !important;
  grid-row: 1 !important;
  background: #fff !important;
  padding: 0 !important;
}

/* cx-submit → linha 1, coluna 2; fundo PRETO */
.footer__newsletter .form-tag-newsletter .cx-submit {
  grid-column: 2 !important;
  grid-row: 1 !important;
  background: #090808 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
}

/* Captcha (se existir) → linha 3 */
.footer__newsletter .form-tag-newsletter .captcha-google {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  margin-top: 8px !important;
}

/* Email input – transparente dentro da caixa branca */
.footer__newsletter input[type="email"].form-control {
  display: block !important;
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 16px !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #090808 !important;
  font-family: "Creato Display", Arial, sans-serif !important;
  font-size: 13px !important;
  margin: 0 !important;
}

/* Botão SUBSCREVER – preto com letras brancas */
.footer__newsletter input[type="submit"].form-control {
  display: block !important;
  width: auto !important;
  min-width: 120px !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 20px !important;
  background: #090808 !important;
  background-image: none !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: "Creato Display", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
.footer__newsletter input[type="submit"].form-control:hover {
  background: #333 !important;
  background-image: none !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* Esconder label duplicado dentro do checkbox */
.footer__newsletter .cx-checkboxs > .label-principal {
  display: none !important;
}

/* =========================================================
   MOBILE MENU – letras SEMPRE pretas (fix especificidade)
   Copia os seletores das regras de desktop com cor branca
   e sobrepõe dentro de @media mobile, vindo por último.
   ========================================================= */
@media (max-width: 991px) {
  /* Seletores das regras desktop que punham branco: neutralizar em mobile */
  .site-header--transparente .header-nav .menu--principal > div > ul > li > a,
  .site-header--transparente .header-nav .menuprincipal > ul > li > a,
  .site-header--transparente .menu--principal > div > ul > li > a,
  .site-header--transparente .menuprincipal > ul > li > a,
  .site-header--transparente .menu--principal ul li.has-submenu > a,
  .site-header--transparente .header-nav .li-menu > a,
  .site-header--transparente .header-tools__menu .li-menu > a,
  .site-header--transparente .menu--principal ul li > a,
  .site-header--transparente .menu--util ul li > a,
  .site-header--transparente .menu-registo > ul > li > a,
  body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .header-nav .li-menu > a,
  body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .header-tools__menu .li-menu > a,
  body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .menu--principal ul li > a,
  body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .menu--util ul li > a,
  body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .menuprincipal > ul > li > a,
  body:not(.homepage):not(.cms-sobre-nos):not(.sobre-nos):not(.conteudo-cms-sobre-nos) .site-header--transparente .menu-registo > ul > li > a,
  body.pagina-produtos .site-header--transparente .menu--principal ul li > a,
  body.produtos-inner .site-header--transparente .menu--principal ul li > a,
  .header-nav .menu--principal ul li a,
  .header-nav .menu--principal ul li a.ativo,
  .header-nav .menu--principal ul li li a {
    color: #090808 !important;
    background: none !important;
    background-image: none !important;
  }

  /* Submenu mobile: preto + fundo transparente */
  .header-nav .sub-menu li a,
  .site-header--transparente .header-nav .sub-menu li a,
  .header-nav .menu--principal ul ul li a {
    color: #090808 !important;
    background: transparent !important;
    background-image: none !important;
  }
}

/* =========================================================
   MOBILE MENU – header transparente: branco → preto ao abrir
   + submenus com mesmo tamanho que itens principais
   ========================================================= */
@media (max-width: 991px) {

  /* --- Menu FECHADO (header transparente: homepage, sobre-nos)
         Logo e stripes ficam brancos via regras base.
         Nada a fazer aqui.
     --- */

  /* --- Menu ABERTO (.with-menu no body): tudo fica PRETO --- */
  .with-menu .header-brand__logo {
    filter: none !important;
  }
  .with-menu .hamburguer-bt .hamburguer-bt__stripe,
  .with-menu .hamburguer-bt__stripe {
    background: #090808 !important;
  }

  /* Carrinho e ícones do header-tools */
  .with-menu .header-tools__menu .li-menu > a,
  .with-menu .site-header--transparente .header-tools__menu .li-menu > a {
    color: #090808 !important;
  }
  /* SVG dentro dos ícones (carrinho, lupa, conta) */
  .with-menu .header-tools__menu svg,
  .with-menu .header-tools__menu svg path,
  .with-menu .header-tools__menu svg line,
  .with-menu .header-tools__menu svg rect,
  .with-menu .header-tools__menu svg circle,
  .with-menu .header-tools__menu svg polyline,
  .with-menu .header-tools__menu svg polygon {
    stroke: #090808 !important;
    color: #090808 !important;
  }

  /* --- SUBMENUS do hamburger: mesmo tamanho e estilo dos items principais --- */
  .header-nav .menu--principal ul ul li a,
  .header-nav .menu--principal ul ul li li a,
  .header-nav .menu--principal .sub-menu li a,
  .header-nav .menu--principal .sub-menu li li a {
    font-size: 22px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    color: #090808 !important;
    padding: 0 !important;
  }
}

/* =========================================================
   MOBILE – header transparente: carrinho/tools BRANCO
   quando menu está FECHADO (sem .with-menu)
   ========================================================= */
@media (max-width: 991px) {
  /* Header transparente sem menu aberto: tools ficam brancos */
  .site-header--transparente:not(.with-menu) .header-tools__menu .li-menu > a,
  body:not(.with-menu) .site-header--transparente .header-tools__menu .li-menu > a {
    color: #fff !important;
  }
  body:not(.with-menu) .site-header--transparente .header-tools__menu svg,
  body:not(.with-menu) .site-header--transparente .header-tools__menu svg path,
  body:not(.with-menu) .site-header--transparente .header-tools__menu svg line,
  body:not(.with-menu) .site-header--transparente .header-tools__menu svg rect,
  body:not(.with-menu) .site-header--transparente .header-tools__menu svg circle,
  body:not(.with-menu) .site-header--transparente .header-tools__menu svg polyline {
    stroke: #fff !important;
    color: #fff !important;
  }

  /* Excepção: páginas com header não-transparente (bloco) ficam sempre pretas */
  .site-header--bloco .header-tools__menu .li-menu > a {
    color: #090808 !important;
  }
  .site-header--bloco .header-tools__menu svg,
  .site-header--bloco .header-tools__menu svg path,
  .site-header--bloco .header-tools__menu svg line,
  .site-header--bloco .header-tools__menu svg rect,
  .site-header--bloco .header-tools__menu svg circle {
    stroke: #090808 !important;
  }
}

/* =========================================================
   MOBILE – .with-menu no BODY: carrinho/conta → PRETO
   (fix: .with-menu está no body, não no header)
   ========================================================= */
@media (max-width: 991px) {
  body.with-menu .site-header--transparente .header-tools__menu .li-menu > a,
  body.with-menu .header-tools__menu .li-menu > a {
    color: #090808 !important;
  }
  body.with-menu .site-header--transparente .header-tools__menu svg,
  body.with-menu .site-header--transparente .header-tools__menu svg path,
  body.with-menu .site-header--transparente .header-tools__menu svg line,
  body.with-menu .site-header--transparente .header-tools__menu svg rect,
  body.with-menu .site-header--transparente .header-tools__menu svg circle,
  body.with-menu .site-header--transparente .header-tools__menu svg polyline,
  body.with-menu .header-tools__menu svg,
  body.with-menu .header-tools__menu svg path,
  body.with-menu .header-tools__menu svg line,
  body.with-menu .header-tools__menu svg rect,
  body.with-menu .header-tools__menu svg circle,
  body.with-menu .header-tools__menu svg polyline {
    stroke: #090808 !important;
    color: #090808 !important;
  }
}

/* =========================================================
   FIXES: ::after cor, submenus mobile, botões toggle
   ========================================================= */

/* 1 – ::after SEMPRE com a cor do texto
   A regra do header transparente (linha ~7506) tem especificidade
   (0,4,1) e força branco sem media query. Contraposição abaixo.   */

/* Desktop bloco: ::after preto */
.site-header--bloco .menu--principal ul li.has-submenu > a::after,
.site-header--bloco .header-nav .li-menu > a::after,
.site-header--bloco .menuprincipal > ul > li > a::after {
  color: #090808 !important;
}
/* Mobile: ::after preto (mesmo em header transparente) */
@media (max-width: 991px) {
  .site-header--transparente .menu--principal ul li.has-submenu > a::after,
  .site-header--transparente .header-nav .menu--principal > div > ul > li > a::after,
  .header-nav .menu--principal ul li.has-submenu > a::after,
  .header-nav .menu--principal > div > ul > li > a::after {
    color: #090808 !important;
  }
}

/* 2 – SUBMENUS MOBILE: voltar ao tamanho proporcional (15px)
   22px ficou demasiado grande no painel lateral do hamburger   */
@media (max-width: 991px) {
  .header-nav .menu--principal ul ul li a,
  .header-nav .menu--principal ul ul li li a,
  .header-nav .menu--principal .sub-menu li a,
  .header-nav .menu--principal .sub-menu li li a {
    font-size: 15px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.4 !important;
    color: #090808 !important;
  }
}

/* 3 – BOTÕES TOGGLE: transparente, preto, sem hover, sem gradiente */
.filtros-toggle-btn,
.filtros-toggle-btn:hover,
.filtros-toggle-btn:focus,
.filtros-toggle-btn:active,
.produtos-categorias-toggle,
.produtos-categorias-toggle:hover,
.produtos-categorias-toggle:focus,
.produtos-categorias-toggle:active {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  color: #090808 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 1 !important;
  filter: none !important;
  background-size: 100% 100% !important;
  background-position: left center !important;
  transition: none !important;
}

/* =========================================================
   OVERRIDE FINAL – botões toggle e toast X: TRANSPARENTE
   Usa #id e body-prefix para especificidade máxima
   ========================================================= */
#btnFiltrosToggle,
#btnFiltrosToggle:hover,
#btnFiltrosToggle:focus,
#btnFiltrosToggle:active,
body .filtros-toggle-btn,
body .filtros-toggle-btn:hover,
body .filtros-toggle-btn:focus,
body .filtros-toggle-btn:active,
body .produtos-categorias-toggle,
body .produtos-categorias-toggle:hover,
body .produtos-categorias-toggle:focus,
body .produtos-categorias-toggle:active,
body .cart-toast__close,
body .cart-toast__close:hover,
body .cart-toast__close:focus {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  background-size: auto !important;
  background-position: initial !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  transition: color .15s ease !important;
}
body .filtros-toggle-btn,
body .filtros-toggle-btn:hover,
body .filtros-toggle-btn:focus,
body .produtos-categorias-toggle,
body .produtos-categorias-toggle:hover,
body .produtos-categorias-toggle:focus {
  color: #090808 !important;
}
body .cart-toast__close { color: #aaa !important; }
body .cart-toast__close:hover { color: #090808 !important; }

/* =========================================================
   FINAL 2026-05-20 – mobile menu, footer e filtros
   ========================================================= */
@media (max-width: 991px) {
  body.with-menu .site-header .header-nav,
  body.with-menu .site-header .header-nav .menu--principal,
  body.with-menu .site-header .header-nav .menuprincipal,
  body.with-menu .site-header .header-nav ul,
  body.with-menu .site-header .header-nav li,
  body.with-menu .site-header .header-nav .sub-menu,
  body.with-menu .site-header .header-nav .submenu--produtos {
    /*background: transparent !important;*/
    background-image: none !important;
    box-shadow: none !important;
  }

  body.with-menu .site-header .header-nav a,
  body.with-menu .site-header .header-nav a:hover,
  body.with-menu .site-header .header-nav a:focus,
  body.with-menu .site-header .header-nav .li-menu > a,
  body.with-menu .site-header .header-nav .sub-menu li a,
  body.with-menu .site-header .header-nav .submenu--produtos li a,
  body.with-menu .site-header--transparente .header-nav a {
    color: #090808 !important;
    background: transparent !important;
    background-image: none !important;
  }

  body.with-menu .site-header .header-nav a::after,
  body.with-menu .site-header .header-nav .li-menu > a::after,
  body.with-menu .site-header .header-nav .has-submenu > a::after {
    color: #090808 !important;
  }

  #produtosSidebarBox {
    display: none !important;
  }

  #produtosSidebarBox.is-open {
    display: block !important;
  }

  #btnFiltrosToggle,
  body .filtros-toggle-btn,
  body .produtos-categorias-toggle {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    color: #090808 !important;
  }
}

@media (max-width: 640px) {
  .footer__newsletter .form-tag-newsletter {
    position: relative !important;
    z-index: 5 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    pointer-events: auto !important;
  }

  .footer__newsletter .form-tag-newsletter .cx-email {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    position: relative !important;
    z-index: 6 !important;
    background: #fff !important;
    pointer-events: auto !important;
  }

  .footer__newsletter input[type="email"].form-control {
    position: relative !important;
    z-index: 7 !important;
    background: #fff !important;
    color: #090808 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    -webkit-user-select: text !important;
    user-select: text !important;
  }

  .footer__newsletter .form-tag-newsletter .cx-submit {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin-top: 0 !important;
  }

  .footer__newsletter input[type="submit"].form-control {
    width: 100% !important;
  }

  .footer__newsletter .form-tag-newsletter .cx-checkboxs {
    grid-column: 1 !important;
    grid-row: 3 !important;
    position: relative !important;
    z-index: 4 !important;
  }
}

.label-stock,
.produto-badge-stock,
.produto-buy-row .btn-contact-stock,
.produto-card-custom .produto-card-stock {
  display: none !important;
}

/* =========================================================
   PRODUTOS/PESQUISA – pesquisa compacta e categorias laterais
   ========================================================= */
.produtos-layout {
  grid-template-columns: 236px minmax(0, 1fr) !important;
  gap: 22px;
  align-items: start;
}

.produtos-content {
  min-width: 0;
}

.produtos-layout--sem-sidebar {
  grid-template-columns: minmax(0, 1fr) !important;
}

.produtos-layout--sem-sidebar .produtos-content {
  grid-column: 1;
}

.produtos-filtros {
  width: 100%;
}

.produtos-filtros--sidebar {
  grid-column: 1;
}

.produtos-content > .produtos-filtros--search {
  margin: 0 0 18px;
}

.produtos-filtros__search {
  display: flex !important;
  align-items: center;
  width: 100%;
  height: 38px;
  min-height: 38px;
  margin: 0 !important;
  padding: 0 12px;
  border: 1px solid #d9d9d2;
  background: #fffefa;
}

.produtos-filtros__search .form-control {
  height: 36px !important;
  min-height: 36px;
  line-height: 36px;
  padding: 0 0 0 24px !important;
  border: 0 !important;
  border-bottom: 0 !important;
  font-size: 11px !important;
    margin-bottom: 0px;
}

.produtos-filtros__search--com-reset .form-control {
  padding-right: 34px !important;
}

.produtos-filtros__search .produtos-sidebar__search-btn {
  left: 12px;
  top: 50%;
  height: 36px;
  line-height: 36px;
  display: flex;
  align-items: center;
}

.produtos-filtros__reset-search,
.produtos-filtros__reset-search:hover,
.produtos-filtros__reset-search:focus {
  position: absolute;
  right: 9px;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  border: 1px solid #d9d9d2;
  background: #090808;
  color: #fffefa !important;
  font-size: 11px;
  line-height: 1;
  text-decoration: none !important;
  opacity: 1 !important;
  z-index: 3;
}

.produtos-filtros__reset-search:hover,
.produtos-filtros__reset-search:focus {
  border-color: #56d7d8;
  background: #56d7d8;
  color: #090808 !important;
}

.produtos-filtros__box {
  display: block;
  width: 100%;
  padding: 14px !important;
}

.produtos-filtros__box .filtro-preco-wrap {
  margin-bottom: 18px;
  padding: 0 0 16px;
  border-right: 0;
  border-bottom: 1px solid #e4e4df;
}

.produtos-filtros__label {
  margin-bottom: 12px;
  color: #333;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

.produtos-filtros .itens-cat-catetoria-produto {
  display: block !important;
}

.produtos-filtros .itens-cat-catetoria-produto > li > a {
  padding-top: 6px;
  padding-bottom: 6px;
}

.produtos-filtros .itens-cat-catetoria-produto .subs-cat {
  padding-left: 10px;
}

.produtos-filtros .itens-cat-catetoria-produto li.tem-sub.is-open > .subs-cat {
  display: block;
}

body#pesquisar .pesquisa-produtos-layout {
  margin-top: 22px;
}

body#pesquisar .pesquisa-resultados-content .blococentralprodutos {
  margin-left: -10px;
  margin-right: -10px;
}

body#pesquisar .pesquisa-resultados-content .produtos-filtros--search {
  margin-bottom: 24px;
}

@media (max-width: 991px) {
  .produtos-layout {
    grid-template-columns: 1fr !important;
  }

  .produtos-content > .produtos-filtros--search {
    margin-bottom: 14px;
  }

  .produtos-filtros__search {
    height: 36px;
    min-height: 36px;
  }

  .produtos-filtros__search .form-control {
    height: 34px !important;
    min-height: 34px;
    line-height: 34px;
  }

  .produtos-filtros .produtos-filtros__label {
    display: none;
  }

  .produtos-filtros .itens-cat-catetoria-produto,
  body#pesquisar .produtos-filtros .itens-cat-catetoria-produto {
    display: none !important;
  }

  .produtos-filtros .itens-cat-catetoria-produto.is-open,
  body#pesquisar .produtos-filtros .itens-cat-catetoria-produto.is-open {
    display: block !important;
  }

  .produtos-filtros #produtosSidebarBox {
    display: none !important;
  }

  .produtos-filtros #produtosSidebarBox.is-open {
    display: block !important;
  }
}

/* =========================================================
   FAQS – categorias com perguntas em acordeão
   ========================================================= */
.faqs-page {
  padding-top: 58px;
  padding-bottom: 74px;
}

.faqs-page__heading {
  margin-bottom: 26px;
}

.faqs-page .title-normal {
  margin: 0;
  color: #090808;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: clamp(30px, 2.6vw, 46px);
  font-weight: 500;
  line-height: 1.08;
  text-align: center;
}

.faqs-page .filtro-categorias {
  max-width: 980px;
  margin: 0 auto 38px;
}

.faqs-filter__nav {
  width: 100%;
}

.faqs-filter__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.faqs-filter__list li {
  margin: 0;
  padding: 0;
}

.faqs-filter__link,
.faqs-filter__link:hover,
.faqs-filter__link:focus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 15px;
  border: 1px solid #d9d9d2;
  background: #fffefa;
  color: #090808 !important;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  opacity: 1 !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.faqs-filter__link:hover,
.faqs-filter__link:focus {
  border-color: #090808;
  background: #090808;
  color: #fffefa !important;
}

.faqs-filter__link.item-ativo-cat,
.faqs-filter__link.item-ativo-cat:hover,
.faqs-filter__link.item-ativo-cat:focus {
  border-color: #56d7d8;
  background: #56d7d8;
  color: #090808 !important;
}

.faqs-categorias-lista {
  max-width: 980px;
  margin: 0 auto;
}

.faq-category {
  margin-bottom: 34px;
}

.faq-category__title {
  margin: 0 0 14px;
  color: #090808;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  text-transform: uppercase;
}

.faq-category__items .row {
  margin-left: 0;
  margin-right: 0;
}

.faq-category__items [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}

.faqs-page .blfaq {
  position: relative;
  margin-bottom: 10px;
  padding: 18px 52px 18px 18px;
  border: 1px solid #e4e4df;
  background: #fffefa;
  cursor: pointer;
}

.faqs-page .titulofaq {
  color: #090808;
  font-family: "Creato Display", Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

.faqs-page .descfaq {
  display: none;
  margin-top: 14px;
  color: #333;
  font-size: 14px;
  line-height: 1.7;
}

.faqs-page .setafaqs {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 18px;
  height: 18px;
}

.faqs-page .setafaqs::before,
.faqs-page .setafaqs::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 18px;
  height: 2px;
  background: #56d7d8;
  transition: transform .2s ease;
}

.faqs-page .setafaqs::after {
  transform: rotate(90deg);
}

.faqs-page .setafaqs.abresetafaqs::after {
  transform: rotate(0deg);
}

@media (max-width: 640px) {
  .faqs-page {
    padding-top: 36px;
    padding-bottom: 56px;
  }

  .faqs-page__heading {
    margin-bottom: 20px;
  }

  .faqs-page .title-normal {
    font-size: 30px;
  }

  .faqs-page .filtro-categorias {
    margin-bottom: 30px;
  }

  .faqs-filter__list {
    justify-content: flex-start;
    gap: 8px;
  }

  .faqs-filter__list li {
    flex: 1 1 calc(50% - 8px);
  }

  .faqs-filter__link {
    width: 100%;
    min-height: 34px;
    padding: 0 10px;
    font-size: 11px;
  }

  .faq-category__title {
    font-size: 17px;
  }

  .faqs-page .blfaq {
    padding: 16px 46px 16px 14px;
  }
}
