/**
 * Ladrilar — sistema visual e camada responsiva
 *
 * Direção: artesanal, sofisticada, atemporal e customizável.
 * Esta folha corrige e padroniza o legado sem reestruturar o desktop.
 */

:root {
  --ldl-color-navy: #1f252d;
  --ldl-color-gold: #a49562;
  --ldl-color-gold-ink: #806c37;
  --ldl-color-charcoal: #474644;
  --ldl-color-muted: #66635f;
  --ldl-color-white: #fff;
  --ldl-color-porcelain: #fbfaf7;
  --ldl-color-linen: #f4f0e8;
  --ldl-color-border: #ded6c7;
  --ldl-color-danger: #8e3f35;

  --ldl-space-1: 0.25rem;
  --ldl-space-2: 0.5rem;
  --ldl-space-3: 0.75rem;
  --ldl-space-4: 1rem;
  --ldl-space-6: 1.5rem;
  --ldl-space-8: 2rem;
  --ldl-space-12: 3rem;
  --ldl-space-16: 4rem;
  --ldl-space-24: 6rem;

  --ldl-radius-sm: 0.25rem;
  --ldl-radius-md: 0.5rem;
  --ldl-radius-lg: 0.75rem;
  --ldl-shadow-soft: 0 0.75rem 2rem rgb(31 37 45 / 8%);
  --ldl-shadow-raised: 0 1rem 3rem rgb(31 37 45 / 14%);
  --ldl-ease-out: cubic-bezier(0.25, 1, 0.5, 1);
  --ldl-content-width: 87.5rem;
  --ldl-reading-width: 46rem;
  --ldl-header-z: 1000;
  --ldl-drawer-z: 1200;
  --ldl-modal-z: 1300;
  --ldl-toast-z: 1400;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--ldl-color-charcoal);
  text-rendering: optimizeLegibility;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

:where(h1, h2, h3, h4, h5, h6, p, a, button, label, figcaption) {
  overflow-wrap: anywhere;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 0.1875rem solid var(--ldl-color-gold-ink) !important;
  outline-offset: 0.1875rem;
}

.ldl-skip-link {
  position: fixed;
  top: var(--ldl-space-3);
  left: var(--ldl-space-3);
  z-index: calc(var(--ldl-toast-z) + 10);
  padding: var(--ldl-space-3) var(--ldl-space-4);
  color: var(--ldl-color-white) !important;
  background: var(--ldl-color-navy);
  font-family: 'Almarai', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(calc(-100% - 2rem));
  transition: transform 180ms var(--ldl-ease-out);
}

.ldl-skip-link:focus {
  transform: translateY(0);
}

.top_panel {
  z-index: var(--ldl-header-z) !important;
}

.ldl-header {
  z-index: var(--ldl-header-z) !important;
  transition:
    box-shadow 220ms var(--ldl-ease-out),
    background-color 220ms var(--ldl-ease-out) !important;
}

.ldl-header__inner,
.ldl-header__logo img,
.page_wrap {
  transition-property: none !important;
}

.ldl-header__menu a::after {
  width: 100% !important;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms var(--ldl-ease-out) !important;
}

.ldl-header__menu a:hover::after,
.ldl-header__menu .current-menu-item > a::after,
.ldl-header__menu .current_page_item > a::after {
  transform: scaleX(1);
}

.ldl-page-intro {
  width: min(calc(100% - 2rem), var(--ldl-content-width));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 6rem) 0 clamp(2rem, 4vw, 3.5rem);
  text-align: center;
}

.ldl-page-intro__eyebrow {
  margin: 0 0 var(--ldl-space-3);
  color: var(--ldl-color-gold-ink);
  font-family: 'Almarai', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ldl-page-intro h1 {
  max-width: 56rem;
  margin: 0 auto var(--ldl-space-4);
  color: var(--ldl-color-charcoal);
  font-family: 'Libre Baskerville', serif;
  font-size: clamp(2rem, 4vw, 3.75rem);
  font-weight: 400;
  line-height: 1.16;
}

.ldl-page-intro > p:last-child {
  max-width: 42rem;
  margin: 0 auto;
  color: var(--ldl-color-muted);
  font-family: 'Almarai', sans-serif;
  font-size: 1rem;
  line-height: 1.7;
}

/* Fotos: mantém o cabeçalho editorial íntegro mesmo quando o CSS do tema pai
 * é impresso depois das folhas do child theme pelo Visual Composer. */
body.page-id-3209 #main-content > .ldl-page-intro--photos {
  display: block !important;
  box-sizing: border-box;
  width: min(calc(100% - 3rem), var(--ldl-content-width)) !important;
  max-width: var(--ldl-content-width) !important;
  margin: 0 auto !important;
  padding: clamp(4rem, 6vw, 6rem) 1.5rem clamp(2.75rem, 4vw, 4rem) !important;
  text-align: center !important;
}

body.page-id-3209
  #main-content
  > .ldl-page-intro--photos
  > .ldl-page-intro__eyebrow {
  display: block !important;
  margin: 0 0 0.875rem !important;
  padding: 0 !important;
  color: var(--ldl-color-gold-ink) !important;
  font-family: 'Almarai', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.14em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

body.page-id-3209 #main-content > .ldl-page-intro--photos > h1 {
  display: block !important;
  max-width: 75rem !important;
  margin: 0 auto 1.25rem !important;
  padding: 0 !important;
  color: var(--ldl-color-charcoal) !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size: clamp(2.5rem, 4vw, 4rem) !important;
  font-weight: 400 !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-wrap: balance;
}

body.page-id-3209 #main-content > .ldl-page-intro--photos > p:last-child {
  display: block !important;
  max-width: 46rem !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--ldl-color-muted) !important;
  font-family: 'Almarai', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
}

@media (max-width: 767px) {
  body.page-id-3209 #main-content > .ldl-page-intro--photos {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 3rem 1.25rem 2.25rem !important;
  }

  body.page-id-3209 #main-content > .ldl-page-intro--photos > h1 {
    max-width: 13ch !important;
    margin-bottom: 1rem !important;
    font-size: clamp(2rem, 8vw, 2.5rem) !important;
    line-height: 1.16 !important;
  }

  body.page-id-3209 #main-content > .ldl-page-intro--photos > p:last-child {
    max-width: 34rem !important;
    font-size: 1rem !important;
  }
}

.ldl-internal-page-intro {
  width: 100%;
  margin: 0 0 var(--ldl-space-8);
  padding: clamp(2.5rem, 6vw, 4.5rem) 0 var(--ldl-space-6);
  border-bottom: 1px solid var(--ldl-color-border);
  box-sizing: border-box;
}

.ldl-internal-page-intro__eyebrow {
  margin: 0 0 var(--ldl-space-2);
  color: var(--ldl-color-gold-ink);
  font:
    700 0.75rem/1.4 'Almarai',
    sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ldl-internal-page-intro h1 {
  max-width: 16ch;
  margin: 0;
  color: var(--ldl-color-charcoal);
  font:
    400 clamp(2rem, 5vw, 3.5rem)/1.16 'Libre Baskerville',
    serif;
  text-wrap: balance;
}

.ldl-internal-page-intro__description {
  max-width: 42rem;
  margin: var(--ldl-space-3) 0 0;
  color: var(--ldl-color-muted);
  font:
    400 1rem/1.7 'Almarai',
    sans-serif;
}

.ldl-catalog-intro {
  margin: 0 0 var(--ldl-space-8);
  padding: 0 0 var(--ldl-space-6);
  border-bottom: 1px solid var(--ldl-color-border);
}

.ldl-catalog-intro__eyebrow {
  margin: 0 0 var(--ldl-space-2);
  color: var(--ldl-color-gold-ink);
  font:
    700 0.75rem/1.4 'Almarai',
    sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ldl-catalog-intro h1 {
  margin: 0 0 var(--ldl-space-3);
  color: var(--ldl-color-charcoal);
  font:
    400 clamp(2rem, 3vw, 3rem)/1.2 'Libre Baskerville',
    serif;
}

.ldl-catalog-intro > p:last-child {
  max-width: 40rem;
  margin: 0;
  color: var(--ldl-color-muted);
  font:
    400 0.9375rem/1.65 'Almarai',
    sans-serif;
}

.ldl-gallery-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--ldl-space-3);
  min-height: 12rem;
  color: var(--ldl-color-muted);
  font-family: 'Almarai', sans-serif;
  font-size: 0.875rem;
}

.ldl-gallery-loading[hidden] {
  display: none !important;
}

.ldl-gallery-loading__mark {
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--ldl-color-border);
  border-top-color: var(--ldl-color-gold-ink);
  border-radius: 50%;
  animation: ldl-loading-spin 800ms linear infinite;
}

@keyframes ldl-loading-spin {
  to {
    transform: rotate(360deg);
  }
}

.ldl-field-label {
  display: block;
  margin: 0 0 var(--ldl-space-2);
  color: var(--ldl-color-charcoal);
  font-family: 'Almarai', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.ldl-field-label .is-required {
  color: var(--ldl-color-danger);
}

:where(.wpcf7-form, .form-envio-projetos)
  :where(
    input:not([type='submit']):not([type='checkbox']):not([type='radio']),
    select,
    textarea
  ) {
  width: 100%;
  min-height: 3rem;
  border: 1px solid var(--ldl-color-border) !important;
  border-radius: var(--ldl-radius-sm) !important;
  color: var(--ldl-color-charcoal) !important;
  background: var(--ldl-color-white) !important;
  font-family: 'Almarai', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.4;
}

:where(.wpcf7-form, .form-envio-projetos) textarea {
  min-height: 8rem;
  resize: vertical;
}

:where(.wpcf7-form, .form-envio-projetos)
  :where(input, select, textarea):focus {
  border-color: var(--ldl-color-gold-ink) !important;
  box-shadow: 0 0 0 0.1875rem rgb(128 108 55 / 14%) !important;
}

:where(.wpcf7-submit, .form-envio-projetos button[type='submit']) {
  min-height: 3rem;
  padding: 0.75rem 1.5rem !important;
  border: 1px solid var(--ldl-color-gold-ink) !important;
  border-radius: var(--ldl-radius-sm) !important;
  color: var(--ldl-color-white) !important;
  background: var(--ldl-color-gold-ink) !important;
  font-family: 'Almarai', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition:
    color 180ms var(--ldl-ease-out),
    background-color 180ms var(--ldl-ease-out) !important;
}

:where(.wpcf7-submit, .form-envio-projetos button[type='submit']):hover {
  color: var(--ldl-color-white) !important;
  background: var(--ldl-color-charcoal) !important;
  border-color: var(--ldl-color-charcoal) !important;
}

.miniatura-preview #svg-holder,
.miniatura-preview .wrap-grade,
.miniatura-svg > .grade,
.miniatura-svg > .grade.rotating {
  transition-timing-function: var(--ldl-ease-out) !important;
}

.toast-notification {
  z-index: var(--ldl-toast-z) !important;
}

/* Contraste WCAG: o dourado de marca continua decorativo; textos usam a tinta escura. */
body.home .scheme_default .sc_title_title,
body.page-id-3239 h1,
body.page-id-3136 h1,
body.page-id-3320 h1,
#simulador #passo-a-passo > h2,
#simulador h6.sc_item_subtitle {
  color: var(--ldl-color-gold-ink) !important;
}

body.home .hogrid-slide__title {
  color: var(--ldl-color-gold-ink) !important;
}

body.home .hogrid-slide__btn {
  color: var(--ldl-color-white) !important;
  background-color: var(--ldl-color-gold-ink) !important;
}

body.page-id-32 .sc_item_subtitle,
body.page-id-32 .post_meta a {
  color: #6f5e30 !important;
}

body.page-id-3320 .content .ldl-footer__contact,
body.page-id-3320 .content .ldl-footer__contact address,
body.page-id-3320 .content .ldl-footer__contact a {
  color: var(--ldl-color-gold-ink) !important;
}

html body.page-id-3239 #main-content h1.sc_item_title,
html body.page-id-3136 #main-content h1.sc_item_title,
html body.page-id-3320 #main-content h1.sc_item_title {
  color: var(--ldl-color-gold-ink) !important;
}

body.page-id-3299 #main-content h4.sc_title_title {
  color: var(--ldl-color-gold-ink) !important;
}

body.single-product
  #main-content
  :where(
    .product_meta,
    .product_meta a,
    .product_meta .posted_in,
    .product_meta .posted_in a,
    .product_meta .tagged_as,
    .product_meta .tagged_as a,
    .post_tags.product_tags,
    .post_tags.product_tags a
  ),
body.page-id-51 #main-content h6,
body.page-id-495 .woocommerce-LostPassword a {
  color: var(--ldl-color-gold-ink) !important;
}

body.page-id-495 .woocommerce-LostPassword a {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

body.single-product .woocommerce-product-gallery__trigger {
  display: grid !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  place-items: center;
}

body.page-id-495 .show-password-input {
  width: 2.75rem !important;
  height: 2.75rem !important;
}

body.page-id-495 .woocommerce-form-login__submit {
  min-height: 2.75rem !important;
}

body.home #main-content .hogrid-accordion__title-word1,
body.home #main-content .hogrid-accordion__title-word2,
body.home #main-content .hogrid-accordion__btn,
body.home #main-content .hogrid-instagram__title {
  color: #6f5e30 !important;
}

body.page-id-67 #main-content #sec-orcamento h6.sc_item_subtitle {
  color: #6f5e30 !important;
}

#simulador .passo .numero {
  color: var(--ldl-color-white) !important;
  background-color: var(--ldl-color-gold-ink) !important;
}

#floating-saved-button:focus,
.btn-itens-salvos-flutuante:focus,
#btn-itens-salvos:focus {
  outline: 3px solid var(--ldl-color-gold-ink) !important;
  outline-offset: 3px;
}

/* Desktop: somente correções cirúrgicas e padronização de componentes. */
@media (min-width: 768px) {
  .produto-nome,
  .product_title,
  .post_item_wrap .post_title {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  #tapete-wrapper,
  #tapete-inner,
  #tapete-grid {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  html {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100%;
  }

  body {
    min-width: 20rem;
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  body :where(p, li) {
    font-size: 1rem;
    line-height: 1.65;
  }

  body :where(h1, .sc_title_title) {
    font-size: clamp(1.875rem, 8vw, 2.5rem) !important;
    line-height: 1.2 !important;
  }

  body h2 {
    font-size: clamp(1.5rem, 6.5vw, 2rem) !important;
    line-height: 1.28 !important;
  }

  body h3 {
    font-size: clamp(1.125rem, 5vw, 1.5rem) !important;
    line-height: 1.35 !important;
  }

  body h4 {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  .page_content_wrap,
  .content,
  .wpb-content-wrapper {
    max-width: 100%;
    overflow-x: clip;
  }

  .wpb_animate_when_almost_visible {
    opacity: 1 !important;
    animation: none !important;
  }

  .content_wrap,
  .page-template-page-blank .content_wrap {
    width: min(calc(100% - 2rem), var(--ldl-content-width)) !important;
    max-width: none !important;
  }

  .page-template-page-blank .wpb-content-wrapper > .vc_row,
  .page-template-page-blank
    .wpb-content-wrapper
    > .vc_row[data-vc-full-width='true'] {
    left: auto !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .page-template-page-blank .vc_row.vc_inner {
    width: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .page-template-page-blank .vc_column_container > .vc_column-inner {
    box-sizing: border-box;
    max-width: 100%;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .ldl-header__inner {
    min-height: 4rem;
    padding: 0.5rem 1rem !important;
  }

  .ldl-header__logo img {
    width: auto !important;
    height: 2.75rem !important;
  }

  .ldl-hamburger,
  .ldl-mobile-close,
  .ldl-search-toggle {
    width: 2.75rem !important;
    min-width: 2.75rem;
    height: 2.75rem !important;
    min-height: 2.75rem;
  }

  .ldl-hamburger span {
    width: 1.375rem !important;
  }

  .ldl-mobile-menu {
    z-index: var(--ldl-drawer-z) !important;
  }

  .ldl-mobile-menu__links a,
  .ldl-mobile-search input,
  .ldl-mobile-search button {
    font-size: 1rem !important;
  }

  .ldl-mobile-menu__links a {
    display: flex;
    align-items: center;
    min-height: 3rem;
  }

  .ldl-page-intro {
    width: 100%;
    padding: var(--ldl-space-12) var(--ldl-space-4) var(--ldl-space-8);
  }

  .ldl-page-intro h1 {
    font-size: clamp(1.875rem, 8vw, 2.5rem) !important;
  }

  .ldl-page-intro > p:last-child {
    font-size: 1rem;
    white-space: normal !important;
  }

  .vc_empty_space {
    height: 2rem !important;
    margin: 0 !important;
  }

  .vc_empty_space.height_small {
    height: 1rem !important;
  }

  .vc_empty_space.height_medium {
    height: 2rem !important;
  }

  .vc_empty_space.height_large {
    height: 3rem !important;
  }

  .vc_empty_space.height_huge {
    height: 4rem !important;
  }

  /* Home: hero claro, editorial e legível. */
  body.home .wpb-content-wrapper > .vc_row.vc_video-bg-container:first-child,
  body.page-id-2996
    .wpb-content-wrapper
    > .vc_row.vc_video-bg-container:first-child {
    min-height: min(46rem, calc(100svh - 4rem)) !important;
  }

  .ldl-mobile-hero-copy {
    right: 1rem !important;
    bottom: 2rem !important;
    left: 1rem !important;
    max-width: 30rem;
    width: auto !important;
    padding: 0 !important;
    transform: none !important;
  }

  .ldl-mobile-hero-copy__eyebrow {
    margin-bottom: 0.75rem !important;
    color: #e2d4b3 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.14em !important;
  }

  .ldl-mobile-hero-copy__title {
    max-width: 13ch;
    margin: 0 !important;
    color: var(--ldl-color-white) !important;
    font-size: clamp(2.25rem, 10vw, 3.25rem) !important;
    line-height: 1.08 !important;
  }

  .ldl-mobile-hero-copy__title strong {
    display: block;
    color: #d5bd75 !important;
    font-weight: 400;
  }

  .ldl-mobile-hero-copy__description {
    max-width: 30rem;
    margin-top: 1rem !important;
    color: var(--ldl-color-white) !important;
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
  }

  /* Galerias editoriais: duas colunas no mobile evitam jornadas excessivas. */
  body.home .hogrid-gallery,
  body.page-id-2996 .hogrid-gallery,
  body.page-id-3239 .hogrid-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.home .hogrid-gallery > *,
  body.page-id-2996 .hogrid-gallery > *,
  body.page-id-3239 .hogrid-gallery > * {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.home .hogrid-gallery a,
  body.page-id-2996 .hogrid-gallery a,
  body.page-id-3239 .hogrid-gallery a {
    display: block;
    height: 100%;
  }

  body.home .hogrid-gallery img,
  body.page-id-2996 .hogrid-gallery img,
  body.page-id-3239 .hogrid-gallery img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    object-fit: cover;
  }

  /* Página Fotos: vídeo íntegro e gutter editorial simétrico. */
  body.page-id-3209 #video-page {
    display: block !important;
    width: calc(100% - 2rem) !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9;
    margin: 0 auto 0.5rem !important;
    overflow: hidden;
  }

  body.page-id-3209 #video-page .vc_video-bg {
    position: absolute;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }

  body.page-id-3209 #video-page .vc_video-bg iframe {
    position: absolute;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
  }

  body.page-id-3209 .sc_content > .sc_content_container {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.page-id-3209 .vc_grid-container-wrapper,
  body.page-id-3209 .vc_grid-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
  }

  /* Mosaico compacto e sem posicionamento absoluto do plugin. */
  body.page-id-3209 .vc_grid.vc_row {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.page-id-3209 .vc_grid .vc_pageable-slide-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.page-id-3209 .vc_pageable-slide-wrapper::before,
  body.page-id-3209 .vc_pageable-slide-wrapper::after,
  body.page-id-3136 .cores-gallery .vc_pageable-slide-wrapper::before,
  body.page-id-3136 .cores-gallery .vc_pageable-slide-wrapper::after {
    display: none !important;
    content: none !important;
  }

  body.page-id-3209 .vc_grid-item {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.page-id-3209 .vc_gitem-zone,
  body.page-id-3209 .vc_gitem-zone-a {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1;
    background-size: cover !important;
  }

  /* Cores: amostras em grade, com nomes legíveis. */
  body.page-id-3136 .cores-gallery .vc_grid {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.page-id-3136 .cores-gallery .vc_pageable-slide-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem 0.5rem;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.page-id-3136 .cores-gallery .vc_grid-item {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.page-id-3136 .cores-gallery .vc_gitem-zone-a {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1;
    background-size: cover !important;
  }

  body.page-id-3136 .cores-gallery .vc_gitem-zone-c {
    min-height: 2.75rem;
    padding: 0.5rem 0.25rem !important;
  }

  body.page-id-3136 .cores-gallery h4,
  body.page-id-3136 .cores-gallery .vc_custom_heading {
    margin: 0 !important;
    font-size: 0.75rem !important;
    line-height: 1.35 !important;
    text-align: center;
  }

  /* Catálogo e busca: cards com ritmo, título e ações consistentes. */
  body.post-type-archive-product .content_wrap,
  body.search-results .content_wrap,
  body.search-no-results .content_wrap {
    width: min(calc(100% - 2rem), var(--ldl-content-width)) !important;
  }

  .ldl-catalog-intro {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .ldl-catalog-intro h1 {
    font-size: 1.875rem !important;
  }

  body.post-type-archive-product ul.products,
  body.post-type-archive-product .products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 0.75rem !important;
  }

  body.post-type-archive-product ul.products li.product,
  body.post-type-archive-product .products .product {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
  }

  body.post-type-archive-product .post_item_wrap,
  body.post-type-archive-product .product-card {
    height: 100%;
    padding: 0.5rem;
    border: 1px solid var(--ldl-color-border);
    background: var(--ldl-color-white);
  }

  body.post-type-archive-product ul.products li.product .post_title,
  body.post-type-archive-product
    ul.products
    li.product
    .woocommerce-loop-product__title,
  body.post-type-archive-product .produto-nome {
    overflow: visible !important;
    display: block !important;
    min-height: 4.2em;
    margin: 0.625rem 0 0 !important;
    color: var(--ldl-color-charcoal) !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
  }

  body.post-type-archive-product
    ul.products
    li.product
    .woocommerce-loop-product__title
    a {
    display: block !important;
    overflow: visible !important;
    color: inherit;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.search-results .ldl-search-page {
    padding-top: 2rem !important;
  }

  body.search-results .ldl-search-title,
  body.search-no-results .ldl-search-title {
    font-size: clamp(1.875rem, 8vw, 2.5rem) !important;
  }

  body.search-results .ldl-search-card__meta {
    color: var(--ldl-color-gold-ink) !important;
    font-size: 0.6875rem !important;
    line-height: 1.45 !important;
  }

  body.search-results .ldl-search-card__title {
    font-size: 1rem !important;
    line-height: 1.35 !important;
  }

  body.search-results .ldl-search-card__link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    font-size: 0.75rem !important;
  }

  /* Páginas institucionais: respiro editorial sem vazios artificiais. */
  body.page-id-32 .wpb_wrapper > :where(h1, h2, h3, p),
  body.page-id-3320 .wpb_wrapper > :where(h1, h2, h3, p) {
    max-width: var(--ldl-reading-width);
  }

  body.page-id-32 #row-timeline,
  body.page-id-32 .vc_tta-container,
  body.page-id-3320 .wpcf7 {
    margin-top: var(--ldl-space-8) !important;
    margin-bottom: var(--ldl-space-8) !important;
  }

  body.page-id-32 .vc_tta-title-text,
  body.page-id-32 .vc_tta-panel-body,
  body.page-id-32 .vc_tta-panel-body p {
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
  }

  body.page-id-32 .sc_blogger_columns_wrap {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem !important;
    width: 100% !important;
    height: auto !important;
  }

  body.page-id-32 .sc_blogger_columns_wrap > * {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.page-id-3320 .wpcf7-form p {
    margin-bottom: 1rem;
  }

  body.page-id-3320 .wpcf7-submit {
    width: 100%;
  }

  body.page-id-3320 .wpcf7-form .wpcf7-submit,
  body.page-id-67 .wpcf7-form .wpcf7-submit {
    min-height: 3rem !important;
    border: 1px solid var(--ldl-color-gold-ink) !important;
    color: var(--ldl-color-white) !important;
    background-color: var(--ldl-color-gold-ink) !important;
    background-image: none !important;
  }

  body.page-id-3320
    :where(.wpb_text_column, .wpb_text_column p, .wpb_text_column a) {
    color: var(--ldl-color-gold-ink) !important;
  }

  body.home
    :where(#title-home-01, #title-home-02, #title-home-03)
    .sc_title_title,
  body.page-id-3239 h1,
  body.page-id-3136 h1,
  body.page-id-3320 h1 {
    color: var(--ldl-color-gold-ink) !important;
  }

  body.home .hogrid-slide__title {
    color: var(--ldl-color-gold-ink) !important;
  }

  body.home .hogrid-slide__btn {
    color: var(--ldl-color-white) !important;
    background-color: var(--ldl-color-gold-ink) !important;
  }

  body.home .hogrid-instagram__nav {
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    height: 2.75rem !important;
    min-height: 2.75rem !important;
  }

  body.page-id-32 .sc_item_subtitle,
  body.page-id-32 .post_meta a {
    color: #6f5e30 !important;
  }

  body.page-id-3320 .content .ldl-footer__contact,
  body.page-id-3320 .content .ldl-footer__contact address,
  body.page-id-3320 .content .ldl-footer__contact a {
    color: var(--ldl-color-gold-ink) !important;
  }

  /* Simulador: jornada linear, controles tocáveis e tipografia coerente. */
  #simulador {
    width: 100%;
    padding: 2rem 1rem !important;
  }

  #simulador .simulador-intro {
    max-width: 42rem;
    margin: 0 auto 2rem;
  }

  #simulador .simulador-intro h1 {
    margin-bottom: 1rem;
  }

  #simulador #passo-a-passo > h2,
  #simulador h6.sc_item_subtitle {
    color: var(--ldl-color-gold-ink) !important;
  }

  #simulador .passo .numero {
    color: var(--ldl-color-white) !important;
    background-color: var(--ldl-color-gold-ink) !important;
  }

  #simulador .simulador-intro p,
  #simulador .instrucao,
  #simulador .helper-text {
    color: var(--ldl-color-muted);
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
  }

  #simulador .passos-container,
  #simulador .formatos-container,
  #simulador .formato-opcoes {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem !important;
  }

  #simulador .passo,
  #simulador .passo-card,
  #simulador .formato-opcao {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    height: auto !important;
    min-height: 7.5rem;
    margin: 0 !important;
    padding: 1rem !important;
    border: 1px solid var(--ldl-color-border) !important;
    border-radius: var(--ldl-radius-md) !important;
    color: var(--ldl-color-charcoal);
    background: var(--ldl-color-white);
    box-shadow: none !important;
  }

  #simulador .passo p,
  #simulador .formato-opcao span {
    margin: 0 !important;
    font-size: 0.75rem !important;
    line-height: 1.45 !important;
  }

  #simulador button.formato-opcao {
    appearance: none;
    cursor: pointer;
  }

  #simulador .formato-opcao.selecionado {
    border-color: var(--ldl-color-gold-ink) !important;
    box-shadow: inset 0 0 0 1px var(--ldl-color-gold-ink) !important;
  }

  #simulador
    :where(
      .secao-titulo,
      .titulo-secao,
      .section-title,
      .modelo-column > h2,
      .tapete-column > h2
    ) {
    margin-bottom: 1rem !important;
    color: var(--ldl-color-charcoal) !important;
    font-family: 'Libre Baskerville', serif !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
  }

  #simulador .visualizar-container,
  #simulador .simulador-fullview {
    display: flex !important;
    flex-direction: column;
    gap: 1rem;
    width: 100% !important;
  }

  #simulador .area-preview,
  #simulador .area-clicavel,
  #simulador .preview-ladrilho,
  #simulador #ladrilho {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
  }

  #simulador .area-clicavel {
    min-height: 17.5rem;
    padding: 1.5rem;
    border-radius: var(--ldl-radius-lg) !important;
  }

  #simulador .area-clicavel .texto-clicavel {
    max-width: 18rem;
    margin: 1rem auto 0 !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    white-space: normal !important;
  }

  #simulador
    :where(
      .btn-primary,
      .btn-secondary,
      .btn-outline,
      .btn-continuar,
      .btn-descartar,
      .btn-salvar-imprimir
    ) {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.75rem 1rem !important;
    border-radius: var(--ldl-radius-sm) !important;
    font-family: 'Almarai', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.04em;
    text-align: center;
    text-transform: uppercase;
  }

  #simulador :where(.btn-primary, .btn-continuar) {
    color: var(--ldl-color-white) !important;
    border-color: var(--ldl-color-gold-ink) !important;
    background: var(--ldl-color-gold-ink) !important;
  }

  #simulador
    :where(.btn-secondary, .btn-outline, .btn-descartar, .btn-salvar-imprimir) {
    color: var(--ldl-color-gold-ink) !important;
    border: 1px solid var(--ldl-color-gold-ink) !important;
    background: var(--ldl-color-white) !important;
  }

  #simulador .modelo-controles,
  #simulador .ladrilho-controles,
  #simulador .acoes-ladrilho {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
    width: 100%;
  }

  #simulador .dialog-fullscreen {
    z-index: var(--ldl-modal-z) !important;
    padding: 0 !important;
  }

  #simulador .dialog-content {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-height: 100svh;
    margin: 0 !important;
    padding: 1rem !important;
    border-radius: 0 !important;
  }

  #simulador .dialog-header {
    position: sticky;
    top: 0;
    z-index: 2;
    gap: 0.75rem;
    padding: 0.75rem 0;
    background: var(--ldl-color-white);
  }

  #simulador .dialog-header h3 {
    margin: 0 !important;
    font-size: 1.25rem !important;
  }

  #simulador .btn-fechar {
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    min-height: 2.75rem;
  }

  #simulador .dialog-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  #simulador .dialog-tabs button {
    min-height: 2.75rem;
    padding: 0.625rem;
    font-size: 0.8125rem !important;
  }

  #simulador :where(#grid-modelos-ladrilho, .grid-modelos) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
    width: 100% !important;
  }

  #simulador .modelo-item {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    height: 13.75rem !important;
    min-height: 0 !important;
    padding: 0.5rem !important;
    border: 1px solid var(--ldl-color-border) !important;
    border-radius: var(--ldl-radius-md) !important;
    color: var(--ldl-color-charcoal);
    background: var(--ldl-color-porcelain);
    text-align: center;
  }

  #simulador .modelo-item :where(img, svg) {
    display: block;
    width: 100% !important;
    flex: 0 0 8.75rem;
    height: 8.75rem !important;
    aspect-ratio: auto;
    object-fit: contain;
  }

  #simulador .modelo-item :where(h4, .modelo-titulo) {
    overflow: hidden;
    display: -webkit-box;
    min-height: 2.8em;
    max-height: 4.2em;
    margin: 0.5rem 0 0 !important;
    font-family: 'Almarai', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  #simulador #grid-modelos-ladrilho > .modelo-item,
  #simulador #grid-modelos-ladrilho .colecao-grupo__grid > .modelo-item {
    display: flex !important;
    flex-direction: column;
    height: 13.75rem !important;
    min-height: 13.75rem !important;
  }

  #simulador #grid-modelos-ladrilho > .modelo-item > :where(img, svg),
  #simulador
    #grid-modelos-ladrilho
    .colecao-grupo__grid
    > .modelo-item
    > :where(img, svg) {
    flex: 0 0 8.75rem;
    width: 100% !important;
    height: 8.75rem !important;
    object-fit: contain;
  }

  #simulador .dialog-feedback {
    grid-column: 1 / -1;
    padding: 3rem 1rem;
    color: var(--ldl-color-muted);
    font-family: 'Almarai', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    text-align: center;
  }

  #simulador .dialog-feedback--error {
    color: var(--ldl-color-danger);
  }

  #simulador .dialog-feedback button {
    min-height: 2.75rem;
    margin-top: 0.75rem;
    padding: 0.625rem 1rem;
    border: 1px solid var(--ldl-color-gold-ink);
    color: var(--ldl-color-white);
    background: var(--ldl-color-gold-ink);
    font:
      700 0.8125rem/1.3 'Almarai',
      sans-serif;
  }

  #simulador .miniaturas-column {
    width: 100% !important;
    max-width: 100% !important;
  }

  #simulador .miniaturas-grid,
  #simulador .miniaturas-container {
    display: flex !important;
    gap: 0.75rem !important;
    width: 100%;
    padding-bottom: 0.75rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  #simulador .miniatura-slot {
    flex: 0 0 min(9.5rem, 44vw) !important;
    width: auto !important;
    min-width: 0 !important;
    scroll-snap-align: start;
  }

  #simulador .miniatura-nome,
  #simulador .miniatura-title {
    overflow: hidden;
    display: -webkit-box !important;
    min-height: 2.8em;
    padding: 0.5rem !important;
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
    text-align: center;
    white-space: normal !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  #simulador
    :where(
      .btn-girar-miniatura,
      .btn-editar-miniatura,
      .btn-excluir-miniatura
    ) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: var(--ldl-radius-sm) !important;
    font-size: 0.875rem !important;
  }

  #simulador .miniatura-actions,
  #simulador .miniatura-acoes {
    display: flex !important;
    justify-content: center;
    gap: 0.375rem !important;
    padding: 0.5rem !important;
  }

  #simulador .tapete-column,
  #simulador #tapete-section,
  #simulador #tapete-wrapper,
  #simulador #tapete-inner,
  #simulador #tapete-grid {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
  }

  #simulador .tapete-column {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  #simulador #tapete-wrapper {
    padding: 1rem !important;
  }

  #simulador #tapete-inner {
    position: relative;
    height: auto !important;
    aspect-ratio: 1;
    overflow: hidden;
  }

  #simulador #tapete-grid:not(.hexagonal) {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  #simulador #tapete-grid:not(.hexagonal) .tapete-cell {
    box-sizing: border-box;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
  }

  #simulador #tapete-grid.hexagonal .tapete-cell {
    min-height: 0 !important;
  }

  #simulador .tapete-cell :where(.cell-content, .tile-content, img, svg) {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: fill;
  }

  #simulador .tapete-actions,
  #simulador .actions-vertical {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    width: 100%;
  }

  #simulador .btn-action-vertical {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 3.25rem;
    padding: 0.625rem !important;
    font-size: 0.75rem !important;
  }

  #simulador .paleta-mobile-toggle {
    z-index: calc(var(--ldl-drawer-z) - 1) !important;
    width: 3.25rem !important;
    height: 3.25rem !important;
  }

  #simulador .paleta-mobile-drawer {
    z-index: var(--ldl-drawer-z) !important;
  }

  #simulador .paleta-mobile-drawer :where(h2, h3) {
    font-size: 1.25rem !important;
  }

  #simulador .paleta-mobile-drawer :where(p, label, .cor-nome) {
    font-size: 0.8125rem !important;
    line-height: 1.45 !important;
  }

  #simulador .paleta-mobile-drawer button {
    min-width: 2.75rem;
    min-height: 2.75rem;
  }

  #floating-saved-button,
  .btn-itens-salvos-flutuante,
  #btn-itens-salvos {
    right: auto !important;
    bottom: 1rem !important;
    left: calc(20px + env(safe-area-inset-left)) !important;
    z-index: calc(var(--ldl-drawer-z) - 2) !important;
    min-height: 2.75rem;
    font-size: 0.8125rem !important;
  }

  #floating-saved-button:focus-visible,
  .btn-itens-salvos-flutuante:focus-visible,
  #btn-itens-salvos:focus-visible {
    outline: 0.1875rem solid var(--ldl-color-gold-ink) !important;
    outline-offset: 0.1875rem;
  }

  /* Rodapé: hierarquia e áreas de toque explícitas após normalizar o root. */
  footer,
  .footer_wrap {
    font-size: 0.9375rem !important;
  }

  .ldl-footer__main {
    padding: 2.5rem 0 2rem !important;
  }

  .ldl-footer__main .ldl-footer__inner {
    gap: 1.5rem !important;
  }

  .ldl-footer__desde {
    font-size: 1.5rem !important;
  }

  .ldl-footer__year {
    font-size: 4.5rem !important;
  }

  .ldl-footer .ldl-footer__menu li a {
    min-height: 2.75rem;
    padding: 0.5rem 0 !important;
    font-size: 0.875rem !important;
  }

  .ldl-footer__info {
    padding: 1.5rem 0 1.75rem !important;
  }

  .ldl-footer__info .ldl-footer__inner {
    gap: 1rem !important;
  }

  .ldl-footer .ldl-footer__contact p,
  .ldl-footer .ldl-footer__contact address,
  .ldl-footer .ldl-footer__contact address p,
  .ldl-footer .ldl-footer__contact a,
  .ldl-footer .ldl-footer__contact a[href^='mailto'] {
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
  }

  .ldl-footer .ldl-footer__social {
    gap: 1rem !important;
  }

  .ldl-footer .ldl-footer__social a,
  .ldl-footer .ldl-footer__social a i {
    font-size: 1.25rem !important;
  }

  .ldl-footer__copyright {
    padding: 0.75rem 0 !important;
  }

  .ldl-footer .ldl-footer__copyright p {
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
  }

  footer :where(a, p, li),
  .footer_wrap :where(a, p, li) {
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
  }

  footer a,
  .footer_wrap a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
  }
}

/* Barra contextual do tapete.
 * Este bloco fica na camada final do sistema visual para neutralizar regras
 * legadas conflitantes no style.css sem alterar outros botões do simulador. */
#simulador #editing-toolbar {
  position: fixed !important;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 6px !important;
  box-sizing: border-box;
  padding: 6px !important;
  border: 1px solid rgb(128 108 55 / 28%) !important;
  border-radius: var(--ldl-radius-md) !important;
  background: var(--ldl-color-white) !important;
  box-shadow: 0 0.5rem 1.5rem rgb(31 37 45 / 18%) !important;
  transform: none !important;
  z-index: calc(var(--ldl-modal-z) - 10) !important;
  pointer-events: none;
}

#simulador #editing-toolbar.is-visible {
  pointer-events: auto;
}

#simulador #editing-toolbar .toolbar-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  box-sizing: border-box;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ldl-color-border) !important;
  border-radius: 6px !important;
  color: var(--ldl-color-gold-ink) !important;
  background: var(--ldl-color-white) !important;
  box-shadow: none !important;
  transform: none;
}

#simulador #editing-toolbar .toolbar-btn:hover,
#simulador #editing-toolbar .toolbar-btn:focus-visible {
  color: var(--ldl-color-white) !important;
  background: var(--ldl-color-gold-ink) !important;
  border-color: var(--ldl-color-gold-ink) !important;
  transform: translateY(-1px);
}

#simulador #editing-toolbar .toolbar-btn-danger:hover,
#simulador #editing-toolbar .toolbar-btn-danger:focus-visible {
  background: var(--ldl-color-danger) !important;
  border-color: var(--ldl-color-danger) !important;
}

#simulador #editing-toolbar .toolbar-btn svg {
  display: block !important;
  position: static !important;
  width: 20px !important;
  max-width: none !important;
  height: 20px !important;
  overflow: visible !important;
  color: inherit !important;
  stroke: currentColor !important;
  fill: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#simulador #editing-toolbar .toolbar-btn svg * {
  color: inherit !important;
  stroke: currentColor !important;
  fill: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* O conteúdo visual da miniatura sempre cabe na área disponível. As regras
 * legadas aplicavam escalas e alturas naturais diferentes para SVG e base64,
 * o que recortava desenhos altos, hexagonais e peças rotacionadas. */
#simulador .miniaturas-column .miniatura-preview .miniatura-svg {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding: 4px;
  overflow: hidden;
}

#simulador .miniaturas-column .miniatura-preview .ladrilho-preview-base64,
#simulador .miniaturas-column .miniatura-preview .ladrilho-preview,
#simulador .miniaturas-column .miniatura-preview .preview-ladrilho,
#simulador .miniaturas-column .miniatura-preview .preview-svg {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

#simulador .miniaturas-column .miniatura-preview .miniatura-svg img,
#simulador .miniaturas-column .miniatura-preview .miniatura-svg svg {
  display: block !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center;
  transform-origin: center;
}

/* Mobile: a peça é o conteúdo principal do card. Os controles continuam
 * acessíveis, mas deixam de competir visualmente com a miniatura. */
@media (max-width: 768px) {
  #simulador .miniaturas-column .miniatura-slot {
    height: auto !important;
    min-height: 10.75rem !important;
  }

  #simulador .miniaturas-column .miniatura-content {
    height: 100% !important;
  }

  #simulador .miniaturas-column .miniatura-preview {
    flex: 1 1 auto !important;
    min-height: 8rem !important;
    padding: 0.375rem !important;
  }

  #simulador .miniaturas-column .miniatura-preview .miniatura-svg {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 5.25rem !important;
    min-height: 5.25rem !important;
    padding: 0.125rem !important;
  }

  #simulador .miniaturas-column .miniatura-preview .miniatura-titulo,
  #simulador .miniaturas-column .miniatura-nome,
  #simulador .miniaturas-column .miniatura-title {
    align-self: stretch;
    overflow: hidden;
    display: -webkit-box !important;
    box-sizing: border-box;
    width: 100%;
    min-height: 2.5rem;
    margin: 0 !important;
    padding: 0.375rem 0.5rem !important;
    color: var(--ldl-color-charcoal) !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: center;
    white-space: normal !important;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  #simulador .miniaturas-column .miniatura-actions,
  #simulador .miniaturas-column .miniatura-acoes {
    flex: 0 0 auto;
    gap: 0.375rem !important;
    padding: 0.375rem !important;
    border-top: 1px solid var(--ldl-color-border);
    background: var(--ldl-color-white) !important;
  }

  #simulador
    .miniaturas-column
    :where(
      .btn-girar-miniatura,
      .btn-editar-miniatura,
      .btn-excluir-miniatura
    ) {
    flex: 0 0 2rem !important;
    width: 2rem !important;
    min-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    border: 1px solid var(--ldl-color-border-strong) !important;
    border-radius: var(--ldl-radius-sm) !important;
    color: var(--ldl-color-gold-ink) !important;
    background: var(--ldl-color-white) !important;
    box-shadow: none !important;
  }

  #simulador
    .miniaturas-column
    :where(
      .btn-girar-miniatura,
      .btn-editar-miniatura,
      .btn-excluir-miniatura
    ):is(:hover, :focus-visible) {
    border-color: var(--ldl-color-gold-ink) !important;
    color: var(--ldl-color-white) !important;
    background: var(--ldl-color-gold-ink) !important;
  }

  #simulador .miniaturas-column .btn-editar-miniatura::before,
  #simulador .miniaturas-column .btn-excluir-miniatura::before {
    background-color: var(--ldl-color-gold-ink) !important;
  }

  #simulador
    .miniaturas-column
    .btn-editar-miniatura:is(:hover, :focus-visible)::before,
  #simulador
    .miniaturas-column
    .btn-excluir-miniatura:is(:hover, :focus-visible)::before {
    background-color: var(--ldl-color-white) !important;
  }

  #simulador .miniaturas-column .btn-limpar-miniaturas {
    min-height: 2.5rem !important;
    margin-top: 0.75rem !important;
    padding: 0.5rem 0.75rem !important;
    border: 1px solid var(--ldl-color-border-strong) !important;
    color: var(--ldl-color-gold-ink) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 0.6875rem !important;
  }
}

@media (max-width: 768px) {
  #simulador #editing-toolbar .toolbar-btn {
    flex-basis: 44px;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }
}

@media (max-width: 359px) {
  body.page-id-3136 .cores-gallery .vc_pageable-slide-wrapper,
  body.search-results .ldl-search-grid,
  body.search-no-results .ldl-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #simulador .passos-container,
  #simulador .formatos-container,
  #simulador .formato-opcoes {
    grid-template-columns: 1fr !important;
  }
}

@media (hover: none), (pointer: coarse) {
  :where(
    button,
    input[type='button'],
    input[type='submit'],
    input[type='reset'],
    .button,
    [role='button']:not(.tapete-cell)
  ) {
    min-height: 2.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Artistas desktop: a curva revela área suficiente para nomes em duas linhas. */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  body.home .hogrid-gallery__item:hover .hogrid-gallery__image,
  body.home .hogrid-gallery__item:focus-within .hogrid-gallery__image {
    border-bottom-left-radius: 72% 76%;
  }

  body.home .hogrid-gallery__overlay {
    right: 42%;
    padding: 0 1.5rem 1.5rem 0;
    transition-timing-function: var(--ldl-ease-out);
  }

  body.home .hogrid-gallery__badge {
    max-width: 100%;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-wrap: balance;
  }
}

/* ================================================================
   HOME MOBILE — composição editorial em fluxo vertical
   Mantém o desktop intacto e remove os offsets negativos herdados
   do WPBakery/shortcodes na experiência de toque.
   ================================================================ */
@media (max-width: 767px) {
  /* A largura interna não deve encolher novamente a cada shortcode aninhado. */
  body.home .sc_content_width_80p > .sc_content_container,
  body.home .sc_content_width_90p > .sc_content_container,
  body.home .sc_content_width_100p > .sc_content_container {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Artistas: fotografia e legenda passam a ser blocos distintos e legíveis. */
  body.home .hogrid-gallery__item {
    display: flex !important;
    flex-direction: column;
    height: auto !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    background: var(--ldl-color-white);
  }

  body.home .hogrid-gallery__image {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 0 !important;
  }

  body.home .hogrid-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto;
    object-fit: cover;
  }

  body.home .hogrid-gallery__overlay {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center;
    width: 100% !important;
    min-height: 3.75rem;
    padding: 0.625rem 0.5rem !important;
    opacity: 1 !important;
    background: var(--ldl-color-porcelain);
  }

  body.home .hogrid-gallery__badge {
    width: 100% !important;
    color: var(--ldl-color-gold-ink) !important;
    font-size: clamp(0.8125rem, 3.5vw, 0.9375rem) !important;
    line-height: 1.35 !important;
    text-align: center;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  /* Artigas: a imagem vem primeiro; texto, depois, sem o offset de -300px. */
  body.home .wpb_single_image.w-100 + .sc_content {
    float: none !important;
    clear: both;
    width: 100% !important;
    margin: 1.5rem 0 0 !important;
    padding: 0 !important;
  }

  body.home .wpb_single_image.w-100 + .sc_content > .sc_content_container {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible;
  }

  body.home .wpb_single_image.w-100 + .sc_content .sc_title_title {
    width: 100% !important;
    margin-top: 0;
    font-size: clamp(1.75rem, 8vw, 2.125rem) !important;
    line-height: 1.2 !important;
    text-wrap: balance;
  }

  body.home .wpb_single_image.w-100 + .sc_content .sc_item_descr {
    margin-top: 1rem !important;
  }

  body.home .wpb_single_image.w-100 + .sc_content .sc_item_descr p {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  /* Linhas exclusivas: um card completo por gesto, sem colunas comprimidas. */
  body.home .hogrid-carousel-wrapper {
    width: calc(100vw - 2rem) !important;
    margin-right: 1rem !important;
    margin-left: 1rem !important;
    padding-block: 2rem;
  }

  body.home .hogrid-carousel-wrapper .hogrid-slide__title {
    margin-top: 1rem !important;
    font-size: 1.25rem !important;
    line-height: 1.3 !important;
  }

  body.home .hogrid-carousel-wrapper .hogrid-slide__desc {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  body.home .hogrid-carousel-wrapper .hogrid-slide__btn {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.75rem 1.25rem !important;
    font-size: 0.875rem !important;
  }

  /* Introdução da história: remove o padding direito de 70px do desktop. */
  body.home .sc_content_width_90p {
    width: calc(100vw - 2rem) !important;
    margin-right: 1rem !important;
    margin-left: 1rem !important;
    padding-right: 0 !important;
  }

  body.home .tit-minor,
  body.home .tit-minor .sc_title_title {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.home .tit-minor .sc_title_title {
    margin-top: 0;
    font-size: clamp(1.5rem, 7vw, 1.875rem) !important;
    line-height: 1.28 !important;
    text-wrap: pretty;
  }

  /* Nossa História: margem editorial constante e tipografia de leitura. */
  body.home .hogrid-accordion {
    width: calc(100vw - 2rem) !important;
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  body.home .hogrid-accordion .hogrid-accordion__title {
    font-size: clamp(1.5rem, 7vw, 1.875rem) !important;
    line-height: 1.25 !important;
  }

  body.home .hogrid-accordion .hogrid-accordion__desc,
  body.home .hogrid-accordion .hogrid-accordion__desc p,
  body.home .hogrid-accordion .hogrid-accordion__panel-inner,
  body.home .hogrid-accordion .hogrid-accordion__panel-inner p {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }
}

/* ================================================================
   PÁGINAS INTERNAS MOBILE — ritmo e margens compartilhados
   ================================================================ */
@media (max-width: 767px) {
  /* Templates legados usam 370px + rows negativas; 16px recompõe o grid. */
  body:not(.home):not(.page-template-page-blank):not(.page-id-67)
    .content_wrap {
    width: calc(100% - 2rem) !important;
    max-width: var(--ldl-content-width) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .ldl-page-intro {
    width: 100% !important;
    max-width: 100vw;
    box-sizing: border-box;
  }

  .ldl-internal-page-intro {
    margin-bottom: 1.5rem;
    padding: 2rem 0 1.5rem;
  }

  .ldl-internal-page-intro h1 {
    font-size: clamp(1.875rem, 8vw, 2.5rem) !important;
  }

  /* Páginas de artistas: retrato, autoria e biografia em fluxo vertical. */
  body.ldl-artist-page .wrap-artistas {
    width: calc(100vw - 2rem) !important;
    max-width: 48rem;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.ldl-artist-page .wrap-artistas > .sc_content_container {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible;
  }

  body.ldl-artist-page
    .wrap-artistas
    > .sc_content_container
    > .vc_row:first-child {
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    gap: 1.5rem;
    width: 100%;
  }

  body.ldl-artist-page
    .wrap-artistas
    > .sc_content_container
    > .vc_row:first-child
    > .wpb_column {
    width: 100% !important;
    min-width: 0;
  }

  body.ldl-artist-page
    .wrap-artistas
    > .sc_content_container
    > .vc_row:first-child
    > .vc_col-sm-4 {
    order: -1;
  }

  body.ldl-artist-page #tit-pagina,
  body.ldl-artist-page #tit-pagina .sc_title_title {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.ldl-artist-page #tit-pagina .sc_title_title {
    margin-top: 0;
    font-size: clamp(1.875rem, 8vw, 2.25rem) !important;
    line-height: 1.2 !important;
    word-break: normal;
    overflow-wrap: break-word;
    text-wrap: balance;
  }

  body.ldl-artist-page #tit-pagina .sc_item_descr,
  body.ldl-artist-page #tit-pagina .sc_item_descr p {
    width: 100%;
    max-width: 70ch;
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  body.ldl-artist-page #tit-pagina .sc_item_descr {
    margin-top: 1rem !important;
  }

  body.ldl-artist-page .hogrid-carousel-wrapper {
    width: 100% !important;
  }

  body.ldl-artist-page .hogrid-carousel-wrapper .hogrid-slide__title {
    color: var(--ldl-color-gold-ink) !important;
    font-size: 1.125rem !important;
    line-height: 1.35 !important;
  }

  /* Linhas: as legendas seguem o mesmo padrão legível aplicado na Home. */
  body.page-id-3239 .hogrid-gallery__item {
    display: flex !important;
    flex-direction: column;
    height: auto !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }

  body.page-id-3239 .hogrid-gallery__image {
    position: relative !important;
    inset: auto !important;
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 0 !important;
  }

  body.page-id-3239 .hogrid-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto;
    object-fit: cover;
  }

  body.page-id-3239 .hogrid-gallery__overlay {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center;
    width: 100% !important;
    min-height: 3.75rem;
    padding: 0.625rem 0.5rem !important;
    opacity: 1 !important;
    background: var(--ldl-color-porcelain);
  }

  body.page-id-3239 .hogrid-gallery__badge {
    width: 100% !important;
    color: var(--ldl-color-gold-ink) !important;
    font-size: clamp(0.8125rem, 3.5vw, 0.9375rem) !important;
    line-height: 1.35 !important;
    text-align: center;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  /* Formatos: elimina a coluna estreita e preserva o título completo. */
  body.page-id-3299 .sc_content_width_80p {
    width: calc(100vw - 2rem) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.page-id-3299 .sc_content_width_80p > .sc_content_container {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-3299 #tit-pagina .sc_title_title {
    width: 100% !important;
    font-size: clamp(1.875rem, 8vw, 2.25rem) !important;
    line-height: 1.2 !important;
    word-break: normal;
    text-wrap: balance;
  }

  /* Downloads: grade técnica sem offsets negativos ou nomes cortados. */
  body.page-id-2944 .container-download,
  body.page-id-2944 .button-container,
  body.page-id-2944 .container-parent {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box;
  }

  body.page-id-2944 .button-container > span {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  body.page-id-2944 .download-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 3rem;
    margin: 0 !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid var(--ldl-color-gold-ink);
    color: var(--ldl-color-gold-ink) !important;
    font-family: 'Almarai', sans-serif !important;
    font-size: 0.8125rem !important;
    line-height: 1.35 !important;
    text-align: center;
  }

  body.page-id-2944 .container-parent {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 2rem !important;
  }

  body.page-id-2944 .image-container,
  body.page-id-2944 .image-mob-left,
  body.page-id-2944 .image-mob-right {
    display: flex !important;
    flex-direction: column;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0.625rem !important;
    border: 1px solid var(--ldl-color-border);
    background: var(--ldl-color-white);
    box-sizing: border-box;
  }

  body.page-id-2944 .image-container br {
    display: none !important;
  }

  body.page-id-2944 .download-title {
    width: 100% !important;
    min-height: 3.8em;
    margin: 0 0 0.625rem !important;
    color: var(--ldl-color-charcoal);
    font-family: 'Libre Baskerville', serif !important;
    font-size: 0.8125rem !important;
    font-weight: 400;
    line-height: 1.3 !important;
    text-align: left;
    word-break: normal;
    overflow-wrap: break-word;
  }

  body.page-id-2944 .download-thumb {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1;
    object-fit: contain;
  }

  body.page-id-2944 .image-container ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.25rem;
    margin: 0.625rem 0 0;
    padding: 0;
    list-style: none;
  }

  body.page-id-2944 .image-container li {
    min-width: 0;
    margin: 0;
    padding: 0;
  }

  body.page-id-2944 .download-text {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.25rem;
    border: 1px solid var(--ldl-color-border);
    color: var(--ldl-color-charcoal) !important;
    font-family: 'Almarai', sans-serif !important;
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    text-align: center;
    overflow-wrap: anywhere;
  }

  /* Produtos relacionados não podem voltar aos títulos de 11px do legado. */
  body.single-product
    .related
    ul.products
    li.product
    .woocommerce-loop-product__title,
  body.single-product .related ul.products li.product h2,
  body.single-product .related ul.products li.product h3 {
    min-height: 3.9em;
    margin-top: 0.625rem !important;
    padding: 0 !important;
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: break-word;
  }

  body.post-type-archive-product .woocommerce-result-count {
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
  }

  /* Notícias preserva o mosaico histórico, agora com título e separação. */
  body.blog .post_layout_chess {
    margin-bottom: 1rem !important;
  }

  body.blog .post_layout_chess .post_title,
  body.blog .post_layout_chess .post_title a {
    font-size: clamp(1rem, 4.8vw, 1.25rem) !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word;
  }
}

/* ================================================================
   SIMULADOR — restauração visual e geometria responsiva
   ================================================================ */

/* Impede que o hover genérico do tema transforme todos os controles em
   botões bege e apague as cores reais da paleta. */
#simulador button.formato-opcao,
#simulador button.area-clicavel,
#simulador #grid-modelos-ladrilho button.modelo-item {
  appearance: none;
  background-image: none !important;
}

#simulador button.formato-opcao {
  border: 2px solid #dddddd !important;
  background-color: transparent !important;
  color: #474644;
  font: inherit;
}

#simulador button#area-clicavel-ladrilho {
  box-sizing: border-box;
  width: 100%;
  border: 2px dashed #a49562 !important;
  background-color: #fafafa !important;
  color: #474644;
  font: inherit;
}

#simulador
  :is(
    button.formato-opcao,
    button.area-clicavel,
    #grid-modelos-ladrilho button.modelo-item,
    #paleta-ladrilho button.swatch
  )::before,
#simulador
  :is(
    button.formato-opcao,
    button.area-clicavel,
    #grid-modelos-ladrilho button.modelo-item,
    #paleta-ladrilho button.swatch
  )::after {
  content: none !important;
  display: none !important;
}

#simulador button.formato-opcao.selecionado {
  color: var(--ldl-color-charcoal) !important;
  border-color: var(--ldl-color-gold-ink) !important;
  background-color: var(--ldl-color-white) !important;
  box-shadow: inset 0 0 0 1px var(--ldl-color-gold-ink) !important;
}

#simulador button.formato-opcao.selecionado span {
  color: var(--ldl-color-charcoal) !important;
}

#simulador button.formato-opcao.selecionado .formato-visual {
  border-color: var(--ldl-color-gold-ink) !important;
}

#simulador #paleta-ladrilho button.swatch {
  appearance: none;
  box-sizing: border-box;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px;
  max-height: 44px;
  padding: 0 !important;
  border: 2px solid #ffffff !important;
  border-radius: 50%;
  background-color: var(--swatch-color) !important;
  background-image: none !important;
}

#customizar-ladrilho .modelo-controles,
#customizar-ladrilho .botoes-controle button.btn-descartar,
#customizar-ladrilho .botoes-controle button.btn-salvar-pdf-ladrilho {
  background-color: var(--ldl-color-white) !important;
  background-image: none !important;
}

#customizar-ladrilho .simulator-action-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-right: 8px;
}

/* A marcação interativa usa elementos button por acessibilidade. No desktop,
   eles preservam exatamente a geometria e a hierarquia visual da produção. */
@media (min-width: 769px) {
  #simulador button.formato-opcao {
    width: 160px;
    height: 150px;
    padding: 18px !important;
    border-radius: 8px !important;
  }

  #simulador #mobile-color-panel-title.simulator-step-title {
    margin: 0 0 20px !important;
    color: #474744 !important;
    font-family: 'Libre Baskerville', Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.14725 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase;
  }

  #simulador #area-clicavel-ladrilho {
    min-height: 500px;
    padding: 40px 20px !important;
    border-radius: 8px !important;
  }
}

@media (min-width: 1441px) {
  #simulador .tapete-container-inner {
    width: 625px !important;
    height: 555px !important;
    max-height: none;
    aspect-ratio: auto;
    padding: 20px;
  }
}

@media (min-width: 1264px) and (max-width: 1440px) {
  #simulador .tapete-container-inner {
    width: 575px !important;
    height: 545px !important;
    max-height: none;
    aspect-ratio: auto;
    padding: 20px;
  }
}

@media (max-width: 768px) {
  /* Todas as etapas compartilham o mesmo gutter; as margens negativas do VC
     deixam de produzir containers com larguras diferentes. */
  #simulador {
    box-sizing: border-box;
    padding: 2rem 1rem !important;
  }

  #simulador > .vc_row,
  #simulador > .tapete-fullview-wrapper {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  #simulador
    :is(
      #selecionar-formato,
      #customizar-ladrilho,
      #monte-tapete,
      #opcoes-salvar
    ) {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #simulador .passo .numero {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.25rem !important;
    height: 2.25rem !important;
    font-size: 1.125rem !important;
    line-height: 1 !important;
  }

  #simulador .dialog-header {
    box-sizing: border-box;
    width: 100%;
    padding: calc(0.75rem + env(safe-area-inset-top)) 1rem 0.75rem !important;
  }

  #simulador .dialog-header h3 {
    min-width: 0;
    max-width: calc(100% - 3.5rem);
    font-size: 1.25rem !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word;
  }

  #simulador .dialog-tabs {
    box-sizing: border-box;
    width: 100%;
    margin: 0 !important;
    padding: 0.75rem 1rem !important;
    background: var(--ldl-color-white);
  }

  #simulador .dialog-content {
    min-height: calc(100svh - 8.75rem);
    padding: 1rem !important;
  }

  #simulador #grid-modelos-ladrilho button.modelo-item {
    background-color: var(--ldl-color-white) !important;
  }

  /* Ação principal primeiro; utilidades dividem a segunda linha. */
  #customizar-ladrilho .modelo-controles {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
    padding: 1rem !important;
  }

  #customizar-ladrilho .botoes-controle {
    display: contents !important;
  }

  #customizar-ladrilho .botoes-controle button.btn-salvar {
    grid-column: 1 / -1;
    order: 1;
    width: 100% !important;
    max-width: none !important;
  }

  #customizar-ladrilho .botoes-controle button.btn-descartar,
  #customizar-ladrilho .botoes-controle button.btn-salvar-pdf-ladrilho {
    order: 2;
    width: 100% !important;
    max-width: none !important;
    padding-right: 0.625rem !important;
    padding-left: 0.625rem !important;
    white-space: normal;
  }

  body.page-id-67 #floating-saved-button,
  body.page-id-67 .btn-itens-salvos-flutuante,
  body.page-id-67 #btn-itens-salvos,
  body.page-id-67 .trx_addons_scroll_to_top {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #simulador
    :is(
      .tapete-fullview-wrapper,
      .tapete-fullview-container,
      .miniaturas-column,
      .tapete-column,
      .actions-column
    ) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
  }

  #simulador .tapete-container-inner {
    width: 100% !important;
    max-width: min(100%, 32.5rem) !important;
    height: auto !important;
    aspect-ratio: 1;
    margin: 0 auto;
    padding: 0.5rem !important;
  }

  #simulador .tapete-column .tapete-grid.hexagonal,
  #simulador .tapete-column .tapete-grid:not(.hexagonal) {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  #simulador .tapete-cell :where(.cell-content, .tile-content) {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #simulador .tapete-cell :where(img, svg) {
    object-fit: contain;
  }
}
