:root {
  --bg:#070707;
  --bg2:#0c0c0c;
  --panel:#111;
  --panel2:#151515;
  --text:#f4f3f0;
  --muted:#9d9a94;
  --gold:#c6a15b;
  --gold2:#e0c17e;
  --line:rgba(255,255,255,.09);
  --line-gold:rgba(198,161,91,.34);
  --shadow:0 28px 90px rgba(0,0,0,.48);
  --radius:24px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,Arial,sans-serif
}
a {
  color:inherit;
  text-decoration:none
}
button,
input,
select {
  font:inherit
}
button {
  cursor:pointer
}
.site-header {
  position:fixed;
  z-index:40;
  top:15px;
  left:22px;
  right:22px;
  height:68px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(7,7,7,.55);
  backdrop-filter:blur(20px);
  box-shadow:0 15px 55px rgba(0,0,0,.2);
  transition:.35s
}
.site-header.scrolled {
  background:rgba(7,7,7,.9);
  border-color:var(--line-gold)
}
.brand {
  display:flex;
  gap:10px;
  align-items:center;
  min-width:240px
}
.brand-logo {
  display:grid;
  place-items:center;
  width:50px;
  height:54px;
  flex:0 0 50px
}
.brand-logo img {
  width:50px;
  height:54px;
  object-fit:contain;
  display:block
}
.footer-logo {
  width:42px;
  height:48px;
  flex-basis:42px
}
.footer-logo img {
  width:42px;
  height:48px
}
.brand-name strong {
  display:block;
  font-family:Manrope,Inter,sans-serif;
  font-size:13px;
  font-weight:700
}
.brand-name small {
  display:block;
  color:var(--muted);
  font-size:9px;
  letter-spacing:.19em;
  text-transform:uppercase;
  margin-top:3px
}
.desktop-nav {
  display:flex;
  gap:25px;
  color:#c7c4be;
  font-size:11px
}
.desktop-nav a {
  transition:.25s
}
.desktop-nav a:hover {
  color:var(--gold2)
}
.products-nav-item {
  position:relative;
  display:flex;
  align-items:center;
  height:100%;
}
.products-nav-trigger {
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:100%;
}
.products-nav-trigger span {
  font-size:10px;
  opacity:.7;
  transform:translateY(-1px);
}
.products-dropdown {
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(0);
  width:245px;
  padding:12px;
  border:1px solid rgba(198,161,91,.22);
  border-radius:16px;
  background:rgba(10,10,10,.97);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:1000;
}
.products-nav-item:hover .products-dropdown,
.products-nav-item:focus-within .products-dropdown {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.products-dropdown > a,
.products-dropdown-group a {
  display:block;
  padding:8px 10px;
  border-radius:9px;
  color:#c9c6bf;
  font-size:10px;
  line-height:1.25;
  text-decoration:none;
}
.products-dropdown > a:hover,
.products-dropdown-group a:hover {
  color:#f2e7d1;
  background:rgba(198,161,91,.09);
}
.products-dropdown > a strong {
  color:var(--gold2);
  font-weight:600;
}
.products-dropdown-group {
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.07);
}
.products-dropdown-group > span {
  display:block;
  padding:5px 10px 4px;
  color:#f1eee7;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.products-dropdown-group a {
  padding-left:20px;
}
.products-dropdown-simple {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
}
.products-dropdown-simple a {
  padding-left:10px;
}
.header-actions {
  display:flex;
  align-items:center;
  gap:7px
}
.icon-btn,
.lang-btn,
.menu-btn {
  border:0;
  background:transparent;
  color:#ddd;
  padding:9px
}
.icon-btn {
  font-size:21px
}
.lang-btn {
  font-size:10px;
  letter-spacing:.09em
}
.quote-btn {
  border:1px solid var(--line-gold);
  padding:10px 15px;
  border-radius:999px;
  font-size:10px;
  color:var(--gold2);
  transition:.25s
}
.quote-btn:hover {
  background:rgba(198,161,91,.09)
}
.menu-btn {
  display:none
}
.hero {
  height:100vh;
  min-height:650px;
  position:relative;
  overflow:hidden;
  background:#050505
}
.hero-slide {
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1s ease,visibility 1s
}
.hero-slide.is-active {
  opacity:1;
  visibility:visible
}
.hero-bg {
  position:absolute;
  inset:-6%;
  background-size:cover;
  background-position:center;
  transform:translate3d(-1.8%,0,0) scale(1.07);
  transition:transform 7s ease;
  will-change:transform
}
.hero-slide.is-active .hero-bg {
  transform:translate3d(1.8%,0,0) scale(1.07)
}
.hero-slide-luxury .hero-bg {
  animation:heroBackgroundDrift 24s ease-in-out infinite alternate
}
@keyframes heroBackgroundDrift {
  0% {
    transform:translate3d(-2.2%,0,0) scale(1.07)
  }
  50% {
    transform:translate3d(0%,0,0) scale(1.07)
  }
  100% {
    transform:translate3d(2.2%,0,0) scale(1.07)
  }
}
.hero-bg:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.2) 58%,rgba(0,0,0,.54)),radial-gradient(circle at 78% 35%,rgba(224,193,126,.10),transparent 28%);
  backdrop-filter:blur(1.5px)
}
.hero-content {
  position:absolute;
  z-index:2;
  left:8vw;
  top:50%;
  transform:translateY(-50%);
  max-width:780px
}
.eyebrow {
  font-size:9px;
  letter-spacing:.24em;
  color:var(--gold2);
  font-weight:600;
  margin:0 0 18px
}
.hero h1 {
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(42px,6.1vw,88px);
  line-height:1.02;
  font-weight:600;
  letter-spacing:-.045em;
  margin:0;
  max-width:820px
}
.hero-slide.is-active h1 {
  animation:heroText .8s .08s both
}
.hero-slide.is-active .eyebrow {
  animation:heroText .7s both
}
.hero-slide.is-active .btn {
  animation:heroText .8s .18s both
}
@keyframes heroText {
  from {
    opacity:0;
    transform:translateY(20px);
    filter:blur(7px)
  }
  to {
    opacity:1;
    transform:none;
    filter:none
  }
}
.btn {
  border-radius:999px;
  padding:13px 19px;
  border:1px solid transparent;
  font-size:11px;
  transition:.28s
}
.btn-gold {
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  color:#0b0b0b;
  box-shadow:0 14px 40px rgba(198,161,91,.15)
}
.btn-gold:hover {
  transform:translateY(-2px);
  box-shadow:0 18px 45px rgba(198,161,91,.26)
}
.btn-glass {
  background:rgba(255,255,255,.035);
  border-color:var(--line);
  color:#eee;
  backdrop-filter:blur(10px)
}
.btn-glass:hover {
  border-color:var(--line-gold);
  transform:translateY(-2px)
}
.hero .btn {
  margin-top:30px
}
.hero-controls {
  position:absolute;
  z-index:5;
  bottom:42px;
  right:7vw;
  display:flex;
  align-items:center;
  gap:13px
}
.hero-arrow,
.slider-arrow {
  width:40px;
  height:40px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.3);
  backdrop-filter:blur(10px);
  border-radius:50%;
  color:#ddd;
  transition:.25s
}
.hero-arrow:hover,
.slider-arrow:hover {
  border-color:var(--line-gold);
  color:var(--gold2);
  transform:translateY(-2px)
}
.hero-dots {
  display:flex;
  gap:6px
}
.hero-dot {
  width:24px;
  height:2px;
  border:0;
  background:#555;
  padding:0;
  transition:.3s
}
.hero-dot.active {
  background:var(--gold2);
  width:40px
}
section {
  scroll-margin-top:100px
}
.categories-section,
.catalog-section,
.quality-section,
.quote-section {
  padding:105px 7vw
}
.section-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin-bottom:30px
}
.section-head h2 {
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(36px,4.2vw,60px);
  line-height:1.03;
  letter-spacing:-.045em;
  margin:0;
  font-weight:600
}
.section-note {
  color:var(--muted);
  font-size:12px;
  max-width:300px;
  line-height:1.7
}
.category-slider {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 48px;
  gap:12px;
  align-items:center
}
.category-track {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  overflow:hidden
}
.category-card {
  position:relative;
  min-height:260px;
  padding:27px;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:#090909;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transition:.35s
}
.category-bg {
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#090909;
  z-index:0
}
.category-bg img {
  position:absolute;
  inset:-2%;
  width:104%;
  height:104%;
  object-fit:cover;
  filter:blur(1.6px) saturate(1) brightness(.92);
  opacity:0;
  transform:scale(1.06);
  transition:opacity 1s ease,transform 3.6s ease
}
.category-bg img.is-active {
  opacity:1;
  transform:scale(1.02)
}
.category-bg-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,8,8,.04),rgba(8,8,8,.46) 78%),linear-gradient(90deg,rgba(8,8,8,.12),rgba(8,8,8,.02))
}
.category-card:after {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 70% 30%,rgba(198,161,91,.11),transparent 36%);
  pointer-events:none;
  z-index:1;
  transition:.5s
}
.category-card:hover {
  transform:translateY(-5px);
  border-color:var(--line-gold);
  box-shadow:var(--shadow)
}
.category-card:hover .category-bg img.is-active {
  transform:scale(1.04)
}
.category-card:hover:after {
  background:radial-gradient(circle at 70% 30%,rgba(198,161,91,.16),transparent 38%)
}
.category-number,
.category-card h3,
.category-card p,
.category-card a {
  position:relative;
  z-index:2
}
.category-number {
  font-size:9px;
  letter-spacing:.2em;
  color:var(--gold2);
  margin-bottom:auto
}
.category-card h3 {
  font-family:Manrope,Inter,sans-serif;
  font-size:22px;
  letter-spacing:-.025em;
  margin:0 0 8px
}
.category-card p {
  color:#d0cdc6;
  font-size:10px;
  line-height:1.5;
  margin:0 0 16px;
  text-shadow:0 1px 12px rgba(0,0,0,.65)
}
.category-card a {
  font-size:10px;
  color:var(--gold2)
}
.mechanical-subcategories {
  position:relative;
  z-index:5;
  margin:0 0 34px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(145deg,#111,#080808);
  box-shadow:0 18px 50px rgba(0,0,0,.18)
}
.subcat-head {
  margin-bottom:20px
}
.subcat-head h3 {
  font-family:Manrope,Inter,sans-serif;
  font-size:28px;
  letter-spacing:-.035em;
  margin:0
}

.subcat-guidance {
  margin:8px 0 0;
  font-size:12px;
  line-height:1.5;
  color:var(--gold2);
  letter-spacing:.02em;
}
.subcat-guidance::before {
  content:"→ ";
  font-weight:700;
}
.subcat-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}
.subcat-card {
  position:relative;
  min-height:190px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:#0a0a0a;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  text-align:left;
  cursor:pointer;
  transition:.35s
}
.subcat-card:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 75% 25%,rgba(198,161,91,.12),transparent 38%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.86));
  pointer-events:none
}
.subcat-card--sliding,
.subcat-card--sliding.active {
  background-image:url("../Todas as Imagens/Fundos e Ambientes/porta-de-correr-card.webp");
  background-size:cover;
  background-position:center 52%;
  background-repeat:no-repeat
}
.subcat-card--sliding:before {
  background:
    radial-gradient(circle at 70% 25%,rgba(198,161,91,.08),transparent 42%),
    linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.82))
}
.subcat-card--pivotante,
.subcat-card--pivotante.active {
  background-image:url("../Todas as Imagens/Fundos e Ambientes/porta-pivotante-card.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat
}
.subcat-card--internal,
.subcat-card--internal.active,
.subcat-card[data-mechanical-lock="interna"],
.subcat-card[data-mechanical-lock="interna"].active {
  background-image:url("../Todas as Imagens/Fundos e Ambientes/porta-interna-site.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.subcat-card--internal:before,
.subcat-card[data-mechanical-lock="interna"]:before {
  background:
    linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.84)),
    linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.06));
}

.subcat-card--pivotante:before {
  background:
    linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.84)),
    radial-gradient(circle at 70% 25%,rgba(198,161,91,.08),transparent 42%)
}
.subcat-card:hover,
.subcat-card.active {
  transform:translateY(-4px);
  border-color:var(--line-gold);
  box-shadow:0 18px 55px rgba(0,0,0,.32)
}
.subcat-card.active:not(.subcat-card--sliding):not(.subcat-card--pivotante):not(.subcat-card--internal) {
  background:linear-gradient(145deg,#151515,#090909)
}
.subcat-number,
.subcat-card h4,
.subcat-card p {
  position:relative;
  z-index:1
}
.subcat-number {
  font-size:9px;
  letter-spacing:.2em;
  color:var(--gold2);
  margin-bottom:auto
}
.subcat-card h4 {
  font-family:Manrope,Inter,sans-serif;
  font-size:22px;
  margin:0 0 7px
}
.subcat-card p {
  font-size:10px;
  line-height:1.5;
  color:#99958d;
  margin:0
}
.catalog-section {
  padding-top:65px;
  border-top:1px solid var(--line)
}
.catalog-head {
  margin-bottom:25px
}
.tools {
  display:flex;
  gap:9px;
  align-items:center
}
.search {
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  background:#0d0d0d;
  border-radius:999px;
  padding:0 14px;
  min-width:min(410px,44vw);
  height:43px
}
.search span {
  color:var(--gold2);
  font-size:18px
}
.search input {
  background:transparent;
  border:0;
  outline:0;
  color:#eee;
  width:100%;
  font-size:11px
}
.search input::placeholder {
  color:#62605c
}
select {
  height:43px;
  background:#0d0d0d;
  border:1px solid var(--line);
  color:#ccc;
  border-radius:999px;
  padding:0 13px;
  outline:0;
  font-size:10px
}
.filter-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:23px
}
.chips {
  display:flex;
  gap:7px;
  flex-wrap:wrap
}
.chip,
.clear-filter {
  border:1px solid var(--line);
  background:#0b0b0b;
  color:#9e9b95;
  border-radius:999px;
  padding:8px 12px;
  font-size:9px;
  transition:.2s
}
.chip.active,
.chip:hover,
.clear-filter:hover {
  color:var(--gold2);
  border-color:var(--line-gold)
}
.clear-filter {
  white-space:nowrap
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}
.product-card {
  position:relative;
  background:linear-gradient(145deg,#141414,#0b0b0b);
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  cursor:pointer;
  transition:.35s;
  min-height:410px
}
.product-card:hover {
  transform:translateY(-5px);
  border-color:var(--line-gold);
  box-shadow:0 25px 70px rgba(0,0,0,.35)
}
.card-media {
  height:320px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,#111,#080808);
  padding:14px 20px
}
.card-media img {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  transition:.5s
}
.product-card:hover .card-media img {
  transform:scale(1.025)
}

/* A dobradiça 4 x 3 é visualmente maior que a 3 ½ x 3 no catálogo. */
.product-card--dobradica-4x3 .card-media {
  /* Mantém a dobradiça no mesmo tamanho visual, mas dá espaço vertical
     suficiente para que a imagem inteira apareça sem ser recortada. */
  height:405px;
}
.product-card--dobradica-4x3 .card-media img {
  max-width:145%;
  max-height:145%;
}

/* A Dobradiça de Sobrepor 3½ x 2½ em aço carbono deve ter escala visual menor que a 4 x 2½ inox. */
.product-card--dobradica-sobrepor-carbono .card-media img {
  max-width:82%;
  max-height:82%;
}
.product-modal--dobradica-sobrepor-carbono .product-modal-image img,
.product-modal--dobradica-sobrepor-carbono #modalImage {
  max-width:82%;
  max-height:82%;
}
.card-body {
  padding:17px 18px 20px
}
.card-brand {
  font-size:8px;
  letter-spacing:.18em;
  color:var(--gold2);
  margin-bottom:8px
}
.card-title {
  font-family:Manrope,Inter,sans-serif;
  font-size:16px;
  line-height:1.2;
  margin:0 0 8px;
  font-weight:600
}
.card-desc {
  color:#817e78;
  font-size:10px;
  line-height:1.55;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.card-arrow {
  position:absolute;
  right:14px;
  bottom:14px;
  width:30px;
  height:30px;
  border:1px solid var(--line);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold2)
}
.about-section {
  padding:105px 7vw
}
.about-panel {
  position:relative;
  min-height:620px;
  border:1px solid var(--line);
  border-radius:30px;
  padding:70px 6%;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);
  gap:7%;
  align-items:center;
  overflow:hidden;
  background:radial-gradient(circle at 78% 28%,rgba(198,161,91,.14),transparent 25%),linear-gradient(135deg,#131313,#080808);
  box-shadow:var(--shadow)
}
.about-panel:before {
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-230px;
  top:-220px;
  border-radius:50%;
  background:rgba(255,255,255,.025);
  filter:blur(2px);
  pointer-events:none
}
.about-content {
  position:relative;
  z-index:3
}
.about-panel h2 {
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(40px,4.4vw,66px);
  line-height:1.02;
  letter-spacing:-.05em;
  margin:0 0 24px
}
.about-copy {
  max-width:760px;
  color:var(--muted);
  font-size:15px;
  line-height:1.85
}
.about-copy p {
  margin:0 0 17px
}
.about-copy strong {
  color:var(--text);
  font-weight:700
}
.about-signature {
  padding-top:10px;
  margin-top:12px!important;
  color:var(--text);
  font-size:15px
}
.about-signature strong {
  color:var(--gold)
}
.about-gallery {
  position:relative;
  min-height:535px;
  z-index:2
}
.about-photo {
  position:absolute;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:#0d0d0d;
  box-shadow:0 28px 70px rgba(0,0,0,.42)
}
.about-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s ease
}
.about-photo:hover img {
  transform:scale(1.035)
}
.about-photo-main {
  top:0;
  right:0;
  width:78%;
  height:75%;
  border-radius:22px
}
.about-photo-secondary {
  left:0;
  bottom:0;
  width:54%;
  height:49%;
  border-radius:20px;
  z-index:3
}
.about-photo-secondary:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.16));
  pointer-events:none
}
.about-badge {
  position:absolute;
  right:3%;
  bottom:8%;
  z-index:4;
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:15px 18px;
  border:1px solid rgba(198,161,91,.45);
  border-radius:12px;
  background:rgba(10,10,10,.82);
  backdrop-filter:blur(12px);
  box-shadow:0 14px 40px rgba(0,0,0,.3);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase
}
.about-badge strong {
  color:var(--gold);
  font-size:12px
}
.about-badge span {
  color:var(--muted);
  letter-spacing:.08em
}
.quality-section {
  border-top:1px solid var(--line)
}
.quality-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px
}
.quality-grid article {
  min-height:190px;
  padding:25px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#0d0d0d;
  transition:.3s
}
.quality-grid article:hover {
  border-color:var(--line-gold);
  transform:translateY(-3px)
}
.quality-grid span {
  font-size:9px;
  color:var(--gold2);
  letter-spacing:.2em
}
.quality-grid h3 {
  font-family:Manrope,Inter,sans-serif;
  font-size:18px;
  margin:70px 0 12px
}
.quality-grid article p {
  margin:0;
  color:#8f8b84;
  font-size:10px;
  line-height:1.7;
  max-width:280px
}
.quote-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7vw;
  border-top:1px solid var(--line);
  align-items:center
}
.quote-copy h2 {
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(40px,5vw,72px);
  line-height:1.02;
  letter-spacing:-.05em;
  margin:0 0 20px
}
.quote-copy>p:last-child {
  max-width:470px;
  color:var(--muted);
  line-height:1.8;
  font-size:13px
}
.quote-card {
  border:1px solid var(--line-gold);
  border-radius:25px;
  background:rgba(17,17,17,.75);
  backdrop-filter:blur(20px);
  padding:23px;
  box-shadow:var(--shadow)
}
.quote-card-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
  font-size:11px;
  letter-spacing:.06em
}
.quote-card-head strong {
  color:var(--gold2);
  font-size:12px
}
.cart-items {
  display:flex;
  flex-direction:column;
  max-height:310px;
  overflow:auto
}
.cart-row {
  display:grid;
  grid-template-columns:54px 1fr auto;
  gap:12px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--line)
}
.cart-row img {
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:10px;
  background:#090909
}
.cart-row strong {
  font-size:10px;
  line-height:1.35
}
.cart-row small {
  display:block;
  color:#777;
  font-size:9px;
  margin-top:4px
}
.remove-cart {
  border:0;
  background:transparent;
  color:#777;
  font-size:18px
}
.cart-empty {
  padding:35px 0;
  color:#666;
  font-size:11px;
  text-align:center
}
.cart-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px
}
footer {
  padding:45px 7vw;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  color:#777
}
.footer-brand {
  display:flex;
  gap:12px;
  align-items:center
}
.footer-brand strong {
  font-size:12px;
  color:#ddd
}
.footer-brand p {
  font-size:9px;
  margin:5px 0 0;
  color:#666
}
.footer-meta {
  font-size:8px;
  letter-spacing:.2em
}
.modal {
  position:fixed;
  inset:0;
  z-index:80;
  display:none
}
.modal.open {
  display:block
}
.modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.8);
  backdrop-filter:blur(14px)
}
/* Botão de retorno da página do produto */ .product-back-btn {
  position:absolute;
  left:25px;
  top:25px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 14px 0 11px;
  border:1px solid rgba(226,184,111,.30);
  border-radius:999px;
  background:rgba(8,8,8,.82);
  color:#f5ead7;
  font:600 10px/1 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  cursor:pointer;
  transition:transform .22s ease,background .22s ease,border-color .22s ease;
}
.product-back-btn:hover {
  background:rgba(25,20,14,.96);
  border-color:rgba(226,184,111,.60);
  transform:translateX(-2px);
}
.product-back-btn span:first-child {
  font-size:19px;
  line-height:1;
  font-weight:400
}
.product-modal {
  position:absolute;
  inset:4vh 4vw;
  max-height:92vh;
  overflow:auto;
  background:#0c0c0c;
  border:1px solid var(--line);
  border-radius:27px;
  box-shadow:0 35px 100px rgba(0,0,0,.65);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)
}
.close-btn {
  position:fixed;
  right:5.3vw;
  top:5.2vh;
  z-index:4;
  width:40px;
  height:40px;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(0,0,0,.6);
  color:#fff;
  font-size:24px
}
.modal-media {
  padding:25px;
  min-height:500px;
  background:#090909;
  display:flex;
  flex-direction:column;
  gap:12px
}
.modal-media>img {
  width:100%;
  height:550px;
  object-fit:contain;
  border-radius:18px;
  background:#0d0d0d
}
.thumbs {
  display:flex;
  gap:8px;
  overflow:auto;
  padding-bottom:5px
}
.thumbs button {
  border:1px solid var(--line);
  background:#111;
  border-radius:10px;
  width:68px;
  height:68px;
  padding:0;
  overflow:hidden;
  flex:0 0 auto
}
.thumbs button.active {
  border-color:var(--gold)
}
.thumbs img {
  width:100%;
  height:100%;
  object-fit:cover
}
.modal-info {
  padding:54px 46px 60px
}
.modal-info h2 {
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(30px,3.8vw,52px);
  line-height:1.03;
  font-weight:600;
  letter-spacing:-.045em;
  margin:0 0 18px
}
.modal-description {
  color:#aaa59d;
  line-height:1.7;
  font-size:12px;
  margin-bottom:25px
}
.info-block {
  padding:23px 0;
  border-top:1px solid var(--line)
}
.info-block h3 {
  font-size:9px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold2);
  margin:0 0 15px
}
dl {
  margin:0;
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:11px 18px;
  font-size:10px
}
dt {
  color:#777
}
dd {
  margin:0;
  color:#ddd;
  line-height:1.5
}
ul {
  padding-left:18px;
  color:#ccc;
  font-size:10px;
  line-height:1.8
}
.modal-actions {
  padding:2px 0 26px;
  position:relative;
  z-index:2
}
.modal-actions .btn {
  width:100%;
  justify-content:center;
  min-height:50px;
  box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 0 1px rgba(224,193,126,.08)
}
.modal-actions .btn:hover {
  transform:translateY(-2px)
}
.color-swatches {
  display:flex;
  column-gap:24px;
  row-gap:32px;
  flex-wrap:wrap;
  align-items:flex-start;
  padding-bottom:8px
}
.color-swatch {
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  border:2px solid transparent;
  box-shadow:0 0 0 1px var(--line);
  position:relative
}
.color-swatch.active {
  box-shadow:0 0 0 1px var(--gold2),0 0 0 4px rgba(198,161,91,.13)
}
.color-swatch span {
  position:absolute;
  top:42px;
  left:50%;
  transform:translateX(-50%);
  white-space:nowrap;
  text-align:center;
  font-size:8px;
  line-height:1.25;
  color:#aaa
}
.empty {
  padding:60px;
  text-align:center;
  color:#777;
  border:1px dashed var(--line);
  border-radius:20px
}
@media(max-width:1200px) {
  .desktop-nav {
    gap:16px
  }
  .product-grid {
    grid-template-columns:repeat(3,1fr)
  }
  .category-track {
    grid-template-columns:repeat(3,1fr)
  }
}
.product-action-stack {
  display:grid;
  gap:9px
}
.product-action-stack .btn {
  width:100%;
  justify-content:center;
  min-height:50px
}
.btn-ghost {
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
  color:#ddd
}
.btn-ghost:hover {
  border-color:var(--gold);
  background:rgba(198,161,91,.08);
  transform:translateY(-2px)
}
.technical-visuals {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px
}
.technical-visual {
  margin:0;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  cursor:zoom-in;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease
}
.technical-visual img {
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#fff;
  padding:10px
}
.technical-visual figcaption {
  padding:9px 10px;
  color:#aaa;
  font-size:8px;
  letter-spacing:.08em;
  text-transform:uppercase
}
.technical-visual:hover {
  border-color:rgba(198,161,91,.65);
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(0,0,0,.18)
}

.technical-fullscreen {
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, visibility .2s ease
}
.technical-fullscreen.open {
  opacity:1;
  visibility:visible;
  pointer-events:auto
}
.technical-fullscreen-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(8px)
}
.technical-fullscreen-content {
  position:relative;
  z-index:1;
  width:min(92vw,1100px);
  height:min(90vh,900px);
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:16px;
  padding:20px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  overflow:auto
}
.technical-fullscreen-content img {
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain
}
.technical-fullscreen-close {
  position:absolute;
  top:20px;
  right:24px;
  z-index:2;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer
}
@media(max-width:650px){
  .technical-fullscreen{padding:12px}
  .technical-fullscreen-content{width:96vw;height:88vh;padding:10px;border-radius:12px}
  .technical-fullscreen-close{top:10px;right:10px}
}

@media(max-width:950px) {
  .desktop-nav {
    display:none
  }
  .menu-btn {
    display:block
  }
  .hero-content {
    left:7vw
  }
  .product-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .quote-section {
    grid-template-columns:1fr
  }
  .quality-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .product-modal {
    grid-template-columns:1fr
  }
  .modal-media>img {
    height:430px
  }
  .modal-info {
    padding:35px
  }
  .category-track {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .site-header {
    left:9px;
    right:9px;
    top:8px;
    height:61px;
    padding:0 10px
  }
  .brand {
    min-width:auto
  }
  .brand-name small {
    display:none
  }
  .header-actions .quote-btn {
    display:none
  }
  .hero {
    min-height:650px
  }
  .hero-content {
    left:25px;
    right:25px
  }
  .hero h1 {
    font-size:47px
  }
  .hero-controls {
    right:25px;
    bottom:30px
  }
  .categories-section,
  .catalog-section,
  .quality-section,
  .quote-section,
  .about-section {
    padding:75px 22px
  }
  .section-head {
    align-items:stretch;
    flex-direction:column;
    gap:12px
  }
  .tools {
    flex-direction:column
  }
  .search {
    min-width:0;
    width:100%
  }
  select {
    width:100%
  }
  .filter-row {
    align-items:flex-start;
    flex-direction:column
  }
  .product-grid {
    grid-template-columns:1fr
  }
  .category-slider {
    grid-template-columns:38px minmax(0,1fr) 38px
  }
  .category-track {
    grid-template-columns:1fr
  }
  .category-card {
    min-height:230px
  }
  .quality-grid {
    grid-template-columns:1fr
  }
  .about-panel {
    padding:35px;
    min-height:330px;
    grid-template-columns:1fr;
    gap:42px
  }
  .about-gallery {
    min-height:430px
  }
  .about-photo-main {
    width:80%;
    height:74%
  }
  .about-photo-secondary {
    width:58%;
    height:48%
  }
  .about-badge {
    right:2%;
    bottom:7%
  }
  .product-modal {
    inset:2vh 2vw;
    max-height:96vh
  }
  .modal-media {
    padding:14px
  }
  .modal-media>img {
    height:340px
  }
  .modal-info {
    padding:28px 22px 45px
  }
  dl {
    grid-template-columns:1fr
  }
  .technical-visuals {
    grid-template-columns:1fr
  }
  .close-btn {
    right:18px;
    top:18px
  }
  footer {
    flex-direction:column;
    align-items:flex-start
  }
}
/* Refinements: premium hero CTA,
fully-clickable categories and customer account */ .hero-content .btn {
  margin-top:34px;
  display:inline-flex;
  align-items:center;
  gap:9px
}
.hero-content .btn-gold {
  background:rgba(198,161,91,.12);
  color:var(--gold2);
  border-color:rgba(224,193,126,.42);
  backdrop-filter:blur(18px) saturate(130%);
  box-shadow:0 16px 45px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.1)
}
.hero-content .btn-gold:hover {
  background:rgba(198,161,91,.22);
  border-color:rgba(224,193,126,.72);
  box-shadow:0 22px 60px rgba(198,161,91,.16),0 0 28px rgba(198,161,91,.1)
}
.category-card {
  cursor:pointer
}
.category-card:focus-visible {
  outline:2px solid var(--gold2);
  outline-offset:4px
}
.category-card a {
  pointer-events:none
}
.category-card:hover h3 {
  color:var(--gold2)
}
.account-btn {
  height:38px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#d7d4ce;
  font-size:10px;
  backdrop-filter:blur(12px);
  transition:.25s
}
.account-btn:hover {
  border-color:var(--line-gold);
  color:var(--gold2);
  transform:translateY(-1px)
}
.auth-modal {
  position:fixed;
  inset:0;
  z-index:100;
  display:none
}
.auth-modal.open {
  display:block
}
.auth-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.84);
  backdrop-filter:blur(18px)
}
.auth-panel {
  position:relative;
  z-index:1;
  width:min(920px,calc(100vw - 34px));
  margin:8vh auto;
  min-height:530px;
  display:grid;
  grid-template-columns:1fr 1.05fr;
  overflow:hidden;
  border:1px solid var(--line-gold);
  border-radius:30px;
  background:linear-gradient(135deg,rgba(19,19,19,.98),rgba(7,7,7,.98));
  box-shadow:0 40px 120px rgba(0,0,0,.72)
}
.auth-panel:before {
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  left:-200px;
  top:-180px;
  background:radial-gradient(circle,rgba(198,161,91,.16),transparent 67%);
  pointer-events:none
}
.auth-copy,
.auth-form-wrap {
  position:relative;
  z-index:1;
  padding:58px
}
.auth-copy {
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:center
}
.auth-copy h2 {
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(34px,5vw,58px);
  line-height:.98;
  letter-spacing:-.055em;
  margin:0 0 20px
}
.auth-copy>p:not(.eyebrow) {
  color:#98958f;
  font-size:12px;
  line-height:1.8;
  max-width:360px
}
.auth-trust {
  display:grid;
  gap:12px;
  margin-top:35px;
  color:#c9a967;
  font-size:10px;
  letter-spacing:.04em
}
.auth-form-wrap {
  padding-top:46px
}
.auth-form {
  display:grid;
  gap:16px
}
.auth-form label {
  display:grid;
  gap:8px;
  color:#bbb7af;
  font-size:10px
}
.auth-form input {
  height:48px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:#f5f2ec;
  padding:0 15px;
  outline:0;
  transition:.25s
}
.auth-form input:focus {
  border-color:var(--line-gold);
  box-shadow:0 0 0 4px rgba(198,161,91,.07)
}
.auth-link {
  justify-self:start;
  padding:0;
  border:0;
  background:none;
  color:var(--gold2);
  font-size:10px
}
.auth-submit {
  justify-content:center;
  margin-top:5px
}
.auth-status {
  min-height:18px;
  margin:15px 0 0;
  color:#bcb8b0;
  font-size:10px
}
.auth-status.error {
  color:#e19a91
}
.auth-status.success {
  color:#a8c89d
}
.auth-close {
  position:absolute;
  right:18px;
  top:18px
}
@media(max-width:760px) {
  .auth-panel {
    grid-template-columns:1fr;
    margin:3vh auto;
    max-height:94vh;
    overflow:auto
  }
  .auth-copy {
    display:none
  }
  .auth-form-wrap {
    padding:64px 28px 34px
  }
  .account-btn {
    padding:0 11px
  }
  .header-actions {
    gap:6px
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .account-btn {
    font-size:0;
    width:38px;
    padding:0
  }
  .account-btn:before {
    content:"◉";
    font-size:12px;
    color:var(--gold2)
  }
  .hero-content .btn {
    margin-top:30px
  }
}
/* Improved account entry flow */ .auth-choice {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  min-height:250px;
  align-content:center
}
.auth-choice-card {
  min-height:185px;
  text-align:left;
  padding:24px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.025);
  color:#f3efe8;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.25s;
  cursor:pointer
}
.auth-choice-card strong {
  font-size:17px;
  line-height:1.2;
  max-width:130px
}
.auth-choice-card span {
  font-size:10px;
  color:#aaa59d;
  text-transform:uppercase;
  letter-spacing:.1em
}
.auth-choice-card:hover {
  transform:translateY(-4px);
  border-color:var(--line-gold);
  background:rgba(198,161,91,.08)
}
.auth-choice-card.featured {
  border-color:rgba(198,161,91,.35);
  background:linear-gradient(145deg,rgba(198,161,91,.13),rgba(255,255,255,.025))
}
.auth-heading h3 {
  margin:0 0 6px;
  font-size:24px;
  letter-spacing:-.04em
}
.auth-heading p {
  margin:0;
  color:#89857e;
  font-size:10px;
  line-height:1.6
}
.auth-back {
  justify-self:start;
  background:none;
  border:0;
  color:var(--gold2);
  padding:0;
  font-size:10px;
  cursor:pointer
}
.auth-switch {
  border:0;
  background:none;
  color:#8e8a83;
  font-size:10px;
  padding:4px 0 0;
  cursor:pointer
}
.auth-switch strong {
  color:var(--gold2)
}
.auth-form[hidden],
.auth-choice[hidden] {
  display:none!important
}
@media(max-width:760px) {
  .auth-choice {
    grid-template-columns:1fr;
    min-height:0
  }
  .auth-choice-card {
    min-height:110px
  }
  .auth-heading h3 {
    font-size:22px
  }
}
.catalog-section .product-grid .product-card:nth-child(5) .card-media img,
.catalog-section .product-grid .product-card:nth-child(6) .card-media img,
.catalog-section .product-grid .product-card:nth-child(7) .card-media img,
.catalog-section .product-grid .product-card:nth-child(8) .card-media img {
  max-width:92%;
  max-height:92%;
  object-fit:contain;
  object-position:center;
}
/* FUNDO PREMIUM — escuro,
desfocado e com luzes elegantes em movimento */ body {
  background:#050505;
  overflow-x:hidden
}
body:before {
  content:"";
  position:fixed;
  inset:-10%;
  pointer-events:none;
  z-index:-3;
  background: radial-gradient(ellipse at 50% 15%,rgba(255,255,255,.035),transparent 34%), radial-gradient(ellipse at 15% 55%,rgba(214,175,99,.035),transparent 28%), radial-gradient(ellipse at 85% 70%,rgba(220,190,130,.025),transparent 30%), linear-gradient(180deg,#070707 0%,#030303 100%);
}
body:after {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 35%,transparent 65%,rgba(0,0,0,.30));
  opacity:.9
}
.hero {
  background:transparent
}
.hero-bg:after {
  background:linear-gradient(90deg,rgba(0,0,0,.60),rgba(0,0,0,.10) 58%,rgba(0,0,0,.42)),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));
  backdrop-filter:none
}
.categories-section,
.catalog-section,
.quality-section,
.quote-section,
.about-section,
footer {
  background:transparent
}
.catalog-section,
.quality-section,
footer {
  background-color:transparent
}
/* ATMOSFERA DINÂMICA — apenas bokeh/luzes desfocadas; sem manchas,
folhas ou formas */ .ambient-motion {
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  overflow:hidden;
  opacity:1
}
.ambient-motion:before {
  content:"";
  position:absolute;
  inset:-20%;
  background: radial-gradient(ellipse at 20% 30%,rgba(255,219,151,.055),transparent 22%), radial-gradient(ellipse at 78% 62%,rgba(232,200,137,.045),transparent 24%);
  filter:blur(55px);
  animation:ambientBreath 18s ease-in-out infinite alternate
}
.ambient-fog {
  position:absolute;
  inset:-25%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.025),transparent 55%);
  filter:blur(75px);
  animation:fogDrift 24s ease-in-out infinite alternate
}
.ambient-light {
  position:absolute;
  border-radius:50%;
  filter:blur(42px);
  mix-blend-mode:screen;
  opacity:.45
}
.ambient-light-a {
  width:210px;
  height:210px;
  left:5%;
  top:18%;
  background:rgba(224,183,104,.20);
  animation:lightFloatA 18s cubic-bezier(.45,.05,.55,.95) infinite alternate
}
.ambient-light-b {
  width:150px;
  height:150px;
  right:9%;
  top:28%;
  background:rgba(255,232,190,.17);
  animation:lightFloatB 15s cubic-bezier(.45,.05,.55,.95) infinite alternate
}
.ambient-light-c {
  width:115px;
  height:115px;
  right:31%;
  bottom:12%;
  background:rgba(206,163,83,.14);
  animation:lightFloatC 21s cubic-bezier(.45,.05,.55,.95) infinite alternate
}
.ambient-light-d {
  width:95px;
  height:95px;
  left:43%;
  top:8%;
  background:rgba(255,244,220,.11);
  animation:lightFloatD 19s cubic-bezier(.45,.05,.55,.95) infinite alternate
}
.ambient-light-e {
  width:180px;
  height:180px;
  left:65%;
  bottom:2%;
  background:rgba(223,188,122,.10);
  animation:lightFloatE 23s cubic-bezier(.45,.05,.55,.95) infinite alternate
}
/* Mais pontos de luz — movimento sofisticado e discreto */ .ambient-light-f {
  width:72px;
  height:72px;
  left:18%;
  top:62%;
  background:rgba(255,239,207,.22);
  animation:lightFloatF 13s ease-in-out infinite alternate
}
.ambient-light-g {
  width:125px;
  height:125px;
  left:34%;
  top:38%;
  background:rgba(214,171,94,.13);
  animation:lightFloatG 17s ease-in-out infinite alternate
}
.ambient-light-h {
  width:58px;
  height:58px;
  right:23%;
  top:16%;
  background:rgba(255,250,235,.24);
  animation:lightFloatH 11s ease-in-out infinite alternate
}
.ambient-light-i {
  width:92px;
  height:92px;
  right:4%;
  bottom:28%;
  background:rgba(230,194,126,.16);
  animation:lightFloatI 16s ease-in-out infinite alternate
}
.ambient-light-j {
  width:48px;
  height:48px;
  left:54%;
  bottom:23%;
  background:rgba(255,245,219,.25);
  animation:lightFloatJ 9s ease-in-out infinite alternate
}
.ambient-light-k {
  width:155px;
  height:155px;
  left:27%;
  bottom:-4%;
  background:rgba(196,151,72,.09);
  animation:lightFloatK 20s ease-in-out infinite alternate
}
.ambient-light-l {
  width:64px;
  height:64px;
  right:39%;
  top:70%;
  background:rgba(255,230,184,.18);
  animation:lightFloatL 12s ease-in-out infinite alternate
}
@keyframes lightFloatF {
  0% {
    transform:translate3d(-25px,20px,0) scale(.7);
    opacity:.08
  }
  50% {
    opacity:.38
  }
  100% {
    transform:translate3d(115px,-75px,0) scale(1.2);
    opacity:.5
  }
}
@keyframes lightFloatG {
  0% {
    transform:translate3d(35px,-55px,0) scale(.75);
    opacity:.08
  }
  100% {
    transform:translate3d(-130px,90px,0) scale(1.25);
    opacity:.36
  }
}
@keyframes lightFloatH {
  0% {
    transform:translate3d(-30px,0,0) scale(.65);
    opacity:.08
  }
  100% {
    transform:translate3d(70px,100px,0) scale(1.15);
    opacity:.45
  }
}
@keyframes lightFloatI {
  0% {
    transform:translate3d(15px,-30px,0) scale(.7);
    opacity:.08
  }
  100% {
    transform:translate3d(-95px,55px,0) scale(1.25);
    opacity:.4
  }
}
@keyframes lightFloatJ {
  0% {
    transform:translate3d(0,25px,0) scale(.6);
    opacity:.08
  }
  50% {
    opacity:.5
  }
  100% {
    transform:translate3d(-80px,-65px,0) scale(1.3);
    opacity:.55
  }
}
@keyframes lightFloatK {
  0% {
    transform:translate3d(-45px,10px,0) scale(.8);
    opacity:.05
  }
  100% {
    transform:translate3d(150px,-100px,0) scale(1.2);
    opacity:.28
  }
}
@keyframes lightFloatL {
  0% {
    transform:translate3d(45px,0,0) scale(.65);
    opacity:.08
  }
  100% {
    transform:translate3d(-65px,-110px,0) scale(1.25);
    opacity:.42
  }
}
@keyframes lightFloatA {
  0% {
    transform:translate3d(-30px,-12px,0) scale(.72);
    opacity:.18
  }
  50% {
    opacity:.48
  }
  100% {
    transform:translate3d(210px,90px,0) scale(1.18);
    opacity:.58
  }
}
@keyframes lightFloatB {
  0% {
    transform:translate3d(55px,35px,0) scale(.86);
    opacity:.16
  }
  50% {
    opacity:.42
  }
  100% {
    transform:translate3d(-170px,-95px,0) scale(1.10);
    opacity:.52
  }
}
@keyframes lightFloatC {
  0% {
    transform:translate3d(0,0,0) scale(.78);
    opacity:.12
  }
  100% {
    transform:translate3d(-115px,65px,0) scale(1.35);
    opacity:.38
  }
}
@keyframes lightFloatD {
  0% {
    transform:translate3d(-40px,20px,0) scale(.65);
    opacity:.08
  }
  100% {
    transform:translate3d(120px,155px,0) scale(1.1);
    opacity:.32
  }
}
@keyframes lightFloatE {
  0% {
    transform:translate3d(25px,0,0) scale(.8);
    opacity:.08
  }
  100% {
    transform:translate3d(-150px,-80px,0) scale(1.2);
    opacity:.28
  }
}
@keyframes ambientBreath {
  0% {
    transform:scale(.96);
    opacity:.65
  }
  100% {
    transform:scale(1.08);
    opacity:1
  }
}
@keyframes fogDrift {
  0% {
    transform:translate3d(-3%,0,0) scale(.98)
  }
  100% {
    transform:translate3d(3%,1%,0) scale(1.04)
  }
}
@media(prefers-reduced-motion:reduce) {
  .ambient-motion * {
    animation:none!important
  }
  .ambient-motion {
    opacity:.7
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .ambient-light-a {
    width:140px;
    height:140px
  }
  .ambient-light-b {
    width:105px;
    height:105px
  }
  .ambient-light-c {
    width:75px;
    height:75px
  }
  .ambient-light-d {
    width:70px;
    height:70px
  }
  .ambient-light-e {
    width:120px;
    height:120px
  }
  .ambient-light-f {
    width:52px;
    height:52px
  }
  .ambient-light-g {
    width:88px;
    height:88px
  }
  .ambient-light-h {
    width:44px;
    height:44px
  }
  .ambient-light-i {
    width:65px;
    height:65px
  }
  .ambient-light-j {
    width:38px;
    height:38px
  }
  .ambient-light-k {
    width:105px;
    height:105px
  }
  .ambient-light-l {
    width:48px;
    height:48px
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .ambient-light-a {
    width:120px;
    height:120px
  }
  .ambient-light-b {
    width:90px;
    height:90px
  }
  .ambient-light-c {
    width:70px;
    height:70px
  }
}
/* LOGO NO FUNDO — marca d'água branca translúcida,
centralizada atrás de todo o conteúdo */ .site-watermark {
  position:fixed;
  z-index:0;
  left:50%;
  top:52%;
  width:min(58vw,760px);
  transform:translate(-50%,-50%);
  pointer-events:none;
  user-select:none;
  opacity:.085;
  filter:brightness(0) invert(1) drop-shadow(0 0 34px rgba(255,255,255,.08));
  mix-blend-mode:screen;
  will-change:transform,opacity;
}
.site-watermark img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain
}
/* Conteúdo sempre acima da marca d'água */ .site-header,
main,
footer,
.modal,
.auth-modal {
  position:relative;
  z-index:2
}
.site-header {
  position:fixed;
  z-index:40
}
.modal,
.auth-modal {
  position:fixed
}
/* Fundo mais profundo e desfocado,
sem interferir na leitura dos elementos */ body:before {
  filter:blur(10px);
  transform:scale(1.04);
}
.ambient-motion {
  filter:saturate(1.12);
}
.ambient-light {
  filter:blur(38px);
}
.ambient-light-a,
.ambient-light-b,
.ambient-light-c,
.ambient-light-e,
.ambient-light-g,
.ambient-light-k {
  filter:blur(52px);
}
.ambient-light-f,
.ambient-light-h,
.ambient-light-j,
.ambient-light-l {
  filter:blur(28px);
}
/* Pontos luminosos adicionais,
suaves e em movimento contínuo */ .ambient-motion:after {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  left:-10%;
  top:72%;
  border-radius:50%;
  background:rgba(255,224,165,.18);
  filter:blur(55px);
  animation:lightSweep 22s ease-in-out infinite alternate;
}
@keyframes lightSweep {
  0% {
    transform:translate3d(0,0,0) scale(.7);
    opacity:.15
  }
  45% {
    opacity:.38
  }
  100% {
    transform:translate3d(120vw,-68vh,0) scale(1.25);
    opacity:.28
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .site-watermark {
    width:min(82vw,520px);
    top:50%;
    opacity:.075
  }
  .ambient-light {
    filter:blur(30px)
  }
  .ambient-light-a,
  .ambient-light-b,
  .ambient-light-c,
  .ambient-light-e,
  .ambient-light-g,
  .ambient-light-k {
    filter:blur(42px)
  }
}
@media(prefers-reduced-motion:reduce) {
  .ambient-motion:after {
    animation:none!important
  }
}
/* ATMOSFERA PREMIUM — mais pontos de luz espalhados por toda a tela */ .ambient-motion {
  z-index:1;
  opacity:1;
  pointer-events:none
}
.ambient-light {
  z-index:1;
  will-change:transform,opacity;
  mix-blend-mode:screen
}
/* Novas luzes: distribuidas por topo,
centro e parte inferior,
com trajetórias cruzadas */ .ambient-light-m {
  width:42px;
  height:42px;
  left:7%;
  top:78%;
  background:rgba(255,229,181,.24);
  animation:lightFloatM 10s ease-in-out infinite alternate
}
.ambient-light-n {
  width:88px;
  height:88px;
  left:12%;
  top:12%;
  background:rgba(226,186,112,.15);
  animation:lightFloatN 16s ease-in-out infinite alternate
}
.ambient-light-o {
  width:54px;
  height:54px;
  left:25%;
  top:18%;
  background:rgba(255,241,211,.22);
  animation:lightFloatO 12s ease-in-out infinite alternate
}
.ambient-light-p {
  width:125px;
  height:125px;
  left:47%;
  top:24%;
  background:rgba(218,174,92,.13);
  animation:lightFloatP 19s ease-in-out infinite alternate
}
.ambient-light-q {
  width:46px;
  height:46px;
  left:71%;
  top:8%;
  background:rgba(255,239,204,.27);
  animation:lightFloatQ 9s ease-in-out infinite alternate
}
.ambient-light-r {
  width:76px;
  height:76px;
  right:13%;
  top:47%;
  background:rgba(228,191,127,.19);
  animation:lightFloatR 14s ease-in-out infinite alternate
}
.ambient-light-s {
  width:38px;
  height:38px;
  right:29%;
  top:34%;
  background:rgba(255,247,225,.30);
  animation:lightFloatS 8s ease-in-out infinite alternate
}
.ambient-light-t {
  width:112px;
  height:112px;
  left:2%;
  top:43%;
  background:rgba(211,165,82,.12);
  animation:lightFloatT 21s ease-in-out infinite alternate
}
.ambient-light-u {
  width:62px;
  height:62px;
  left:38%;
  top:72%;
  background:rgba(255,231,186,.25);
  animation:lightFloatU 11s ease-in-out infinite alternate
}
.ambient-light-v {
  width:94px;
  height:94px;
  left:59%;
  top:58%;
  background:rgba(222,180,105,.15);
  animation:lightFloatV 17s ease-in-out infinite alternate
}
.ambient-light-w {
  width:45px;
  height:45px;
  right:6%;
  top:74%;
  background:rgba(255,239,207,.28);
  animation:lightFloatW 9s ease-in-out infinite alternate
}
.ambient-light-x {
  width:135px;
  height:135px;
  right:42%;
  top:88%;
  background:rgba(211,164,79,.10);
  animation:lightFloatX 23s ease-in-out infinite alternate
}
.ambient-light-y {
  width:58px;
  height:58px;
  right:17%;
  top:14%;
  background:rgba(255,245,220,.25);
  animation:lightFloatY 13s ease-in-out infinite alternate
}
.ambient-light-z {
  width:70px;
  height:70px;
  left:83%;
  top:86%;
  background:rgba(229,192,128,.17);
  animation:lightFloatZ 15s ease-in-out infinite alternate
}
@keyframes lightFloatM {
  from {
    transform:translate3d(-10px,25px,0) scale(.65);
    opacity:.06
  }
  to {
    transform:translate3d(130px,-90px,0) scale(1.25);
    opacity:.5
  }
}
@keyframes lightFloatN {
  from {
    transform:translate3d(0,0,0) scale(.7);
    opacity:.05
  }
  to {
    transform:translate3d(110px,150px,0) scale(1.15);
    opacity:.4
  }
}
@keyframes lightFloatO {
  from {
    transform:translate3d(-25px,20px,0) scale(.65);
    opacity:.05
  }
  to {
    transform:translate3d(90px,-75px,0) scale(1.2);
    opacity:.48
  }
}
@keyframes lightFloatP {
  from {
    transform:translate3d(70px,-20px,0) scale(.7);
    opacity:.04
  }
  to {
    transform:translate3d(-120px,110px,0) scale(1.2);
    opacity:.34
  }
}
@keyframes lightFloatQ {
  from {
    transform:translate3d(0,0,0) scale(.6);
    opacity:.08
  }
  to {
    transform:translate3d(-100px,115px,0) scale(1.3);
    opacity:.55
  }
}
@keyframes lightFloatR {
  from {
    transform:translate3d(35px,-35px,0) scale(.7);
    opacity:.05
  }
  to {
    transform:translate3d(-100px,80px,0) scale(1.2);
    opacity:.42
  }
}
@keyframes lightFloatS {
  from {
    transform:translate3d(-20px,30px,0) scale(.55);
    opacity:.08
  }
  to {
    transform:translate3d(85px,-55px,0) scale(1.25);
    opacity:.6
  }
}
@keyframes lightFloatT {
  from {
    transform:translate3d(0,20px,0) scale(.75);
    opacity:.05
  }
  to {
    transform:translate3d(160px,-80px,0) scale(1.3);
    opacity:.32
  }
}
@keyframes lightFloatU {
  from {
    transform:translate3d(-45px,-20px,0) scale(.6);
    opacity:.05
  }
  to {
    transform:translate3d(75px,65px,0) scale(1.2);
    opacity:.52
  }
}
@keyframes lightFloatV {
  from {
    transform:translate3d(40px,20px,0) scale(.7);
    opacity:.05
  }
  to {
    transform:translate3d(-125px,-90px,0) scale(1.25);
    opacity:.38
  }
}
@keyframes lightFloatW {
  from {
    transform:translate3d(0,-25px,0) scale(.55);
    opacity:.06
  }
  to {
    transform:translate3d(-80px,-115px,0) scale(1.25);
    opacity:.52
  }
}
@keyframes lightFloatX {
  from {
    transform:translate3d(-60px,0,0) scale(.7);
    opacity:.04
  }
  to {
    transform:translate3d(100px,-150px,0) scale(1.3);
    opacity:.3
  }
}
@keyframes lightFloatY {
  from {
    transform:translate3d(30px,0,0) scale(.65);
    opacity:.06
  }
  to {
    transform:translate3d(-110px,120px,0) scale(1.2);
    opacity:.48
  }
}
@keyframes lightFloatZ {
  from {
    transform:translate3d(0,20px,0) scale(.6);
    opacity:.05
  }
  to {
    transform:translate3d(-125px,-95px,0) scale(1.25);
    opacity:.4
  }
}
/* Logo champagne translúcida + resposta sutil ao mouse */ .site-watermark {
  opacity:.10;
  filter:drop-shadow(0 0 38px rgba(229,205,157,.12));
  transition:transform .18s cubic-bezier(.2,.75,.25,1), opacity .35s ease;
}
.site-watermark img {
  filter:none
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .site-watermark {
    opacity:.085
  }
}
/* CAMPO DE BOKEH — dezenas de focos de luz desfocados espalhados por todo o fundo */ .bokeh-light {
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:2;
  filter:blur(var(--blur));
  opacity:var(--base-opacity);
  mix-blend-mode:screen;
  animation:bokehDrift var(--duration) ease-in-out var(--delay) infinite alternate;
  box-shadow:0 0 34px rgba(255,224,165,.22),0 0 72px rgba(244,205,132,.12);
}
.bokeh-light::after {
  content:"";
  position:absolute;
  inset:20%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,244,.92) 0%,rgba(255,241,207,.58) 18%,rgba(255,220,163,.18) 48%,transparent 78%);
  filter:blur(7px);
}
.bokeh-light.bokeh-strong {
  filter:blur(calc(var(--blur) * .72));
  opacity:calc(var(--base-opacity) * 1.28);
  box-shadow:0 0 42px rgba(255,236,193,.42),0 0 95px rgba(235,190,106,.28),0 0 150px rgba(255,221,155,.12);
}
.bokeh-light.bokeh-strong::after {
  inset:13%;
  background:radial-gradient(circle,rgba(255,255,250,1) 0%,rgba(255,245,218,.82) 15%,rgba(255,224,166,.38) 38%,transparent 75%);
  filter:blur(5px);
}
@keyframes bokehDrift {
  0% {
    transform:translate3d(0,0,0) scale(.62);
    opacity:calc(var(--base-opacity) * .35)
  }
  35% {
    opacity:calc(var(--base-opacity) * 1.25)
  }
  68% {
    transform:translate3d(calc(var(--dx) * .55),calc(var(--dy) * .55),0) scale(1.12);
    opacity:calc(var(--base-opacity) * .95)
  }
  100% {
    transform:translate3d(var(--dx),var(--dy),0) scale(1.34);
    opacity:calc(var(--base-opacity) * .55)
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .bokeh-light {
    filter:blur(calc(var(--blur) * .72));
  }
  .bokeh-light:nth-child(n+72) {
    display:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  .bokeh-light {
    animation:none!important;
    opacity:.18!important
  }
}
/* HERO LIGHTS — pontos de luz cinematográficos,
lentos e elegantes */ .hero-moving-lights {
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
  mix-blend-mode:screen;
}
.hero-orb {
  position:absolute;
  width:clamp(55px,5vw,105px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,248,225,.95) 0%,rgba(255,220,154,.48) 13%,rgba(226,170,84,.16) 34%,transparent 72%);
  filter:blur(3px);
  opacity:.72;
}
.hero-orb::after {
  content:"";
  position:absolute;
  inset:34%;
  border-radius:50%;
  background:rgba(255,249,226,.9);
  filter:blur(8px);
  box-shadow:0 0 34px 12px rgba(236,185,102,.24);
}
.orb-1 {
  left:8%;
  top:24%;
  animation:heroOrb1 13s ease-in-out infinite
}
.orb-2 {
  left:26%;
  top:67%;
  width:clamp(40px,3.5vw,72px);
  animation:heroOrb2 16s ease-in-out infinite
}
.orb-3 {
  left:43%;
  top:18%;
  width:clamp(35px,3vw,64px);
  animation:heroOrb3 11s ease-in-out infinite
}
.orb-4 {
  left:61%;
  top:72%;
  width:clamp(60px,4.5vw,92px);
  animation:heroOrb4 15s ease-in-out infinite
}
.orb-5 {
  left:78%;
  top:28%;
  width:clamp(45px,3.6vw,76px);
  animation:heroOrb5 12s ease-in-out infinite
}
.orb-6 {
  left:91%;
  top:61%;
  width:clamp(38px,3vw,62px);
  animation:heroOrb6 17s ease-in-out infinite
}
.orb-7 {
  left:14%;
  top:78%;
  width:clamp(28px,2.3vw,48px);
  opacity:.55;
  animation:heroOrb7 14s ease-in-out infinite
}
.orb-8 {
  left:52%;
  top:46%;
  width:clamp(25px,2vw,44px);
  opacity:.48;
  animation:heroOrb8 10s ease-in-out infinite
}
.orb-9 {
  left:70%;
  top:15%;
  width:clamp(24px,2vw,42px);
  opacity:.5;
  animation:heroOrb9 18s ease-in-out infinite
}
.orb-10 {
  left:35%;
  top:38%;
  width:clamp(30px,2.4vw,50px);
  opacity:.5;
  animation:heroOrb10 13s ease-in-out infinite
}
.hero-light-beam {
  position:absolute;
  width:27vw;
  min-width:180px;
  height:165%;
  top:-32%;
  background:linear-gradient(90deg,transparent 0%,rgba(255,222,165,.035) 25%,rgba(255,244,215,.16) 50%,rgba(255,222,165,.035) 75%,transparent 100%);
  filter:blur(20px);
  transform:rotate(18deg);
  opacity:.52;
}
.beam-1 {
  left:18%;
  animation:heroBeam1 18s ease-in-out infinite
}
.beam-2 {
  left:70%;
  width:18vw;
  opacity:.32;
  transform:rotate(-16deg);
  animation:heroBeam2 22s ease-in-out infinite
}
.beam-3 {
  left:44%;
  width:13vw;
  opacity:.24;
  transform:rotate(13deg);
  filter:blur(28px);
  animation:heroBeam3 25s ease-in-out infinite
}
.beam-4 {
  left:88%;
  width:10vw;
  opacity:.2;
  transform:rotate(-12deg);
  filter:blur(30px);
  animation:heroBeam4 29s ease-in-out infinite
}
@keyframes heroOrb1 {
  0%,
  100% {
    transform:translate3d(0,0,0) scale(.7);
    opacity:.25
  }
  45% {
    transform:translate3d(9vw,7vh,0) scale(1.18);
    opacity:.82
  }
  75% {
    transform:translate3d(17vw,-4vh,0) scale(.88);
    opacity:.48
  }
}
@keyframes heroOrb2 {
  0%,
  100% {
    transform:translate3d(0,0,0) scale(.75);
    opacity:.25
  }
  50% {
    transform:translate3d(-8vw,-11vh,0) scale(1.15);
    opacity:.72
  }
  80% {
    transform:translate3d(6vw,-3vh,0) scale(.9);
    opacity:.38
  }
}
@keyframes heroOrb3 {
  0%,
  100% {
    transform:translate3d(0,0,0) scale(.65);
    opacity:.2
  }
  40% {
    transform:translate3d(12vw,10vh,0) scale(1.12);
    opacity:.72
  }
  72% {
    transform:translate3d(3vw,17vh,0) scale(.82);
    opacity:.36
  }
}
@keyframes heroOrb4 {
  0%,
  100% {
    transform:translate3d(0,0,0) scale(.65);
    opacity:.18
  }
  48% {
    transform:translate3d(-12vw,-7vh,0) scale(1.2);
    opacity:.78
  }
  78% {
    transform:translate3d(-3vw,6vh,0) scale(.86);
    opacity:.4
  }
}
@keyframes heroOrb5 {
  0%,
  100% {
    transform:translate3d(0,0,0) scale(.7);
    opacity:.22
  }
  50% {
    transform:translate3d(-10vw,8vh,0) scale(1.22);
    opacity:.75
  }
  82% {
    transform:translate3d(-2vw,-8vh,0) scale(.8);
    opacity:.34
  }
}
@keyframes heroOrb6 {
  0%,
  100% {
    transform:translate3d(0,0,0) scale(.7);
    opacity:.2
  }
  42% {
    transform:translate3d(-13vw,-10vh,0) scale(1.15);
    opacity:.7
  }
  76% {
    transform:translate3d(-6vw,4vh,0) scale(.84);
    opacity:.35
  }
}
@keyframes heroOrb7 {
  0%,
  100% {
    transform:translate3d(0,0,0)
  }
  50% {
    transform:translate3d(10vw,-12vh,0) scale(1.3)
  }
}
@keyframes heroOrb8 {
  0%,
  100% {
    transform:translate3d(0,0,0)
  }
  50% {
    transform:translate3d(-9vw,8vh,0) scale(1.4)
  }
}
@keyframes heroOrb9 {
  0%,
  100% {
    transform:translate3d(0,0,0)
  }
  50% {
    transform:translate3d(-8vw,12vh,0) scale(1.35)
  }
}
@keyframes heroOrb10 {
  0%,
  100% {
    transform:translate3d(0,0,0)
  }
  50% {
    transform:translate3d(11vw,-7vh,0) scale(1.3)
  }
}
@keyframes heroBeam1 {
  0%,
  15% {
    transform:translate3d(-55vw,0,0) rotate(18deg);
    opacity:0
  }
  40% {
    opacity:.55
  }
  75%,
  100% {
    transform:translate3d(55vw,0,0) rotate(18deg);
    opacity:0
  }
}
@keyframes heroBeam2 {
  0%,
  20% {
    transform:translate3d(45vw,0,0) rotate(-16deg);
    opacity:0
  }
  48% {
    opacity:.38
  }
  80%,
  100% {
    transform:translate3d(-55vw,0,0) rotate(-16deg);
    opacity:0
  }
}
@keyframes heroBeam3 {
  0%,
  18% {
    transform:translate3d(-65vw,0,0) rotate(13deg);
    opacity:0
  }
  42% {
    opacity:.28
  }
  78%,
  100% {
    transform:translate3d(48vw,0,0) rotate(13deg);
    opacity:0
  }
}
@keyframes heroBeam4 {
  0%,
  25% {
    transform:translate3d(52vw,0,0) rotate(-12deg);
    opacity:0
  }
  50% {
    opacity:.24
  }
  82%,
  100% {
    transform:translate3d(-62vw,0,0) rotate(-12deg);
    opacity:0
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-slide-luxury .hero-bg {
    animation:none!important;
    transform:scale(1.04)!important
  }
  .hero-orb,
  .hero-light-beam {
    animation:none!important
  }
  .hero-orb {
    opacity:.18
  }
  .hero-light-beam {
    opacity:.12
  }
}
/* HERO SIGNATURE — integração do produto com o ambiente,
luxo e interação */ .hero-slide-luxury {
  isolation:isolate;
  overflow:hidden;
  background:#120f0b
}
.hero-slide-luxury .hero-bg {
  background-image:none!important;
  background-size:cover;
  background-position:center center;
  will-change:transform;
}
.hero-slide-luxury .hero-bg:after {
  background: linear-gradient(90deg,rgba(8,6,4,.78) 0%,rgba(8,6,4,.48) 32%,rgba(8,6,4,.08) 60%,rgba(8,6,4,.18) 100%), linear-gradient(180deg,rgba(10,7,4,.18),rgba(10,7,4,.08) 52%,rgba(5,4,3,.48) 100%), radial-gradient(circle at 76% 42%,rgba(237,190,104,.14),transparent 29%);
}
.hero-luxury-glow {
  position:absolute;
  inset:-15%;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(ellipse at 74% 51%,rgba(239,192,111,.22),transparent 23%),radial-gradient(ellipse at 86% 76%,rgba(255,225,169,.13),transparent 24%);
  filter:blur(32px);
  animation:luxuryBreath 8s ease-in-out infinite alternate;
  mix-blend-mode:screen
}
.hero-product-stage {
  position:absolute;
  z-index:3;
  right:4.5vw;
  top:50%;
  width:min(43vw,690px);
  height:min(88vh,840px);
  transform:translateY(-50%);
  pointer-events:none;
  perspective:1200px;
  --mx:50%;
  --my:50%;
}
.hero-product-stage:before {
  content:"";
  position:absolute;
  inset:5% 2% 8% 2%;
  border-radius:50%;
  background:radial-gradient(ellipse at var(--mx) var(--my),rgba(255,227,174,.22),rgba(204,151,69,.08) 28%,transparent 62%);
  filter:blur(28px);
  transform:scale(.82);
  opacity:.8;
  animation:luxuryHalo 7s ease-in-out infinite alternate
}
.hero-product-halo {
  position:absolute;
  inset:12% 12% 12% 12%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,236,195,.14),rgba(210,157,74,.07) 38%,transparent 70%);
  filter:blur(35px);
  animation:luxuryHalo 9s ease-in-out infinite alternate
}
.hero-product-floor-shadow {
  position:absolute;
  left:11%;
  right:9%;
  bottom:3%;
  height:13%;
  border-radius:50%;
  background:rgba(0,0,0,.7);
  filter:blur(28px);
  transform:scaleX(.9);
  opacity:.72;
  animation:shadowBreath 5s ease-in-out infinite alternate
}
.hero-product {
  position:absolute;
  z-index:4;
  right:2%;
  top:50%;
  height:min(81vh,775px);
  width:auto;
  max-width:74%;
  object-fit:contain;
  transform:translate3d(0,-50%,0) scale(1);
  transform-origin:center center;
  filter:brightness(1.05) contrast(1.07) saturate(.9) sepia(.055) drop-shadow(0 26px 34px rgba(0,0,0,.48)) drop-shadow(0 10px 70px rgba(212,164,82,.17));
  animation:productFloat 6.5s ease-in-out infinite;
  transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .35s ease;
  will-change:transform;
}
.hero-slide-luxury.is-interacting .hero-product {
  filter:brightness(1.08) contrast(1.08) saturate(.92) sepia(.07) drop-shadow(0 30px 38px rgba(0,0,0,.5)) drop-shadow(0 12px 78px rgba(226,178,96,.22));
}
.hero-light-sweep {
  position:absolute;
  z-index:5;
  top:13%;
  right:9%;
  width:20%;
  height:74%;
  border-radius:50%;
  background:linear-gradient(90deg,transparent,rgba(255,233,193,.14),transparent);
  filter:blur(18px);
  mix-blend-mode:screen;
  transform:rotate(12deg);
  animation:metalSweep 5.8s ease-in-out infinite;
  opacity:.72
}
.hero-content {
  z-index:6;
  left:7.5vw;
  max-width:min(48vw,720px);
  text-shadow:0 2px 24px rgba(0,0,0,.34)
}
.hero-kicker {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:rgba(255,239,204,.86);
  font-size:9px;
  letter-spacing:.2em;
  font-weight:600;
  margin-bottom:18px;
  padding:8px 12px;
  border:1px solid rgba(235,198,132,.22);
  border-radius:999px;
  background:rgba(30,22,14,.22);
  backdrop-filter:blur(10px);
  animation:heroText .75s both
}
.hero-kicker i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:#e7bf79;
  box-shadow:0 0 14px rgba(232,191,118,.9);
  animation:luxuryDot 2.2s ease-in-out infinite
}
.hero-slide-luxury .eyebrow {
  margin-bottom:16px
}
.hero-slide-luxury h1 {
  max-width:680px;
  font-size:clamp(46px,5.8vw,82px);
  letter-spacing:-.055em;
  text-wrap:balance
}
.hero-luxury-copy {
  max-width:500px;
  margin:20px 0 0;
  color:rgba(245,236,220,.76);
  font-size:clamp(13px,1.15vw,16px);
  line-height:1.65;
  letter-spacing:.01em;
  animation:heroText .8s .12s both
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:22px;
  margin-top:28px;
  animation:heroText .8s .2s both
}
.hero-actions .btn {
  margin-top:0
}
.hero-ghost-link {
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,247,232,.84);
  display:inline-flex;
  align-items:center;
  gap:9px;
  transition:.3s ease
}
.hero-ghost-link span {
  color:#e2b86f;
  transition:.3s ease
}
.hero-ghost-link:hover {
  color:#fff
}
.hero-ghost-link:hover span {
  transform:translate(3px,-3px)
}
.hero-signature {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:40px;
  color:rgba(255,239,204,.56);
  font-size:8px;
  letter-spacing:.18em;
  animation:heroText .8s .28s both
}
.hero-signature span {
  color:#e4bd78;
  font-size:11px
}
.hero-signature b {
  display:block;
  width:48px;
  height:1px;
  background:linear-gradient(90deg,rgba(226,184,111,.75),transparent)
}
.hero-slide-luxury .hero-controls {
  z-index:8
}
@keyframes productFloat {
  0%,
  100% {
    margin-top:7px
  }
  50% {
    margin-top:-9px
  }
}
@keyframes luxuryBreath {
  0% {
    opacity:.5;
    transform:scale(.96)
  }
  100% {
    opacity:.95;
    transform:scale(1.05)
  }
}
@keyframes luxuryHalo {
  0% {
    opacity:.48;
    transform:scale(.78) translate3d(0,5px,0)
  }
  100% {
    opacity:.92;
    transform:scale(1.02) translate3d(0,-7px,0)
  }
}
@keyframes shadowBreath {
  0% {
    opacity:.55;
    transform:scaleX(.84)
  }
  100% {
    opacity:.78;
    transform:scaleX(1)
  }
}
@keyframes metalSweep {
  0%,
  25% {
    transform:translateX(-90%) rotate(12deg);
    opacity:0
  }
  42% {
    opacity:.65
  }
  70%,
  100% {
    transform:translateX(230%) rotate(12deg);
    opacity:0
  }
}
@keyframes luxuryDot {
  0%,
  100% {
    opacity:.45;
    box-shadow:0 0 8px rgba(232,191,118,.5)
  }
  50% {
    opacity:1;
    box-shadow:0 0 18px rgba(232,191,118,1)
  }
}
@media(max-width:900px) {
  .hero-product-stage {
    right:-7vw;
    width:58vw;
    height:76vh;
    opacity:.92
  }
  .hero-product {
    height:68vh;
    max-width:88%;
    right:0;
    top:50%
  }
  .hero-content {
    left:6vw;
    max-width:58vw
  }
  .hero-slide-luxury h1 {
    font-size:clamp(40px,7vw,68px)
  }
  .hero-luxury-copy {
    font-size:13px;
    max-width:430px
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .hero-slide-luxury .hero-bg {
    background-position:62% center
  }
  .hero-content {
    left:7vw;
    right:7vw;
    top:31%;
    max-width:none;
    transform:none
  }
  .hero-kicker {
    font-size:7px;
    letter-spacing:.14em;
    padding:7px 9px
  }
  .hero-slide-luxury h1 {
    font-size:clamp(36px,11vw,52px);
    max-width:90%
  }
  .hero-luxury-copy {
    max-width:78%;
    font-size:12px;
    line-height:1.5
  }
  .hero-actions {
    gap:14px;
    margin-top:20px
  }
  .hero-ghost-link {
    font-size:9px
  }
  .hero-signature {
    margin-top:22px
  }
  .hero-product-stage {
    right:-17vw;
    top:66%;
    width:70vw;
    height:48vh;
    opacity:.78
  }
  .hero-product {
    height:54vh;
    max-width:100%;
    right:0
  }
  .hero-product-floor-shadow {
    bottom:-2%
  }
  .hero-light-sweep {
    right:14%;
    height:66%
  }
  .hero-slide-luxury .hero-controls {
    bottom:22px;
    right:6vw
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-product,
  .hero-product-stage:before,
  .hero-product-halo,
  .hero-product-floor-shadow,
  .hero-light-sweep,
  .hero-luxury-glow,
  .hero-kicker i {
    animation:none!important
  }
  .hero-product {
    transform:none!important
  }
}
/* HERO 02 — FECHADURA DIGITAL TEXAS */ .hero-slide-texas .hero-bg {
  background-image:none!important;
  background-size:cover;
  background-position:center center;
  animation:heroTexasBackgroundDrift 28s ease-in-out infinite alternate;
}
.hero-slide-texas .hero-bg:after {
  background: linear-gradient(90deg,rgba(5,4,3,.72) 0%,rgba(5,4,3,.42) 34%,rgba(5,4,3,.10) 62%,rgba(5,4,3,.38) 100%), linear-gradient(180deg,rgba(8,6,4,.10),rgba(8,6,4,.02) 52%,rgba(4,3,2,.50) 100%), radial-gradient(circle at 75% 44%,rgba(237,190,104,.13),transparent 30%);
}
.hero-slide-texas .hero-luxury-glow {
  background: radial-gradient(ellipse at 73% 50%,rgba(239,192,111,.20),transparent 24%), radial-gradient(ellipse at 88% 78%,rgba(255,225,169,.12),transparent 25%);
}
.hero-slide-texas .hero-product-stage {
  right:2vw;
  width:min(46vw,720px);
  height:min(94vh,900px);
}
.hero-slide-texas .hero-product {
  height:min(88vh,850px);
  max-width:82%;
  right:3%;
  filter:brightness(1.04) contrast(1.08) saturate(.92) sepia(.035) drop-shadow(0 28px 38px rgba(0,0,0,.52)) drop-shadow(0 12px 72px rgba(212,164,82,.18));
}
.hero-slide-texas .hero-product-floor-shadow {
  left:9%;
  right:8%;
  bottom:4%;
  height:11%;
}
.hero-slide-texas .hero-light-sweep {
  right:13%;
  width:18%;
  opacity:.68;
}
.hero-slide-texas .hero-content {
  max-width:min(47vw,700px);
}
.hero-slide-texas h1 {
  max-width:640px;
}
@keyframes heroTexasBackgroundDrift {
  0% {
    transform:translate3d(-2.1%,0,0) scale(1.07)
  }
  50% {
    transform:translate3d(0,0,0) scale(1.07)
  }
  100% {
    transform:translate3d(2.1%,0,0) scale(1.07)
  }
}
@media(max-width:900px) {
  .hero-slide-texas .hero-product-stage {
    right:-6vw;
    width:60vw;
    height:82vh
  }
  .hero-slide-texas .hero-product {
    height:74vh;
    max-width:94%;
    right:0
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .hero-slide-texas .hero-bg {
    background-position:58% center
  }
  .hero-slide-texas .hero-product-stage {
    right:-15vw;
    top:66%;
    width:70vw;
    height:48vh
  }
  .hero-slide-texas .hero-product {
    height:52vh;
    max-width:100%;
    right:0
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-slide-texas .hero-bg {
    animation:none!important;
    transform:scale(1.04)!important
  }
}
/* Ajuste do hero: Texas com a mesma presença visual da Paris */ .hero-texas-product {
  height:min(92vh,880px)!important;
  max-width:88%!important;
  right:-2%!important;
}
/* Identificação e acesso direto aos produtos no hero */ .hero-product-link-wrap {
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:28px;
  animation:heroText .8s .18s both;
}
.hero-product-name {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(235,198,132,.24);
  border-radius:999px;
  background:rgba(15,11,7,.34);
  color:rgba(255,239,204,.9);
  font-size:10px;
  font-weight:600;
  letter-spacing:.13em;
  backdrop-filter:blur(10px);
}
.hero-product-link {
  margin-top:0!important;
  white-space:nowrap;
}
@media(max-width:900px) {
  .hero-texas-product {
    height:78vh!important;
    max-width:100%!important;
    right:-2%!important;
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .hero-product-link-wrap {
    flex-wrap:wrap;
    gap:9px;
    margin-top:20px;
  }
  .hero-product-name {
    min-height:36px;
    font-size:8px;
    padding:0 11px;
  }
  .hero-product-link {
    padding:11px 15px;
    font-size:10px;
  }
  .hero-texas-product {
    height:62vh!important;
    max-width:112%!important;
  }
}
/* NAVEGAÇÃO — botão voltar persistente */ .site-back-button {
  position:fixed;
  left:22px;
  top:92px;
  z-index:1200;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 15px 0 12px;
  border:1px solid rgba(226,184,111,.28);
  border-radius:999px;
  background:rgba(10,9,8,.78);
  color:#f5ead7;
  font:600 11px/1 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateX(-12px);
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease,background .22s ease;
}
.site-back-button.is-visible {
  opacity:1;
  visibility:visible;
  transform:translateX(0);
  pointer-events:auto;
}
.site-back-button:hover {
  background:rgba(25,20,14,.94);
  border-color:rgba(226,184,111,.55);
}
.site-back-button span:first-child {
  font-size:19px;
  line-height:1;
  font-weight:400;
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .product-back-btn {
    left:14px;
    top:14px;
    min-height:37px;
    padding:0 11px 0 9px;
    font-size:9px;
  }
  .product-back-btn span:first-child {
    font-size:17px
  }
  .site-back-button {
    left:12px;
    top:78px;
    min-height:38px;
    padding:0 12px 0 10px;
    font-size:9px;
  }
  .site-back-button span:first-child {
    font-size:17px
  }
}
/* Ajuste da página de produto: o cabeçalho não fica por cima do conteúdo. */ body:has(#productModal.open) .site-header {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
body:has(#productModal.open) .site-back-button {
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.product-modal {
  inset:9vh 4vw;
  max-height:86vh;
}
.product-back-btn {
  top:20px;
  left:24px;
}
.modal-media {
  padding-top:78px;
}
.modal-info {
  padding-top:78px;
}
.product-card .card-arrow {
  pointer-events:none;
}
@media(max-width:950px) {
  .product-modal {
    inset:7vh 3vw;
    max-height:88vh;
  }
  .modal-media {
    padding-top:72px;
  }
  .modal-info {
    padding-top:72px;
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .product-modal {
    inset:4vh 2vw;
    max-height:92vh;
  }
  .product-back-btn {
    top:14px;
    left:14px;
  }
  .modal-media {
    padding-top:62px;
  }
  .modal-info {
    padding-top:62px;
  }
}
/* HERO 03 — FECHADURA MECÂNICA BLIM-BLIM A imagem percorre o banner da direita para a esquerda,
mantendo os mesmos efeitos cinematográficos dos slides digitais. */ .hero-slide-blim {
  isolation:isolate;
  overflow:hidden;
  background:#100b07;
}
.hero-slide-blim .hero-bg {
  background-image:none!important;
  background-size:cover;
  background-position:center center;
  transform:translate3d(2.4%,0,0) scale(1.075);
  animation:heroBlimBackgroundDrift 28s ease-in-out infinite alternate;
  will-change:transform;
}
.hero-slide-blim .hero-bg:after {
  background: linear-gradient(90deg,rgba(7,5,3,.76) 0%,rgba(7,5,3,.45) 31%,rgba(7,5,3,.08) 62%,rgba(7,5,3,.32) 100%), linear-gradient(180deg,rgba(8,6,4,.12),rgba(8,6,4,.04) 52%,rgba(4,3,2,.46) 100%), radial-gradient(circle at 76% 40%,rgba(237,190,104,.15),transparent 30%);
  backdrop-filter:none;
}
.hero-slide-blim .hero-luxury-glow {
  background: radial-gradient(ellipse at 73% 50%,rgba(239,192,111,.19),transparent 25%), radial-gradient(ellipse at 88% 78%,rgba(255,225,169,.11),transparent 26%);
}
.hero-slide-blim .hero-content {
  max-width:min(47vw,700px);
}
.hero-slide-blim h1 {
  max-width:650px;
}
.hero-blim-sweep {
  position:absolute;
  z-index:5;
  top:8%;
  left:-16%;
  width:23%;
  height:84%;
  border-radius:50%;
  background:linear-gradient(90deg,transparent,rgba(255,233,193,.13),transparent);
  filter:blur(20px);
  mix-blend-mode:screen;
  transform:rotate(12deg);
  animation:blimMetalSweep 6.2s ease-in-out infinite;
  opacity:.68;
  pointer-events:none;
}
@keyframes heroBlimBackgroundDrift {
  0% {
    transform:translate3d(2.4%,0,0) scale(1.075)
  }
  50% {
    transform:translate3d(0,0,0) scale(1.075)
  }
  100% {
    transform:translate3d(-2.4%,0,0) scale(1.075)
  }
}
@keyframes blimMetalSweep {
  0%,
  22% {
    transform:translateX(-80%) rotate(12deg);
    opacity:0
  }
  42% {
    opacity:.62
  }
  70%,
  100% {
    transform:translateX(620%) rotate(12deg);
    opacity:0
  }
}
@media(max-width:900px) {
  .hero-slide-blim .hero-content {
    max-width:58vw
  }
}
@media(max-width:650px) {
  .subcat-grid {
    grid-template-columns:1fr
  }
  .mechanical-subcategories {
    padding:20px
  }
  .subcat-card {
    min-height:165px
  }
  .hero-slide-blim .hero-bg {
    background-position:58% center
  }
  .hero-slide-blim .hero-content {
    max-width:none
  }
  .hero-slide-blim .hero-luxury-copy {
    max-width:78%
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-slide-blim .hero-bg {
    animation:none!important;
    transform:scale(1.04)!important
  }
  .hero-slide-blim .hero-blim-sweep {
    animation:none!important;
    opacity:.12
  }
}
.selected-color-info {
  margin-top:18px;
  min-height:14px
}
.selected-color-label {
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  color:#d8d3ca;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:rgba(255,255,255,.025)
}
/* RODAPÉ INSTITUCIONAL */ .site-footer {
  padding:58px 7vw 24px;
  border-top:1px solid var(--line);
  color:#777;
  background:#050505
}
.footer-main {
  display:grid;
  grid-template-columns:1.25fr .75fr 1fr 1fr;
  gap:55px;
  max-width:1400px;
  margin:0 auto 42px
}
.footer-brand {
  display:flex;
  gap:14px;
  align-items:flex-start
}
.footer-brand strong,
.footer-nav strong,
.footer-contact strong {
  display:block;
  color:#e8e4dc;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase
}
.footer-brand p {
  font-size:10px;
  line-height:1.7;
  margin:7px 0 3px;
  color:#858585;
  max-width:270px
}
.footer-brand small {
  font-size:9px;
  color:#555;
  letter-spacing:.08em
}
.footer-logo {
  width:46px;
  height:52px;
  flex-basis:46px
}
.footer-logo img {
  width:46px;
  height:52px
}
.footer-nav,
.footer-contact {
  display:flex;
  flex-direction:column;
  gap:9px
}
.footer-nav a,
.footer-contact a {
  font-size:10px;
  color:#777;
  text-decoration:none;
  transition:color .25s ease
}
.footer-nav a:hover,
.footer-contact a:hover {
  color:#e2b875
}
.footer-contact span {
  font-size:10px;
  line-height:1.5;
  color:#686868;
  max-width:280px
}
.footer-contact a {
  margin-top:4px;
  color:#b99a67
}
.footer-social {
  display:flex;
  flex-direction:column;
  gap:10px
}
.footer-social strong {
  display:block;
  color:#e8e4dc;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase
}
.instagram-link {
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  color:#777;
  text-decoration:none;
  font-size:10px;
  line-height:1.4;
  transition:color .25s ease, transform .25s ease
}
.instagram-link:hover {
  color:#e2b875;
  transform:translateX(2px)
}
.instagram-icon {
  width:18px;
  height:18px;
  flex:0 0 18px
}
.instagram-author {
  margin-top:2px;
  color:#686868
}
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  max-width:1400px;
  margin:0 auto;
  font-size:8px;
  letter-spacing:.04em;
  color:#4f4f4f
}
.footer-bottom .footer-meta {
  font-size:8px;
  letter-spacing:.22em;
  color:#626262
}
.footer-bottom strong {
  color:#777;
  font-weight:500
}
@media(max-width:800px) {
  .site-footer {
    padding:48px 24px 22px
  }
  .footer-main {
    grid-template-columns:1fr 1fr;
    gap:38px 28px
  }
  .footer-brand {
    grid-column:1/-1
  }
  .footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:9px
  }
}
@media(max-width:520px) {
  .footer-main {
    grid-template-columns:1fr
  }
  .footer-brand {
    grid-column:auto
  }
}
/* Performance: defer rendering of below-the-fold sections without changing their appearance. */ .categories-section,
.catalog-section,
.about-section,
.quality-section,
.quote-section {
  content-visibility:auto;
  contain-intrinsic-size:700px;
}
/* Performance de rolagem: preserva o visual,
mas evita que animações decorativas concorram com o gesto de scroll. Elas voltam automaticamente ao parar. */ html.is-scrolling .ambient-motion,
html.is-scrolling .hero-moving-lights,
html.is-scrolling .hero-luxury-glow,
html.is-scrolling .hero-light-sweep,
html.is-scrolling .hero-blim-sweep {
  animation-play-state: paused !important;
}
/* Mantém as camadas decorativas fora do fluxo de layout. */ .ambient-motion,
.hero-moving-lights {
  contain: paint;
  pointer-events: none;
}
/* NÚMEROS DE CONFIANÇA */ .trust-stats-section {
  position:relative;
  padding:96px 7vw 105px;
  overflow:hidden;
  background: radial-gradient(circle at 50% 0%,rgba(216,169,91,.075),transparent 36%), linear-gradient(180deg,rgba(255,255,255,.012),transparent 45%);
}
.trust-stats-section:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.025) 50%,transparent 100%);
  opacity:.7;
}
.trust-stats-head {
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 auto 48px;
  text-align:center;
}
.trust-stats-head .eyebrow {
  margin-bottom:13px
}
.trust-stats-head h2 {
  margin:0;
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(34px,4.2vw,58px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:600;
}
.trust-stats-head>p:last-child {
  margin:18px auto 0;
  max-width:620px;
  color:var(--muted);
  font-size:13px;
  line-height:1.75;
}
.trust-stats-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:1200px;
  margin:0 auto;
}
.trust-stat-card {
  position:relative;
  min-height:265px;
  padding:30px 28px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  box-shadow:0 20px 70px rgba(0,0,0,.2);
  overflow:hidden;
  transition:transform .35s ease,border-color .35s ease,background .35s ease;
}
.trust-stat-card:after {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-80px;
  bottom:-95px;
  border-radius:50%;
  background:rgba(221,177,93,.12);
  filter:blur(22px);
  pointer-events:none;
}
.trust-stat-card:hover {
  transform:translateY(-5px);
  border-color:rgba(221,177,93,.28);
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015))
}
.trust-stat-featured {
  border-color:rgba(221,177,93,.24);
  background:linear-gradient(145deg,rgba(221,177,93,.095),rgba(255,255,255,.018));
}
.trust-stat-icon {
  width:42px;
  height:42px;
  border:1px solid rgba(221,177,93,.3);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#dcb87c;
  font-size:18px;
  margin-bottom:25px;
  background:rgba(221,177,93,.06);
}
.trust-stat-label {
  display:block;
  color:#aaa59b;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:9px;
  font-weight:600;
}
.trust-stat-number {
  display:block;
  margin-top:10px;
  color:#f3eee5;
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(42px,5vw,68px);
  line-height:1;
  font-weight:600;
  letter-spacing:-.055em;
  font-variant-numeric:tabular-nums;
}
.trust-stat-card small {
  display:block;
  margin-top:14px;
  color:#706e69;
  font-size:10px;
  line-height:1.6;
  max-width:250px
}
.google-g {
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:18px
}
.google-rating span {
  font-size:.3em;
  color:#777;
  letter-spacing:0;
  font-weight:500
}
.google-stars {
  margin-top:13px;
  color:#d9ad63;
  font-size:15px;
  letter-spacing:3px;
  text-shadow:0 0 18px rgba(221,177,93,.16);
  transition:filter .18s ease,text-shadow .18s ease,transform .18s ease;
}

/* Entrada da seção: brilho curto e elegante nas estrelas do Google. */
.trust-stats-section.is-visible .google-stars {
  animation:googleStarsEntrance .72s cubic-bezier(.2,.75,.25,1) both;
}

@keyframes googleStarsEntrance {
  0% { opacity:.35; filter:brightness(1); text-shadow:0 0 10px rgba(221,177,93,.08); transform:scale(.96); }
  45% { opacity:1; filter:brightness(2.15); text-shadow:0 0 9px rgba(221,177,93,.9),0 0 28px rgba(221,177,93,.72),0 0 52px rgba(221,177,93,.42); transform:scale(1.035); }
  100% { opacity:1; filter:brightness(1.08); text-shadow:0 0 18px rgba(221,177,93,.28); transform:scale(1); }
}
@media(max-width:800px) {
  .trust-stats-section {
    padding:78px 24px 85px
  }
  .trust-stats-grid {
    grid-template-columns:1fr
  }
  .trust-stat-card {
    min-height:220px
  }
}
@media(prefers-reduced-motion:reduce) {
  .trust-stat-card {
    transition:none
  }
}
/* Quantity controls — product modal and quote cart */ .modal-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap
}
.product-quantity,
.cart-qty-control {
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.035)
}
.product-quantity button,
.cart-qty-control button {
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font-size:18px;
  width:36px;
  height:38px
}
.product-quantity span,
.cart-qty-control span {
  min-width:30px;
  text-align:center;
  font-weight:700
}
.product-quantity button:hover,
.cart-qty-control button:hover {
  background:rgba(255,255,255,.08)
}
.cart-product-info {
  min-width:0
}
.cart-quantity-label {
  margin-top:5px!important
}
.cart-qty-control {
  margin-top:8px
}
.cart-qty-control button {
  width:30px;
  height:30px;
  font-size:16px
}
.cart-qty-control span {
  min-width:26px;
  font-size:12px
}
.cart-added-notice {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:10000;
  padding:13px 17px;
  border-radius:12px;
  background:rgba(18,18,18,.96);
  color:#fff;
  box-shadow:0 12px 35px rgba(0,0,0,.3);
  font-size:13px;
  font-weight:700;
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:.25s
}
.cart-added-notice.show {
  opacity:1;
  transform:translateY(0)
}
/* Performance isolation: keeps existing visuals while preventing off-focus effects from invalidating unrelated paint. */ .ambient-motion,
.hero-moving-lights,
.hero-luxury-glow,
.hero-product-halo,
.hero-product-floor-shadow,
.hero-light-sweep {
  contain:paint;
}
/* Correções finais: subcategorias mecânicas sempre visíveis sob o cabeçalho fixo. */ #mechanicalSubcategories {
  scroll-margin-top:96px;
}
#orcamento {
  scroll-margin-top:96px;
}
/* ===== ORÇAMENTO / CARRINHO — extraído do HTML ===== */ .budget-product-action {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
  flex-wrap:wrap
}
.budget-qty-control {
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
  height:48px
}
.budget-qty-control button {
  width:42px;
  height:48px;
  border:0;
  background:transparent;
  color:inherit;
  font-size:22px;
  cursor:pointer;
  transition:background .2s,transform .15s
}
.budget-qty-control button:hover {
  background:rgba(255,255,255,.10)
}
.budget-qty-control button:active {
  transform:scale(.94)
}
.budget-qty-value {
  min-width:38px;
  text-align:center;
  font-weight:700;
  font-size:16px
}
.budget-cart-toast {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99999;
  display:flex;
  align-items:center;
  gap:12px;
  max-width:min(390px,calc(100vw - 32px));
  padding:14px 18px;
  border-radius:14px;
  background:rgba(20,20,20,.94);
  color:#fff;
  box-shadow:0 14px 40px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
  font:600 14px/1.35 system-ui,sans-serif;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .25s,transform .25s
}
.budget-cart-toast.show {
  opacity:1;
  transform:translateY(0);
  pointer-events:auto
}
.budget-cart-toast .check {
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:#111;
  font-weight:900
}
.budget-cart-toast .cart-added-message {
  flex:1;
  min-width:0
}
.budget-cart-toast .cart-added-view {
  border:1px solid rgba(255,255,255,.22);
  background:#fff;
  color:#111;
  border-radius:10px;
  padding:9px 12px;
  font:700 13px/1 system-ui,sans-serif;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .15s,opacity .2s
}
.budget-cart-toast .cart-added-view:hover {
  transform:translateY(-1px);
  opacity:.92
}
.budget-cart-toast .cart-added-view:active {
  transform:scale(.97)
}
@media(max-width:560px) {
  .budget-cart-toast {
    right:16px;
    bottom:16px;
    left:16px;
    max-width:none;
    flex-wrap:wrap
  }
  .budget-cart-toast .cart-added-view {
    margin-left:36px;
    width:calc(100% - 36px)
  }
}

/* PERFORMANCE OVERRIDES — visual design preserved */
.ambient-motion,
.hero-moving-lights { contain: strict; }
.ambient-light,
.bokeh-light,
.hero-orb,
.hero-light-beam { backface-visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
  .ambient-motion *,
  .hero-moving-lights *,
  .hero-luxury-glow,
  .hero-light-sweep,
  .hero-blim-sweep { animation: none !important; transition: none !important; }
}

/* Universal "Ver Todos os Produtos" host: the button itself reuses the
   exact digital-lock component classes/styles. */
.category-show-all-host{
  width:100%;
  margin-top:18px;
}
.category-show-all-host .digital-show-all{
  margin:0;
}
@media(max-width:560px){
  .category-show-all-host{margin-top:14px;}
}

/* Mechanical category showcase */
.mechanical-showcase-banner{
  position:relative;
  width:100%;
  height:150px;
  margin-top:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:#0b0b0b;
  isolation:isolate;
}
.mechanical-showcase-slides{position:absolute;inset:0;z-index:0;}
.mechanical-showcase-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;}
.mechanical-showcase-slide.is-active{opacity:1;}
.mechanical-showcase-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(.96);filter:blur(1.6px);}
.mechanical-showcase-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.48),rgba(0,0,0,.72));pointer-events:none;}
.mechanical-show-all{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;padding:20px;border:0;border-radius:0;background:transparent;color:#f3f0e8;font:800 13px/1 Manrope,Inter,sans-serif;letter-spacing:.18em;cursor:pointer;transition:background .25s,letter-spacing .25s;}
.mechanical-show-all:hover{background:rgba(0,0,0,.12);letter-spacing:.2em;}
.subcat-head h3{color:#f4f2ed}
.subcat-head .eyebrow,.subcat-head .eyebrow+*{color:#f4f2ed}
.subcat-card{background:linear-gradient(145deg,#151515,#090909);border-color:rgba(255,255,255,.12);}
.subcat-card h4{color:#f5f3ee}
.subcat-card p{color:#c5c2bb}
.subcat-card:hover,.subcat-card.active{border-color:rgba(198,161,91,.65);box-shadow:0 16px 42px rgba(0,0,0,.28);}
@media (max-width:700px){.mechanical-showcase-banner{height:125px;border-radius:14px}.mechanical-show-all{font-size:11px;letter-spacing:.14em}}

@media (max-width:900px){
  .mechanical-product-slide{flex-basis:calc((100% - 14px)/2)}
}
@media (max-width:560px){
  .mechanical-subcategories{padding:20px;border-radius:18px}
  .subcat-grid{grid-template-columns:1fr}
  .mechanical-carousel-head{align-items:flex-end}
  .mechanical-product-slide{flex-basis:82%}
}


/* Novas aplicações de portas — fechaduras mecânicas */
@media (min-width: 951px){
  #mechanicalSubcategoryGrid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* PORTAS DE CORRER — imagem permanente em TODAS as opções de porta de correr */
.subcat-card.subcat-card--sliding,
.subcat-card.subcat-card--sliding:hover,
.subcat-card.subcat-card--sliding.active,
.subcat-card.subcat-card--sliding.active:hover,
.subcat-card[data-mechanical-door="Portas de Correr"],
.subcat-card[data-mechanical-door="Portas de Correr"]:hover,
.subcat-card[data-mechanical-door="Portas de Correr"].active,
.subcat-card[data-mechanical-door="Portas de Correr"].active:hover,
.subcat-card[data-subcategory*="Portas de Correr"],
.subcat-card[data-subcategory*="Portas de Correr"]:hover,
.subcat-card[data-subcategory*="Portas de Correr"].active,
.subcat-card[data-subcategory*="Portas de Correr"].active:hover {
  background-image: url("../Todas as Imagens/Fundos e Ambientes/porta-de-correr-card.webp") !important;
  background-size: cover !important;
  background-position: center 52% !important;
  background-repeat: no-repeat !important;
}

.subcat-card.subcat-card--sliding:before,
.subcat-card[data-mechanical-door="Portas de Correr"]:before,
.subcat-card[data-subcategory*="Portas de Correr"]:before {
  background:
    radial-gradient(circle at 70% 25%,rgba(198,161,91,.08),transparent 42%),
    linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.84)) !important;
}


/* PORTAS DE ABRIR — imagem permanente nos blocos de aplicação
   Aplicado tanto em Fechaduras Mecânicas quanto em Fechaduras Digitais. */
.subcat-card.subcat-card--swing,
.subcat-card.subcat-card--swing:hover,
.subcat-card.subcat-card--swing.active,
.subcat-card.subcat-card--swing.active:hover {
  background-image: url("../Todas as Imagens/Fundos e Ambientes/porta-de-abrir-card.webp") !important;
  background-size: cover !important;
  background-position: center 52% !important;
  background-repeat: no-repeat !important;
}
.subcat-card.subcat-card--swing:before {
  background:
    radial-gradient(circle at 70% 25%,rgba(198,161,91,.08),transparent 42%),
    linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.84)) !important;
}

/* FECHADURAS DIGITAIS — hierarquia de instalação */
.digital-install-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.digital-install-options{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.digital-install-options .subcat-install-card{
  width:100%;
}
.digital-install-grid .digital-show-all{
  grid-column:1 / -1;
}
.subcat-install-card{
  min-height:150px;
  background:linear-gradient(145deg,#151515,#080808);
}
.subcat-install-card:hover,
.subcat-install-card.active{
  background:linear-gradient(145deg,#1b1b1b,#090909);
}
.digital-install-grid .digital-show-all{
  min-width:0;
}

.digital-door-options{
  margin-top:4px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.digital-door-options-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin:0 2px 12px;
}
.digital-door-options-head span{
  font-size:9px;
  letter-spacing:.18em;
  color:var(--gold2);
}
.digital-door-options-head strong{
  font-family:Manrope,Inter,sans-serif;
  font-size:13px;
  color:#eee;
}
.digital-door-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
@media (max-width:560px){
  .digital-install-grid,
  .digital-install-options,
  .digital-door-grid{grid-template-columns:1fr}
  .digital-door-options-head{align-items:flex-start;flex-direction:column;gap:5px}
}

/* Digital locks: show all products alongside installation choices; door application appears below after installation is selected. */
.digital-show-all{
  position:relative;
  display:block;
  width:100%;
  min-height:150px;
  margin:0;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  background:#080808;
  color:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.digital-show-all:hover{
  transform:translateY(-2px);
  border-color:rgba(198,161,91,.55);
  box-shadow:0 12px 34px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.04);
}
.digital-show-all-track{
  position:absolute;
  z-index:-3;
  inset:-12px;
  display:flex;
  width:max-content;
  gap:8px;
  filter:blur(2px);
  opacity:.58;
  transform:translate3d(0,0,0);
  animation:digitalShowAllCarousel 28s linear infinite;
}
.digital-show-all-track img{
  width:170px;
  height:174px;
  flex:0 0 170px;
  object-fit:cover;
  border-radius:12px;
}
.digital-show-all-overlay{
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.76) 36%,rgba(5,5,5,.55) 65%,rgba(5,5,5,.82) 100%),
    linear-gradient(180deg,rgba(5,5,5,.16),rgba(5,5,5,.72));
}
.digital-show-all-content{
  position:relative;
  z-index:2;
  display:flex;
  min-height:150px;
  padding:24px 30px;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  pointer-events:none;
}
.digital-show-all-content small{
  margin-bottom:6px;
  color:var(--gold2);
  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
}
.digital-show-all-content strong{
  color:#f5f3ee;
  font-family:Manrope,Inter,sans-serif;
  font-size:22px;
  line-height:1.15;
}
.digital-show-all-content em{
  margin-top:8px;
  color:#c8c5be;
  font-size:11px;
  font-style:normal;
}
@keyframes digitalShowAllCarousel{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media (prefers-reduced-motion:reduce){
  .digital-show-all-track{animation:none}
}
@media (max-width:560px){
  .digital-show-all{min-height:132px}
  .digital-show-all-content{min-height:132px;padding:20px}
  .digital-show-all-content strong{font-size:18px}
  .digital-show-all-track img{width:145px;height:150px;flex-basis:145px}
}
.digital-door-options-head strong{display:none;}

/* Ajuste das opções digitais: blocos maiores e botão Voltar dentro do bloco. */
.digital-install-options .subcat-install-card{
  min-height:220px;
  padding:30px;
}
.digital-door-grid .subcat-card{
  min-height:230px;
  padding:30px;
}
.digital-back-button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 18px 0;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#f4f2ed;
  font:600 11px/1 Manrope,Inter,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.digital-back-button:hover{
  transform:translateX(-2px);
  border-color:rgba(198,161,91,.55);
  background:rgba(198,161,91,.08);
}
.digital-back-button:first-letter{
  font-size:15px;
}
@media (max-width:560px){
  .digital-install-options .subcat-install-card,
  .digital-door-grid .subcat-card{
    min-height:190px;
    padding:24px;
  }
}

/* Centralização das opções digitais: ocupar toda a largura do bloco central */
.digital-install-grid,
.digital-door-options{
  width:100%;
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
.digital-install-options{
  width:100%;
  justify-items:stretch;
}
.digital-install-options .subcat-install-card,
.digital-door-grid .subcat-card{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.digital-install-options .subcat-install-card{
  min-height:240px;
}
.digital-door-grid{
  width:100%;
  max-width:none;
}
.digital-door-grid .subcat-card{
  min-height:260px;
}
.digital-back-button{
  margin-left:0;
}
@media (min-width:561px){
  /* DESKTOP: as três aplicações digitais ficam lado a lado. */
  .digital-door-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .digital-install-options{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (min-width:1100px){
  .digital-install-options{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}


/* CORREÇÃO LOCALIZADA — opções de aplicação de fechaduras digitais
   O bloco interno estava ocupando apenas uma das duas colunas do
   .subcat-grid externo, deixando um grande espaço vazio à direita.
   Faz o bloco ocupar as duas colunas sem alterar os demais componentes. */
#digitalSubcategoryGrid > .digital-install-grid{
  grid-column:1 / -1;
  width:100%;
  min-width:0;
}

@media (max-width:560px){
  #digitalSubcategoryGrid > .digital-install-grid{
    grid-column:1;
  }
}


/* Carrossel de produtos no fundo de Sobrepor e Embutir */
.digital-install-grid .subcat-install-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.digital-install-grid .subcat-install-card > .application-bg-carousel{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  overflow:hidden;
  pointer-events:none;
  opacity:.30;
}
.digital-install-grid .subcat-install-card > .application-bg-carousel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.52));
}
.digital-install-grid .subcat-install-card > .application-bg-carousel img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  opacity:0;
  transform:scale(1.04);
  filter:blur(1.5px);
  transition:opacity .8s ease;
}
.digital-install-grid .subcat-install-card > .application-bg-carousel img.is-active{
  opacity:1;
}
.digital-install-grid .subcat-install-card > :not(.application-bg-carousel){
  position:relative;
  z-index:2;
}


/* === Aplicações digitais: carrossel preenchendo o card inteiro, no mesmo estilo do carrossel de categorias === */
.digital-install-grid .subcat-install-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.digital-install-grid .subcat-install-card > .application-bg-carousel{
  position:absolute;
  inset:0;
  overflow:hidden;
  display:block;
  z-index:0;
  pointer-events:none;
  opacity:1;
}
.digital-install-grid .subcat-install-card > .application-bg-carousel img{
  position:absolute;
  inset:-2%;
  width:104%;
  height:104%;
  object-fit:cover;
  object-position:center;
  filter:blur(12px) saturate(.78) brightness(.48);
  opacity:0;
  transform:scale(1.06);
  transition:opacity 1s ease, transform 3.2s ease;
}
.digital-install-grid .subcat-install-card > .application-bg-carousel img.is-active{
  opacity:.82;
  transform:scale(1.12);
}
.digital-install-grid .subcat-install-card > .application-bg-carousel::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,8,8,.16),rgba(8,8,8,.80) 82%),
    linear-gradient(90deg,rgba(8,8,8,.34),rgba(8,8,8,.08));
  z-index:1;
}
.digital-install-grid .subcat-install-card > :not(.application-bg-carousel){
  position:relative;
  z-index:2;
}


/* Ajuste do carrossel das aplicações: produto muito mais nítido e visível */
.digital-install-grid .application-bg-carousel {
  opacity: .78 !important;
  filter: none !important;
}
.digital-install-grid .application-bg-carousel img {
  filter: none !important;
  opacity: 0 !important;
  transform: scale(1.02) !important;
  transition: opacity .65s ease, transform 3.2s ease !important;
  object-fit: contain !important;
}
.digital-install-grid .application-bg-carousel img.is-active {
  opacity: .82 !important;
  transform: scale(1.045) !important;
}
.digital-install-grid .application-bg-carousel::after {
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.12),
    rgba(0,0,0,.24)
  ) !important;
}

/* Fechaduras Mecânicas — navegação em 2 etapas, reutilizando o padrão visual das Fechaduras Digitais. */
.mechanical-lock-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.mechanical-lock-grid .mechanical-lock-type-card{
  width:100%;
  min-height:260px;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.mechanical-door-options{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.mechanical-door-grid{
  width:100%;
}
@media (max-width:900px){
  .mechanical-lock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .mechanical-lock-grid{grid-template-columns:1fr}
  .mechanical-lock-grid .mechanical-lock-type-card{min-height:190px}
}


/* CORREÇÃO DEFINITIVA — FECHADURAS MECÂNICAS
   O grid externo (#mechanicalSubcategoryGrid) possui 2 colunas por padrão.
   Os containers internos das duas etapas estavam ocupando apenas a primeira
   coluna desse grid, reduzindo sua largura pela metade. Fazemos somente esses
   containers ocuparem toda a largura disponível e então distribuímos os cards. */
#mechanicalSubcategoryGrid > .mechanical-lock-grid,
#mechanicalSubcategoryGrid > .mechanical-door-options{
  grid-column:1 / -1;
  width:100%;
  max-width:none;
  min-width:0;
}

#mechanicalSubcategoryGrid > .mechanical-lock-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

#mechanicalSubcategoryGrid > .mechanical-door-options{
  display:block;
}

#mechanicalSubcategoryGrid .mechanical-door-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  width:100%;
  max-width:none;
  min-width:0;
  gap:14px;
}

#mechanicalSubcategoryGrid .mechanical-lock-type-card,
#mechanicalSubcategoryGrid .mechanical-door-grid .subcat-card{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

@media (max-width:900px){
  #mechanicalSubcategoryGrid > .mechanical-lock-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #mechanicalSubcategoryGrid .mechanical-door-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:560px){
  #mechanicalSubcategoryGrid > .mechanical-lock-grid{
    grid-template-columns:1fr;
  }
  #mechanicalSubcategoryGrid .mechanical-door-grid{
    grid-template-columns:1fr;
  }
}

/* PORTAS PIVOTANTES — imagem permanente no bloco de aplicação */
.subcat-card.subcat-card--pivotante,
.subcat-card.subcat-card--pivotante:hover,
.subcat-card.subcat-card--pivotante.active,
.subcat-card.subcat-card--pivotante.active:hover {
  background-image: url("../Todas as Imagens/Fundos e Ambientes/porta-pivotante-card.webp") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.subcat-card.subcat-card--pivotante:before {
  background:
    linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.84)),
    radial-gradient(circle at 70% 25%,rgba(198,161,91,.08),transparent 42%) !important;
}


/* PORTAS DE ABRIR — imagem permanente em TODAS as opções de porta de abrir */
.subcat-card.subcat-card--swing,
.subcat-card.subcat-card--swing:hover,
.subcat-card.subcat-card--swing.active,
.subcat-card.subcat-card--swing.active:hover,
.subcat-card[data-mechanical-door="Portas de Abrir"],
.subcat-card[data-mechanical-door="Portas de Abrir"]:hover,
.subcat-card[data-mechanical-door="Portas de Abrir"].active,
.subcat-card[data-mechanical-door="Portas de Abrir"].active:hover,
.subcat-card[data-subcategory*="Portas de Abrir"],
.subcat-card[data-subcategory*="Portas de Abrir"]:hover,
.subcat-card[data-subcategory*="Portas de Abrir"].active,
.subcat-card[data-subcategory*="Portas de Abrir"].active:hover {
  background-image: url("../Todas as Imagens/Fundos e Ambientes/porta-abrir-site.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.subcat-card.subcat-card--swing:before,
.subcat-card[data-mechanical-door="Portas de Abrir"]:before,
.subcat-card[data-subcategory*="Portas de Abrir"]:before {
  background:
    linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.84)),
    radial-gradient(circle at 70% 25%,rgba(198,161,91,.08),transparent 42%) !important;
}




/* PORTAS DE ALUMÍNIO / FERRO — imagem escura permanente em todas as opções */
.subcat-card.subcat-card--aluminum,
.subcat-card.subcat-card--aluminum:hover,
.subcat-card.subcat-card--aluminum.active,
.subcat-card.subcat-card--aluminum.active:hover,
.subcat-card[data-mechanical-door="Portas de Alumínio"],
.subcat-card[data-mechanical-door="Portas de Alumínio"]:hover,
.subcat-card[data-mechanical-door="Portas de Alumínio"].active,
.subcat-card[data-mechanical-door="Portas de Alumínio"].active:hover,
.subcat-card[data-subcategory*="Portas de Alumínio"],
.subcat-card[data-subcategory*="Portas de Alumínio"]:hover,
.subcat-card[data-subcategory*="Portas de Alumínio"].active,
.subcat-card[data-subcategory*="Portas de Alumínio"].active:hover {
  background-image: url("../Todas as Imagens/Fundos e Ambientes/porta-aluminio-ferro-site.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.subcat-card.subcat-card--aluminum:before,
.subcat-card[data-mechanical-door="Portas de Alumínio"]:before,
.subcat-card[data-subcategory*="Portas de Alumínio"]:before {
  background:
    linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.88)),
    radial-gradient(circle at 70% 25%,rgba(198,161,91,.08),transparent 42%) !important;
}

/* PORTAS DE VIDRO — imagem escura permanente em TODAS as opções de porta de vidro */
.subcat-card.subcat-card--glass,
.subcat-card.subcat-card--glass:hover,
.subcat-card.subcat-card--glass.active,
.subcat-card.subcat-card--glass.active:hover,
.subcat-card[data-mechanical-door="Portas de Vidro"],
.subcat-card[data-mechanical-door="Portas de Vidro"]:hover,
.subcat-card[data-mechanical-door="Portas de Vidro"].active,
.subcat-card[data-mechanical-door="Portas de Vidro"].active:hover,
.subcat-card[data-subcategory*="Portas de Vidro"],
.subcat-card[data-subcategory*="Portas de Vidro"]:hover,
.subcat-card[data-subcategory*="Portas de Vidro"].active,
.subcat-card[data-subcategory*="Portas de Vidro"].active:hover {
  background-image: url("../Todas as Imagens/Fundos e Ambientes/porta-de-vidro-site.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.subcat-card.subcat-card--glass:before,
.subcat-card[data-mechanical-door="Portas de Vidro"]:before,
.subcat-card[data-subcategory*="Portas de Vidro"]:before {
  background:
    linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.86)),
    radial-gradient(circle at 70% 25%,rgba(198,161,91,.08),transparent 42%) !important;
}

/* PORTAS EXTERNAS — imagem enviada pelo usuário aplicada permanentemente à opção */
.subcat-card.subcat-card--external,
.subcat-card.subcat-card--external:hover,
.subcat-card.subcat-card--external.active,
.subcat-card.subcat-card--external.active:hover,
.subcat-card[data-mechanical-lock="externa"],
.subcat-card[data-mechanical-lock="externa"]:hover,
.subcat-card[data-mechanical-lock="externa"].active,
.subcat-card[data-mechanical-lock="externa"].active:hover {
  background-image: url("../Todas as Imagens/Fundos e Ambientes/porta-externa-site.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.subcat-card.subcat-card--external:before,
.subcat-card[data-mechanical-lock="externa"]:before {
  background:
    linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.76)) !important;
}



/* PORTAS BANHEIRO — imagem enviada pelo usuário aplicada permanentemente à opção */
.subcat-card.subcat-card--bathroom,
.subcat-card.subcat-card--bathroom:hover,
.subcat-card.subcat-card--bathroom.active,
.subcat-card.subcat-card--bathroom.active:hover,
.subcat-card[data-mechanical-lock="banheiro"],
.subcat-card[data-mechanical-lock="banheiro"]:hover,
.subcat-card[data-mechanical-lock="banheiro"].active,
.subcat-card[data-mechanical-lock="banheiro"].active:hover {
  background-image: url("../Todas as Imagens/Fundos e Ambientes/porta-banheiro-site.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.subcat-card.subcat-card--bathroom:before,
.subcat-card[data-mechanical-lock="banheiro"]:before {
  background:
    linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.76)) !important;
}

@media (max-width: 950px) {
  .desktop-nav .products-nav-item { display:block; height:auto; }
  .desktop-nav .products-nav-trigger { display:flex; justify-content:space-between; width:100%; }
  .desktop-nav .products-dropdown {
    position:static;
    width:100%;
    margin:5px 0 8px;
    padding:6px;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    display:none;
    box-shadow:none;
    backdrop-filter:none;
  }
  .desktop-nav.mobile-open .products-nav-item:focus-within .products-dropdown,
  .desktop-nav.mobile-open .products-nav-item:hover .products-dropdown { display:block; }
}

/* Menu Categorias — todas as categorias e subcategorias */
.categories-dropdown {
  width:260px;
}
.categories-dropdown .products-dropdown-simple {
  grid-template-columns:1fr 1fr;
}
@media (max-width: 950px) {
  .desktop-nav .categories-nav-item { display:block; height:auto; }
}


/* ===== SEGUNDO NÍVEL — TIPO DE PORTA DAS FECHADURAS MECÂNICAS ===== */
.mechanical-door-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.mechanical-door-type-card{min-height:230px;}
.mechanical-subcat-breadcrumb{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:0 2px;color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.mechanical-subcat-back{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#f4f2ed;border-radius:999px;padding:9px 14px;cursor:pointer;transition:.2s ease;}
.mechanical-subcat-back:hover{background:rgba(255,255,255,.10);transform:translateX(-2px);}
.subcat-card[data-mechanical-door="Portas de Alumínio/Ferro"]{background-image:url("../Todas as Imagens/Fundos e Ambientes/porta-aluminio-ferro-site.webp") !important;background-size:cover !important;background-position:center !important;}
.subcat-card[data-mechanical-door="Portas Pivotantes"]{background-image:url("../Todas as Imagens/Fundos e Ambientes/porta-pivotante-card.webp") !important;background-size:cover !important;background-position:center !important;}
.subcat-card[data-mechanical-door="Portas de Vidro"]{background-image:url("../Todas as Imagens/Fundos e Ambientes/porta-de-vidro-site.webp") !important;background-size:cover !important;background-position:center !important;}
.subcat-card[data-mechanical-door="Portas de Correr"]{background-image:url("../Todas as Imagens/Fundos e Ambientes/porta-de-correr-card.webp") !important;background-size:cover !important;background-position:center !important;}
.subcat-card[data-mechanical-door="Portas de Abrir"]{background-image:url("../Todas as Imagens/Fundos e Ambientes/porta-abrir-site.webp") !important;background-size:cover !important;background-position:center !important;}
@media(max-width:950px){.mechanical-door-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.mechanical-door-grid{grid-template-columns:1fr;}.mechanical-door-type-card{min-height:180px;}.mechanical-subcat-breadcrumb{flex-wrap:wrap;}}


/* Acessórios — subcategorias ficam douradas ao passar o mouse */
.accessory-subcat-card:hover,
.accessory-subcat-card:focus-visible {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 1px rgba(198,161,91,.28), 0 14px 36px rgba(0,0,0,.28);
}
.accessory-subcat-card:hover .subcat-number,
.accessory-subcat-card:hover h4,
.accessory-subcat-card:hover p,
.accessory-subcat-card:focus-visible .subcat-number,
.accessory-subcat-card:focus-visible h4,
.accessory-subcat-card:focus-visible p {
  color: var(--gold2) !important;
}


/* Cadastro/Login — permitir rolagem vertical quando o conteúdo ultrapassar a tela */
.auth-modal.open {
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.auth-panel {
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  overflow-x: hidden;
  margin: 20px auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* Hover dourado em todos os botões e elementos de ação */
button:hover,
.btn:hover,
.button:hover,
a.button:hover,
[role="button"]:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
  color: #d4af37 !important;
}

/* FECHADURAS DIGITAIS — categoria para móveis */
.digital-furniture-options{
  width:100%;
}
.digital-furniture-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0 4px;
  color:#f4f2ed;
}
.digital-furniture-intro strong{
  font:700 18px/1.2 Manrope,Inter,sans-serif;
  letter-spacing:-.02em;
}
.digital-furniture-intro span{
  color:var(--muted);
  font:500 11px/1.4 Manrope,Inter,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media (max-width:560px){
  .digital-furniture-intro{flex-direction:column;align-items:flex-start}
}


/* Imagens das aplicações de portas nas opções das fechaduras digitais. */
.digital-door-grid .subcat-image{
  display:block;
  width:100%;
  height:120px;
  margin:0 0 16px;
  overflow:hidden;
  border-radius:14px;
  background:rgba(255,255,255,.04);
}
.digital-door-grid .subcat-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.88) brightness(.88);
  transition:transform .35s ease,filter .35s ease;
}
.digital-door-grid .subcat-card:hover .subcat-image img,
.digital-door-grid .subcat-card.active .subcat-image img{
  transform:scale(1.04);
  filter:saturate(1) brightness(1);
}


/* === FECHADURAS DIGITAIS — DESKTOP: 3 opções lado a lado === */
@media (min-width: 768px){
  #digitalSubcategoryGrid .digital-door-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    width:100% !important;
  }
  #digitalSubcategoryGrid .digital-door-grid .subcat-card{
    width:100% !important;
    min-width:0 !important;
  }
}

/* AJUSTE DESKTOP — cards de categorias em formato horizontal */
@media (min-width: 951px){
  #digitalSubcategoryGrid,
  #digitalSubcategoryGrid.subcat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }

  #digitalSubcategoryGrid .subcat-card{
    min-height:0;
    height:auto;
    aspect-ratio:16 / 7;
    padding:22px 24px;
  }
}

/* === FECHADURAS DIGITAIS — DESKTOP: aplicações maiores, centralizadas e ocupando toda a largura === */
@media (min-width: 951px){
  #digitalSubcategoryGrid > .digital-install-grid{
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #digitalSubcategoryGrid .digital-door-options{
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #digitalSubcategoryGrid .digital-door-grid{
    width:100% !important;
    max-width:none !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    margin:0 auto !important;
  }

  #digitalSubcategoryGrid .digital-door-grid .subcat-card{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:300px !important;
    aspect-ratio:auto !important;
    padding:26px 28px !important;
  }

  #digitalSubcategoryGrid .digital-door-grid .subcat-image{
    height:170px !important;
    margin-bottom:18px !important;
    border-radius:16px !important;
  }
}

/* === CORREÇÃO FINAL DESKTOP — 3 cards de aplicação ocupam toda a largura === */
@media (min-width: 951px){
  #digitalSubcategoryGrid > .digital-door-options{
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
    gap: 20px !important;
  }

  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid > .subcat-card{
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Acessórios: subcategorias no mesmo padrão visual das demais categorias */
.accessory-subcategories {
  margin-top: 0;
}
.accessory-subcat-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.accessory-subcat-card {
  min-height:170px;
  background:linear-gradient(145deg,#111,#080808);
}
.accessory-subcat-card .accessory-bg {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.accessory-subcat-card .accessory-bg img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.42;
  filter:blur(1px) brightness(.62) saturate(.9);
  transform:scale(1.04);
}
.accessory-subcat-card:before {
  z-index:1;
}
.accessory-subcat-card .subcat-number,
.accessory-subcat-card h4,
.accessory-subcat-card p {
  z-index:2;
}
@media (max-width:1100px) {
  .accessory-subcat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .accessory-subcat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Ajuste final — Acessórios no desktop: 11 cards ocupando toda a largura.
   As duas primeiras linhas usam 4 cards; a última usa 3 cards distribuídos
   igualmente, sem deixar espaço vazio à direita. */
@media (min-width:1101px){
  .accessory-subcat-grid{
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:14px;
    width:100%;
  }
  .accessory-subcat-grid .accessory-subcat-card{
    grid-column:span 3;
    width:100%;
  }
  .accessory-subcat-grid .accessory-subcat-card:nth-child(9),
  .accessory-subcat-grid .accessory-subcat-card:nth-child(10),
  .accessory-subcat-grid .accessory-subcat-card:nth-child(11){
    grid-column:span 4;
  }
}

/* CORREÇÃO DEFINITIVA — Acessórios: grid desktop ocupa 100% da área interna.
   4 colunas iguais em todas as linhas; a 4ª posição da última linha permanece vazia. */
@media (min-width:1101px){
  #accessorySubcategoryGrid{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    display:block !important;
  }
  #accessorySubcategoryGrid .accessory-subcat-grid{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
    box-sizing:border-box;
  }
  #accessorySubcategoryGrid .accessory-subcat-card,
  #accessorySubcategoryGrid .accessory-subcat-card:nth-child(9),
  #accessorySubcategoryGrid .accessory-subcat-card:nth-child(10),
  #accessorySubcategoryGrid .accessory-subcat-card:nth-child(11){
    grid-column:auto !important;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box;
  }
  #accessorySubcategoryGrid .accessory-subcat-card h4{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    overflow-wrap:anywhere;
    word-break:normal;
    line-height:1.15;
  }
}


/* Dobradiças — subcategorias seguindo o padrão visual de Acessórios */
.hinge-subcategories .hinge-subcat-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.hinge-subcategories .hinge-subcat-card{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.hinge-subcategories .hinge-subcat-card h4{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
  line-height:1.15;
}
@media (max-width:1100px){
  .hinge-subcategories .hinge-subcat-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:760px){
  .hinge-subcategories .hinge-subcat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:520px){
  .hinge-subcategories .hinge-subcat-grid{grid-template-columns:1fr;}
}

/* DOBRADIÇAS — desktop: 3 colunas iguais ocupando toda a largura */
@media (min-width:1101px){
  #hingeSubcategoryGrid{
    width:100% !important;
    max-width:none !important;
  }
  #hingeSubcategoryGrid .hinge-subcat-grid{
    width:100% !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  #hingeSubcategoryGrid .hinge-subcat-card{
    width:100% !important;
    grid-column:auto !important;
  }
}
@media (max-width:1100px) and (min-width:761px){
  #hingeSubcategoryGrid .hinge-subcat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:760px){
  #hingeSubcategoryGrid .hinge-subcat-grid{
    grid-template-columns:repeat(1,minmax(0,1fr)) !important;
  }
}

/* DOBRADIÇAS — correção definitiva de largura do grid no desktop */
@media (min-width:1101px){
  #hingeSubcategories,
  #hingeSubcategoryGrid,
  #hingeSubcategoryGrid > .hinge-subcat-grid{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    grid-column:auto !important;
    box-sizing:border-box !important;
  }
}
@media (max-width:1100px) and (min-width:761px){
  #hingeSubcategoryGrid > .hinge-subcat-grid{
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:760px){
  #hingeSubcategoryGrid > .hinge-subcat-grid{
    width:100% !important;
    grid-template-columns:repeat(1,minmax(0,1fr)) !important;
  }
}

/* CORREÇÃO DEFINITIVA — DOBRADIÇAS: remover o grid externo que comprimia
   o wrapper interno em apenas uma coluna. O grid real ocupa 100% do bloco. */
@media (min-width:1101px){
  #hingeSubcategoryGrid{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid{
    display:grid !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    box-sizing:border-box !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}

/* DOBRADIÇAS — centralizar somente os dois cards da segunda linha */
@media (min-width:1101px){
  #hingeSubcategoryGrid > .hinge-subcat-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card{
    grid-column:span 2 !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card:nth-child(4){
    grid-column:2 / span 2 !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card:nth-child(5){
    grid-column:4 / span 2 !important;
  }
}

/* Dobradiças de Sobrepor: duas opções de material */
#hingeSubcategoryGrid .hinge-material-subcat-grid{
  width:100%;
  max-width:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#hingeSubcategoryGrid .hinge-material-subcat-grid > .hinge-subcat-card{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
@media (max-width: 900px){
  #hingeSubcategoryGrid .hinge-material-subcat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 560px){
  #hingeSubcategoryGrid .hinge-material-subcat-grid{grid-template-columns:1fr;}
}


/* Atendimento personalizado — carrossel editorial logo após o hero */
.human-service-section {
  position:relative;
  min-height:560px;
  margin:0;
  overflow:hidden;
  display:grid;
  place-items:center;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#080808;
}
.human-service-bg {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.human-service-bg img {
  position:absolute;
  inset:-2%;
  width:104%;
  height:104%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.04);
  filter:saturate(.9) brightness(.72);
  transition:opacity 1.2s ease, transform 5s ease;
}
.human-service-bg img.is-active {
  opacity:1;
  transform:scale(1);
}
.human-service-overlay {
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(5,5,5,.78) 0%,rgba(5,5,5,.52) 35%,rgba(5,5,5,.38) 65%,rgba(5,5,5,.62) 100%),
    linear-gradient(180deg,rgba(5,5,5,.18),rgba(5,5,5,.55));
}
.human-service-content {
  position:relative;
  z-index:2;
  width:min(860px,82vw);
  padding:90px 0;
  text-align:center;
}
.human-service-content .eyebrow {
  margin-bottom:18px;
}
.human-service-content h2 {
  max-width:900px;
  margin:0 auto 22px;
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(38px,5vw,70px);
  line-height:1.03;
  letter-spacing:-.05em;
  font-weight:600;
  text-shadow:0 5px 35px rgba(0,0,0,.55);
}
.human-service-content > p:not(.eyebrow) {
  max-width:650px;
  margin:0 auto;
  color:#e0ddd5;
  font-size:clamp(13px,1.2vw,16px);
  line-height:1.8;
  text-shadow:0 2px 18px rgba(0,0,0,.7);
}
.human-service-line {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:30px;
}
.human-service-line i {
  display:block;
  width:38px;
  height:1px;
  background:rgba(224,193,126,.5);
}
.human-service-line b {
  display:block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold2);
  box-shadow:0 0 20px rgba(224,193,126,.35);
}
.human-service-counter {
  position:absolute;
  z-index:2;
  right:7vw;
  bottom:32px;
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.72);
  font-size:9px;
  letter-spacing:.18em;
}
.human-service-counter b {
  width:44px;
  height:1px;
  background:rgba(255,255,255,.3);
}
.human-service-counter span:first-child {
  color:var(--gold2);
}
@media(max-width:650px) {
  .human-service-section {
    min-height:520px;
  }
  .human-service-content {
    width:auto;
    padding:70px 25px;
  }
  .human-service-content h2 {
    font-size:42px;
  }
  .human-service-content > p:not(.eyebrow) {
    font-size:12px;
    line-height:1.75;
  }
  .human-service-overlay {
    background:linear-gradient(90deg,rgba(5,5,5,.78),rgba(5,5,5,.58)),linear-gradient(180deg,rgba(5,5,5,.15),rgba(5,5,5,.64));
  }
  .human-service-counter {
    right:25px;
    bottom:24px;
  }
}

/* Client profile */
.profile-modal{position:fixed;inset:0;z-index:110;display:none}
.profile-modal.open{display:block}
.profile-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.84);backdrop-filter:blur(18px)}
.profile-panel{position:relative;z-index:1;width:min(620px,calc(100vw - 34px));margin:10vh auto;padding:42px;border:1px solid var(--line-gold);border-radius:30px;background:linear-gradient(145deg,rgba(20,20,20,.98),rgba(7,7,7,.99));box-shadow:0 40px 120px rgba(0,0,0,.75)}
.profile-header{display:flex;align-items:center;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.profile-avatar-wrap{display:grid;justify-items:center;gap:9px;flex:0 0 auto}
.profile-avatar{width:104px;height:104px;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line-gold);background:radial-gradient(circle at 35% 30%,rgba(198,161,91,.18),rgba(255,255,255,.03));color:var(--gold2);font-size:28px}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-photo-btn{cursor:pointer;color:var(--gold2);font-size:9px;text-transform:uppercase;letter-spacing:.09em}
.profile-header h2{margin:0 0 8px;font-size:34px;letter-spacing:-.05em}
.profile-subtitle{margin:0;color:#8e8a83;font-size:11px;line-height:1.7;max-width:340px}
.profile-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.profile-detail{padding:17px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);display:grid;gap:7px}
.profile-detail span{font-size:9px;color:#817d76;text-transform:uppercase;letter-spacing:.1em}
.profile-detail strong{font-size:12px;color:#e8e3db;word-break:break-word}
.profile-actions{display:flex;justify-content:flex-end;gap:10px}
.profile-actions .btn{min-height:42px}
.profile-status{min-height:18px;margin:14px 0 0;color:#aaa59d;font-size:10px;text-align:right}
.profile-close{position:absolute;right:18px;top:18px}
@media(max-width:620px){.profile-panel{margin:4vh auto;padding:30px 22px}.profile-header{align-items:flex-start}.profile-avatar{width:84px;height:84px}.profile-header h2{font-size:27px}.profile-details{grid-template-columns:1fr}.profile-actions{flex-direction:column}.profile-actions .btn{width:100%;justify-content:center}}

/* Profile photo cropper */
.photo-crop-modal{position:fixed;inset:0;z-index:160;display:none}
.photo-crop-modal.open{display:block}
.photo-crop-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(18px)}
.photo-crop-panel{position:relative;z-index:1;width:min(520px,calc(100vw - 30px));margin:5vh auto;padding:34px;border:1px solid var(--line-gold);border-radius:28px;background:linear-gradient(145deg,rgba(20,20,20,.99),rgba(7,7,7,.99));box-shadow:0 40px 120px rgba(0,0,0,.8)}
.photo-crop-panel h2{margin:0 0 7px;font-size:30px;letter-spacing:-.04em}
.photo-crop-help{margin:0 0 22px;color:#98938a;font-size:11px;line-height:1.65}
.photo-crop-stage{width:min(380px,82vw);height:min(380px,82vw);margin:0 auto 22px;position:relative;overflow:hidden;border-radius:18px;background:#f5f5f3;border:1px solid rgba(198,161,91,.7);box-shadow:0 0 0 8px rgba(255,255,255,.035),0 18px 50px rgba(0,0,0,.45);cursor:grab;touch-action:none}
.photo-crop-stage.dragging{cursor:grabbing}
.photo-crop-circle{position:absolute;left:50%;top:50%;width:78%;height:78%;transform:translate(-50%,-50%);overflow:hidden;border-radius:50%;z-index:2;pointer-events:none;border:2px solid rgba(255,255,255,.95);box-shadow:0 0 0 999px rgba(0,0,0,.42),0 0 0 4px rgba(198,161,91,.85)}
.photo-crop-circle img{position:absolute;left:50%;top:50%;width:auto;height:auto;max-width:none;user-select:none;-webkit-user-drag:none;transform-origin:center center;will-change:transform;pointer-events:none}
.photo-crop-image-underlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#777;font-size:11px;letter-spacing:.08em;text-transform:uppercase;z-index:1}
.photo-crop-zoom{display:grid;gap:8px;color:#aaa59d;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.photo-crop-zoom input{width:100%;accent-color:var(--gold2);cursor:pointer}
.photo-crop-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.photo-crop-actions .btn{min-height:42px}
.photo-crop-close{position:absolute;right:18px;top:18px}
@media(max-width:620px){.photo-crop-panel{margin:3vh auto;padding:28px 20px}.photo-crop-stage{width:min(310px,78vw);height:min(310px,78vw)}.photo-crop-actions{flex-direction:column}.photo-crop-actions .btn{width:100%;justify-content:center}}

/* Quote history in customer profile */
.quote-history-section{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08)}
.quote-history-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:14px}
.quote-history-heading h3{margin:3px 0 0;font-size:18px;letter-spacing:-.02em}
.quote-history-heading>span{font-size:10px;color:#8f8b84;text-transform:uppercase;letter-spacing:.08em;text-align:right}
.quote-history-list{display:grid;gap:10px;max-height:280px;overflow:auto;padding-right:4px}
.quote-history-item{padding:14px 15px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}
.quote-history-top{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:9px}
.quote-history-top div{display:flex;flex-direction:column;gap:3px}
.quote-history-top strong{font-size:12px}.quote-history-top span,.quote-history-top>b{font-size:9px;color:#8f8b84;font-weight:500}.quote-history-top>b{letter-spacing:.08em}
.quote-history-item ul{list-style:none;padding:0;margin:0;display:grid;gap:5px}.quote-history-item li{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#d8d4cd}.quote-history-item li small{color:#8f8b84;white-space:nowrap}.quote-history-empty{padding:18px;border:1px dashed rgba(255,255,255,.12);border-radius:14px;color:#8f8b84;font-size:10px;line-height:1.6}
@media(max-width:620px){.quote-history-heading{align-items:start;flex-direction:column;gap:4px}.quote-history-heading>span{text-align:left}.quote-history-item li{align-items:flex-start;flex-direction:column;gap:2px}}


/* =========================================================
   FUNDO GLOBAL — carrossel editorial + luzes desfocadas
   Usa exatamente as imagens do carrossel de Atendimento.
   Não altera layout, cards ou navegação do site.
   ========================================================= */
.ambient-motion{
  z-index:-1;
  isolation:isolate;
  background:#0b0b0b;
}
.ambient-background-carousel{
  position:absolute;
  inset:-3%;
  z-index:0;
  overflow:hidden;
}
.ambient-background-carousel img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.045);
  filter:saturate(.78) brightness(.40) blur(1px);
  transition:opacity 2.2s ease,transform 10s ease;
}
.ambient-background-carousel img.is-active{
  opacity:1;
  transform:scale(1);
}
.ambient-background-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(4,4,4,.62) 0%,rgba(4,4,4,.32) 34%,rgba(4,4,4,.44) 68%,rgba(4,4,4,.70) 100%),
    linear-gradient(90deg,rgba(3,3,3,.48) 0%,rgba(3,3,3,.10) 45%,rgba(3,3,3,.42) 100%);
  pointer-events:none;
}
.ambient-fog{
  z-index:2;
  opacity:.62;
}
.ambient-light{
  z-index:3;
  filter:blur(48px);
  opacity:.30;
  mix-blend-mode:screen;
}
.ambient-light-a{width:220px;height:220px;left:4%;top:12%}
.ambient-light-b{width:165px;height:165px;right:8%;top:22%}
.ambient-light-c{width:130px;height:130px;right:28%;bottom:13%}
.ambient-light-d{width:105px;height:105px;left:44%;top:8%}
.ambient-light-e{width:190px;height:190px;left:66%;bottom:1%}
.ambient-light-f{width:76px;height:76px;left:18%;top:62%}
.ambient-light-g{width:125px;height:125px;left:34%;top:38%}
.ambient-light-h{width:62px;height:62px;right:22%;top:16%}

@media (prefers-reduced-motion:reduce){
  .ambient-background-carousel img{
    transition:none;
    transform:none;
  }
}
@media (max-width:650px){
  .ambient-background-carousel{inset:-5%}
  .ambient-background-carousel img{filter:saturate(.74) brightness(.35) blur(1px)}
}


/* PUXADORES — mesma linguagem das demais categorias, com o grid ocupando
   toda a largura disponível. A regra é exclusiva de Puxadores. */
#handlesSubcategories #handlesSubcategoryGrid{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
#handlesSubcategoryGrid .handles-subcat-grid{
  display:grid !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  gap:14px !important;
  box-sizing:border-box !important;
}
#handlesSubcategoryGrid .handles-subcat-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:220px !important;
  min-height:220px !important;
  max-height:220px !important;
  box-sizing:border-box !important;
}
/* Primeiro nível: três tipos distribuídos por toda a área. */
#handlesSubcategoryGrid > .handles-subcat-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  /* Regra soberana: todas as subcategorias de Puxadores devem permanecer na mesma tela. */
  grid-auto-flow:column !important;
}
/* Segundo nível: o título ocupa a linha inteira; os tamanhos usam toda a largura. */
#handlesSubcategoryGrid > .handles-level-head{
  width:100%;
  margin-bottom:20px;
}
#handlesSubcategoryGrid > .handles-subcat-grid:not(:first-child){
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
#handlesSubcategoryGrid .handles-subcat-card:hover,
#handlesSubcategoryGrid .handles-subcat-card.active{
  transform:translateY(-4px);
}
@media (max-width:1100px) and (min-width:761px){
  #handlesSubcategoryGrid > .handles-subcat-grid,
  #handlesSubcategoryGrid > .handles-subcat-grid:not(:first-child){
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-auto-flow:column !important;
  }
}
@media (max-width:760px){
  #handlesSubcategoryGrid > .handles-subcat-grid,
  #handlesSubcategoryGrid > .handles-subcat-grid:not(:first-child){
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-auto-flow:column !important;
    gap:8px !important;
  }
  #handlesSubcategoryGrid .handles-subcat-card{
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
    padding:12px 8px !important;
  }
  #handlesSubcategoryGrid .handles-subcat-card h4{font-size:clamp(12px,2.8vw,16px) !important;}
}


/* =========================================================
   MANUAL DE ORÇAMENTO — PRETO + DOURADO
   ========================================================= */
.manual-orcamento{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.manual-orcamento.is-open{display:flex}

.manual-orcamento__inner{
  position:relative;
  width:min(760px,100%);
  max-height:92vh;
  overflow:auto;
  padding:38px;
  border-radius:22px;
  background:linear-gradient(145deg,#080808 0%,#0d0d0d 55%,#050505 100%);
  color:#f5f5f5;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 100px rgba(0,0,0,.70),inset 0 1px 0 rgba(255,255,255,.04);
}

.manual-orcamento__inner:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  border-radius:22px 22px 0 0;
  background:linear-gradient(90deg,#b88624,#e2bd58,#b88624);
}

.manual-orcamento__close{
  position:absolute;
  right:17px;
  top:13px;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:#111;
  color:#ddd;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  transition:.2s ease;
}
.manual-orcamento__close:hover{
  border-color:rgba(220,180,75,.55);
  color:#e2bd58;
  transform:rotate(90deg);
}

.manual-orcamento__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  font-size:11px;
  letter-spacing:.20em;
  font-weight:800;
  color:#d8b451;
}
.manual-orcamento__badge:before{
  content:"";
  width:20px;
  height:1px;
  background:#d8b451;
}

.manual-orcamento h2{
  margin:0 0 10px;
  font-size:clamp(25px,4vw,37px);
  line-height:1.12;
  letter-spacing:-.025em;
  font-weight:750;
  color:#fff;
}

.manual-orcamento__intro{
  margin:0 0 25px;
  color:#aaa;
  line-height:1.65;
}
.manual-orcamento__intro strong{color:#fff}

.manual-orcamento__steps{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:20px 0;
}

.manual-orcamento__steps>div{
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:12px;
  padding:17px;
  border-radius:15px;
  background:#111;
  border:1px solid rgba(255,255,255,.075);
  transition:.2s ease;
}
.manual-orcamento__steps>div:hover{
  transform:translateY(-2px);
  border-color:rgba(216,180,81,.38);
  background:#151515;
}

.manual-orcamento__steps span{
  grid-row:1/3;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#efd276,#b98927);
  color:#0a0a0a;
  font-size:13px;
  font-weight:900;
  box-shadow:0 5px 18px rgba(190,145,40,.18);
}

.manual-orcamento__steps strong{
  font-size:14px;
  line-height:1.3;
  color:#f5f5f5;
}

.manual-orcamento__steps small{
  margin-top:5px;
  line-height:1.45;
  color:#929292;
}

.manual-orcamento__notice{
  padding:17px 19px;
  border-radius:15px;
  background:#111;
  border:1px solid rgba(216,180,81,.28);
  color:#bcbcbc;
  line-height:1.6;
}
.manual-orcamento__notice strong{color:#e3c15d}

.manual-orcamento__actions{
  display:flex;
  gap:12px;
  margin-top:23px;
}

.manual-orcamento__actions button{
  flex:1;
  min-height:50px;
  border-radius:12px;
  padding:0 20px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
  cursor:pointer;
  transition:.2s ease;
}

.manual-orcamento__secondary{
  background:#151515;
  color:#f2f2f2;
  border:1px solid rgba(216,180,81,.45);
}
.manual-orcamento__secondary:hover{
  background:#1c1c1c;
  border-color:#d8b451;
  color:#e7c667;
}

.manual-orcamento__primary{
  background:linear-gradient(135deg,#f0d274,#bd8e2c);
  color:#090909;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 25px rgba(190,145,40,.20);
}
.manual-orcamento__primary:hover{
  transform:translateY(-1px);
  box-shadow:0 11px 30px rgba(190,145,40,.30);
  filter:brightness(1.05);
}

@media(max-width:620px){
  .manual-orcamento{padding:14px}
  .manual-orcamento__inner{padding:30px 18px 20px;border-radius:19px}
  .manual-orcamento__steps{grid-template-columns:1fr}
  .manual-orcamento__actions{flex-direction:column}
}


/* Dobradiça 3 x 2½ C/Redondo Aço Carbono — imagem ligeiramente menor. */
.product-card--dobradica-canto-redondo-carbono .card-media img { max-width:88%; max-height:88%; }
.product-modal--dobradica-canto-redondo-carbono .product-modal-image img,
.product-modal--dobradica-canto-redondo-carbono #modalImage { max-width:88%; max-height:88%; }

/* Escolha obrigatória de tamanho — Ferrolho de Sobrepor */
.product-size-block{margin-top:18px}
.required-field{color:#c59a45;font-weight:800}
.required-help{margin:-8px 0 12px;color:rgba(255,255,255,.62);font-size:.88rem}
.size-options{display:flex;flex-wrap:wrap;gap:9px}
.size-option{appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);color:inherit;border-radius:10px;padding:10px 14px;min-width:64px;font:inherit;font-weight:700;cursor:pointer;transition:.2s ease}
.size-option:hover{border-color:rgba(197,154,69,.7);transform:translateY(-1px)}
.size-option.active{border-color:#c59a45;box-shadow:0 0 0 1px rgba(197,154,69,.25),0 8px 22px rgba(0,0,0,.18);background:rgba(197,154,69,.13)}
.selected-size-info{min-height:20px;margin:10px 0 0;font-size:.9rem;font-weight:700}


/* Opção obrigatória de tamanho do produto */
.product-size-option{margin-top:16px}
.product-size-select{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(198,161,91,.45);border-radius:8px;background:var(--surface,#111);color:inherit;font:inherit}
.product-option-title{font-weight:700;margin-bottom:8px}
.product-option-title span{color:var(--gold2,#c6a15b)}

/* =========================================================
   DESIGNER FECHADURAS — PREMIUM VISUAL REFINEMENT 2026
   Camada visual: preserva HTML, JS, catálogo e regras de produto.
   ========================================================= */
:root{
  --bg:#0D0E10;
  --bg2:#111316;
  --panel:#16181B;
  --panel2:#1A1C20;
  --text:#F4F3EF;
  --muted:#9B9D9F;
  --gold:#C8A86B;
  --gold2:#E0C17E;
  --line:rgba(255,255,255,.085);
  --line-gold:rgba(200,168,107,.34);
  --shadow:0 30px 90px rgba(0,0,0,.30);
  --radius:20px;
}

html{background:var(--bg);}
body{
  background:
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.025),transparent 26%),
    radial-gradient(circle at 90% 58%,rgba(200,168,107,.025),transparent 28%),
    linear-gradient(180deg,#0D0E10 0%,#101214 48%,#0D0E10 100%);
  color:var(--text);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.42;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:84px 84px;
  mask-image:linear-gradient(to bottom,black,transparent 78%);
}

/* Fundo global: remove o carrossel fotográfico e mantém somente atmosfera. */
.ambient-background-carousel,
.ambient-background-overlay,
.ambient-fog,
.ambient-light,
.ambient-motion .ambient-orb,
.ambient-motion .ambient-particle,
.ambient-motion .ambient-line{
  display:none !important;
}
.ambient-motion{
  opacity:.75 !important;
  background:
    radial-gradient(circle at 18% 22%,rgba(255,255,255,.028),transparent 18%),
    radial-gradient(circle at 82% 68%,rgba(200,168,107,.025),transparent 20%);
}
.ambient-motion::before{
  content:"" !important;
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 20%,rgba(255,255,255,.035),transparent 1.5%),
    radial-gradient(circle at 82% 35%,rgba(200,168,107,.045),transparent 1.2%),
    radial-gradient(circle at 64% 78%,rgba(255,255,255,.025),transparent 1.4%);
  filter:none !important;
  animation:none !important;
}

/* Header: mais leve, preciso e editorial. */
.site-header{
  top:18px;
  left:3.2vw;
  right:3.2vw;
  height:64px;
  padding:0 16px 0 18px;
  border-radius:16px;
  border-color:rgba(255,255,255,.075);
  background:rgba(18,20,23,.70);
  box-shadow:0 18px 55px rgba(0,0,0,.20);
  backdrop-filter:blur(24px) saturate(120%);
  -webkit-backdrop-filter:blur(24px) saturate(120%);
}
.site-header.scrolled{
  background:rgba(13,14,16,.91);
  border-color:rgba(200,168,107,.20);
}
.desktop-nav{gap:22px;color:#BFC1C2;font-size:11.5px;}
.desktop-nav a{letter-spacing:.01em;line-height:1.15;}
.brand-name strong{font-size:12px;letter-spacing:.01em;}
.brand-name small{letter-spacing:.22em;color:#85898C;}
.quote-btn,.account-btn{
  background:rgba(255,255,255,.025);
  border-color:rgba(255,255,255,.11);
}
.quote-btn:hover,.account-btn:hover{background:rgba(200,168,107,.06);border-color:var(--line-gold);}

/* Hero: showroom de arquitetura, menos efeitos concorrentes. */
.hero{
  min-height:680px;
  background:#0B0C0E;
}
.hero-bg{
  transform:scale(1.035) !important;
  animation:none !important;
}
.hero-slide.is-active .hero-bg{transform:scale(1.045) !important;}
.hero-bg:after{
  background:
    linear-gradient(90deg,rgba(8,9,10,.78) 0%,rgba(8,9,10,.43) 48%,rgba(8,9,10,.16) 72%,rgba(8,9,10,.50) 100%),
    linear-gradient(180deg,rgba(8,9,10,.18),rgba(8,9,10,.38));
  backdrop-filter:none;
}
.hero-moving-lights,
.hero-luxury-glow,
.hero-light-sweep,
.hero-product-halo{
  opacity:.18 !important;
}
.hero-moving-lights .hero-orb:nth-child(n+3),
.hero-moving-lights .hero-light-beam:nth-child(n+2){display:none !important;}
.hero-content{left:8vw;max-width:700px;}
.hero h1{font-size:clamp(44px,5.7vw,82px);letter-spacing:-.052em;}
.hero-luxury-copy{max-width:540px;color:#B1B3B4;line-height:1.75;}
.hero-kicker{letter-spacing:.18em;color:#D2D0C9;}
.hero-product-name{letter-spacing:.12em;color:#BFC0BF;}
.hero-signature{opacity:.72;}
.hero-controls{bottom:34px;}
.hero-arrow{background:rgba(13,14,16,.46);}

/* Seções: ritmo vertical mais editorial. */
.categories-section,.catalog-section,.quality-section,.quote-section,.about-section{
  padding-top:118px;
  padding-bottom:118px;
}
.section-head{margin-bottom:38px;}
.section-head h2{font-size:clamp(38px,4vw,58px);}
.eyebrow{font-size:8px;letter-spacing:.26em;}
.section-note{font-size:11px;line-height:1.8;}

/* Atendimento sem carrossel fotográfico: mantém o conteúdo e dá aparência arquitetônica. */
.human-service-section{
  min-height:500px;
  background:
    radial-gradient(circle at 78% 28%,rgba(200,168,107,.08),transparent 22%),
    linear-gradient(135deg,#15171A,#0D0E10 70%);
  border-color:rgba(255,255,255,.07);
}
.human-service-bg{display:none !important;}
.human-service-overlay{
  background:
    linear-gradient(90deg,rgba(13,14,16,.98),rgba(13,14,16,.78) 50%,rgba(13,14,16,.95)),
    radial-gradient(circle at 76% 38%,rgba(200,168,107,.07),transparent 25%);
}
.human-service-section::after{
  content:"";
  position:absolute;
  width:420px;height:420px;
  right:-150px;top:-170px;
  border:1px solid rgba(255,255,255,.035);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(255,255,255,.012),0 0 0 140px rgba(255,255,255,.008);
  pointer-events:none;
}
.human-service-content{padding:78px 0;}
.human-service-content h2{font-size:clamp(36px,4.2vw,60px);letter-spacing:-.05em;}
.human-service-content p{color:#9EA1A3;}

/* Categorias: imagem permanece, mas a interface fica mais limpa. */
.category-track{gap:16px;}
.category-card{
  min-height:285px;
  padding:28px;
  border-radius:18px;
  background:#15171A;
  border-color:rgba(255,255,255,.075);
  box-shadow:none;
}
.category-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(0,0,0,.22);}
.category-bg img{filter:blur(.8px) saturate(.82) brightness(.78);}
.category-bg-overlay{background:linear-gradient(180deg,rgba(10,11,12,.08),rgba(10,11,12,.72) 86%);}
.category-card:after{background:radial-gradient(circle at 76% 24%,rgba(200,168,107,.08),transparent 34%);}
.category-card h3{font-size:21px;}
.category-card p{color:#B5B5B1;text-shadow:none;}

/* Subcategorias e filtros. */
.mechanical-subcategories{
  padding:30px;
  border-radius:18px;
  background:linear-gradient(145deg,#181A1D,#121417);
  border-color:rgba(255,255,255,.075);
  box-shadow:0 22px 65px rgba(0,0,0,.18);
}
.subcat-head h3{color:#E0C17E;font-size:27px;}
.search,select,.chip,.clear-filter{
  background:#15171A;
  border-color:rgba(255,255,255,.09);
}
.search{height:45px;}
select{height:45px;}
.chip,.clear-filter{padding:9px 13px;color:#A8AAAB;}

/* Produto: mais espaço, menos ornamentação. */
.catalog-section{border-top-color:rgba(255,255,255,.07);}
.product-grid{gap:16px;}
.product-card{
  min-height:420px;
  background:linear-gradient(145deg,#181A1D,#121417);
  border-color:rgba(255,255,255,.075);
  border-radius:18px;
  box-shadow:none;
}
.product-card:hover{
  transform:translateY(-4px);
  border-color:rgba(200,168,107,.28);
  box-shadow:0 24px 65px rgba(0,0,0,.22);
}
.card-media{height:318px;background:#15171A;padding:20px 24px;}
.card-body{padding:18px 19px 21px;}
.card-brand{color:#C8A86B;}
.card-title{font-size:15px;}
.card-desc{color:#898D90;}
.card-arrow{border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.015);}

/* Sobre: menos cara de landing page, mais editorial. */
.about-panel{
  min-height:580px;
  padding:68px 6%;
  border-radius:22px;
  background:
    radial-gradient(circle at 82% 24%,rgba(200,168,107,.09),transparent 24%),
    linear-gradient(135deg,#181A1D,#101214);
  border-color:rgba(255,255,255,.075);
  box-shadow:0 30px 85px rgba(0,0,0,.24);
}
.about-copy{color:#9FA2A4;font-size:14px;line-height:1.9;}
.about-photo{border-color:rgba(255,255,255,.10);box-shadow:0 24px 60px rgba(0,0,0,.28);}
.about-badge{background:rgba(13,14,16,.78);border-color:rgba(200,168,107,.28);}

/* Qualidade: quatro pilares como sistema de design. */
.quality-grid{gap:14px;}
.quality-grid article{
  min-height:205px;
  padding:26px;
  background:#15171A;
  border-color:rgba(255,255,255,.075);
  border-radius:18px;
}
.quality-grid article:hover{border-color:rgba(200,168,107,.28);transform:translateY(-3px);}
.quality-grid h3{margin:68px 0 12px;font-size:17px;}
.quality-grid article p{color:#898D90;}

/* Orçamento/carrinho: simples e confiável. */
.quote-section{border-top-color:rgba(255,255,255,.07);}
.quote-copy h2{font-size:clamp(40px,4.7vw,68px);}
.quote-card{
  border-color:rgba(200,168,107,.22);
  background:rgba(21,23,26,.78);
  box-shadow:0 28px 80px rgba(0,0,0,.24);
}
.cart-row{border-bottom-color:rgba(255,255,255,.07);}
.cart-row img{background:#15171A;}

/* Modal de produto: acabamento de e-commerce premium. */
.modal-backdrop{background:rgba(6,7,8,.86);backdrop-filter:blur(16px);}
.product-modal{background:#111316;border-color:rgba(255,255,255,.09);box-shadow:0 35px 100px rgba(0,0,0,.55);}
.modal-media{background:#15171A;}
.modal-media>img{background:#121417;border-radius:16px;}
.thumbs button{background:#15171A;border-color:rgba(255,255,255,.09);}
.modal-info h2{letter-spacing:-.05em;}
.info-block{border-top-color:rgba(255,255,255,.075);}
.close-btn{background:rgba(17,19,22,.82);border-color:rgba(255,255,255,.10);}

/* Botões: dourado como detalhe, não como decoração. */
.btn-gold{
  background:linear-gradient(135deg,#E0C17E,#C8A86B);
  box-shadow:0 12px 32px rgba(200,168,107,.10);
}
.btn-gold:hover{box-shadow:0 16px 38px rgba(200,168,107,.18);}
.btn-glass{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.11);}

footer{
  padding-top:50px;
  padding-bottom:50px;
  border-top-color:rgba(255,255,255,.07);
  background:#0C0D0F !important;
}

/* Acessibilidade e movimento reduzido. */
:focus-visible{outline:1px solid var(--gold2);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}

/* Mobile: mesma linguagem premium, sem esmagar conteúdo. */
@media(max-width:950px){
  .site-header{left:14px;right:14px;}
  .hero-content{left:6vw;right:6vw;}
  .hero h1{max-width:720px;}
  .product-grid{gap:14px;}
}
@media(max-width:650px){
  body::before{background-size:64px 64px;opacity:.24;}
  .site-header{top:9px;left:9px;right:9px;height:60px;border-radius:15px;}
  .brand-logo,.brand-logo img{width:34px;height:38px;}
  .header-actions{gap:2px;}
  .account-btn{padding:0 10px;font-size:9px;}
  .hero{min-height:680px;}
  .hero-content{left:25px;right:25px;top:49%;}
  .hero h1{font-size:clamp(42px,13vw,56px);line-height:1.01;}
  .hero-luxury-copy{font-size:12px;line-height:1.65;}
  .hero-product-name{font-size:8px;line-height:1.5;}
  .categories-section,.catalog-section,.quality-section,.quote-section,.about-section{padding:82px 22px;}
  .category-card{min-height:240px;}
  .human-service-section{min-height:480px;}
  .human-service-content{width:calc(100% - 44px);padding:72px 0;}
  .human-service-content h2{font-size:39px;}
  .product-card{min-height:390px;}
  .card-media{height:285px;}
  .about-panel{padding:36px 28px;}
}

/* =========================================================
   REDESIGN V2 — LUXO EDITORIAL + CARROSSEL FOTOGRÁFICO
   ========================================================= */
:root{
  --bg:#101214;
  --bg2:#151719;
  --panel:rgba(20,22,24,.76);
  --panel2:rgba(25,27,30,.84);
  --text:#F5F3EE;
  --muted:#A6A7A5;
  --gold:#C8A86B;
  --gold2:#E2C98F;
  --line:rgba(255,255,255,.10);
  --line-soft:rgba(255,255,255,.065);
}

html,body{background:#101214!important;}
body{overflow-x:hidden;}

/* Volta do carrossel: agora ele é uma camada fotográfica premium, não um
   protagonista. Ele fica atrás de todo o conteúdo e recebe uma máscara elegante. */
.ambient-motion{
  display:block!important;
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  overflow:hidden!important;
  opacity:1!important;
  background:#101214!important;
  pointer-events:none!important;
}
.ambient-background-carousel{
  display:block!important;
  position:absolute!important;
  inset:-2.5%!important;
  z-index:0!important;
  overflow:hidden!important;
}
.ambient-background-carousel img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:0!important;
  transform:scale(1.035)!important;
  filter:saturate(.72) brightness(.47) contrast(.96)!important;
  transition:opacity 1.5s cubic-bezier(.22,.61,.36,1),transform 9s cubic-bezier(.22,.61,.36,1)!important;
}
.ambient-background-carousel img.is-active{
  opacity:.72!important;
  transform:scale(1)!important;
}
.ambient-background-overlay{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(180deg,rgba(8,9,10,.70) 0%,rgba(12,13,15,.38) 25%,rgba(12,13,15,.46) 58%,rgba(9,10,11,.78) 100%),
    linear-gradient(90deg,rgba(8,9,10,.68) 0%,rgba(8,9,10,.18) 43%,rgba(8,9,10,.62) 100%),
    radial-gradient(circle at 50% 42%,transparent 0%,rgba(5,6,7,.24) 65%,rgba(5,6,7,.58) 100%)!important;
  pointer-events:none!important;
}
.ambient-motion .ambient-fog,
.ambient-motion .ambient-light{display:block!important;z-index:2!important;}
.ambient-motion .ambient-light{opacity:.16!important;}
.ambient-motion .ambient-fog{opacity:.12!important;}

/* Retira a textura de grade que deixava a página com aparência de dashboard. */
body::before{display:none!important;}

/* Conteúdo recebe vidro apenas onde faz sentido, deixando a fotografia respirar. */
.categories-section,.catalog-section,.quality-section,.quote-section,
.about-section,.brands-section{
  position:relative;
}
.categories-section::before,.catalog-section::before,.quality-section::before,
.quote-section::before,.about-section::before,.brands-section::before{
  content:"";
  position:absolute;
  inset:18px 3vw;
  z-index:-1;
  border:1px solid rgba(255,255,255,.045);
  border-radius:34px;
  background:linear-gradient(180deg,rgba(12,14,16,.30),rgba(12,14,16,.10));
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

/* Header mais integrado à fotografia. */
.site-header{
  background:rgba(15,17,19,.66)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(26px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(26px) saturate(125%)!important;
}
.site-header.scrolled{background:rgba(12,14,16,.88)!important;}

/* Hero: mais cinema, menos efeitos de tecnologia. */
.hero-slide-luxury .hero-moving-lights{opacity:.24!important;}
.hero-slide-luxury .hero-orb{opacity:.18!important;}
.hero-slide-luxury .hero-light-beam{opacity:.10!important;}
.hero-slide-luxury .hero-luxury-glow{opacity:.38!important;filter:blur(70px)!important;}
.hero-slide-luxury .hero-product-halo{opacity:.30!important;filter:blur(28px)!important;}
.hero-slide-luxury .hero-light-sweep{opacity:.16!important;}
.hero-slide-luxury h1{
  text-shadow:0 18px 45px rgba(0,0,0,.30)!important;
}
.hero-product-stage{filter:drop-shadow(0 30px 45px rgba(0,0,0,.28));}

/* Cards: acabamento de catálogo de arquitetura. */
.category-card,.product-card,.subcat-card,.brand-card{
  background:linear-gradient(145deg,rgba(26,28,30,.84),rgba(13,15,17,.72))!important;
  border-color:rgba(255,255,255,.09)!important;
  box-shadow:0 20px 65px rgba(0,0,0,.18)!important;
}
.category-card:hover,.product-card:hover,.subcat-card:hover,.brand-card:hover{
  border-color:rgba(200,168,107,.34)!important;
  box-shadow:0 26px 80px rgba(0,0,0,.28),0 0 0 1px rgba(200,168,107,.06)!important;
  transform:translateY(-3px)!important;
}
.product-card .card-media,.category-card .card-media{
  background:rgba(255,255,255,.018)!important;
}

/* Ferramentas do catálogo com aparência de sistema premium. */
.search,select,.filter-select,.filter-chip{
  background:rgba(17,19,21,.72)!important;
  border-color:rgba(255,255,255,.09)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}

/* Botões: ouro somente no momento de decisão. */
.btn-gold,.quote-btn:hover,.hero-product-link:hover{
  box-shadow:0 12px 32px rgba(200,168,107,.16)!important;
}
.btn-gold{background:linear-gradient(135deg,#c8a86b,#ad8c50)!important;}

/* Marca d'água muito discreta para não competir com a fotografia. */
.site-watermark{opacity:.045!important;}

@media(max-width:800px){
  .ambient-background-carousel{inset:-4%!important;}
  .ambient-background-carousel img{filter:saturate(.68) brightness(.40) contrast(.98)!important;}
  .ambient-background-carousel img.is-active{opacity:.60!important;}
  .categories-section::before,.catalog-section::before,.quality-section::before,
  .quote-section::before,.about-section::before,.brands-section::before{inset:12px 4vw;}
}
@media(prefers-reduced-motion:reduce){
  .ambient-background-carousel img{transition:none!important;transform:none!important;}
}

/* Ajuste final — Atendimento: carrossel fotográfico sutil ao fundo */
.human-service-section {
  isolation: isolate;
  background: #0d0e10;
}
.human-service-bg {
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}
.human-service-bg img {
  inset: -3%;
  width: 106%;
  height: 106%;
  opacity: 0;
  transform: scale(1.025);
  filter: blur(1.8px) saturate(.62) brightness(.52) contrast(.92);
  transition: opacity 1.5s ease, transform 6s ease;
}
.human-service-bg img.is-active {
  opacity: .58;
  transform: scale(1);
}
.human-service-overlay {
  z-index: -1;
  background:
    linear-gradient(90deg,
      rgba(10,11,12,.55) 0%,
      rgba(10,11,12,.38) 38%,
      rgba(10,11,12,.36) 62%,
      rgba(10,11,12,.55) 100%),
    linear-gradient(180deg,
      rgba(8,9,10,.12) 0%,
      rgba(8,9,10,.28) 100%),
    radial-gradient(circle at 50% 45%,
      rgba(200,168,107,.045),
      transparent 48%);
}
.human-service-content {
  z-index: 2;
}
.human-service-content h2,
.human-service-content > p:not(.eyebrow) {
  text-shadow: 0 3px 24px rgba(0,0,0,.72);
}

@media (max-width: 650px) {
  .human-service-bg img {
    filter: blur(2.2px) saturate(.58) brightness(.45) contrast(.9);
  }
  .human-service-bg img.is-active {
    opacity: .46;
  }
  .human-service-overlay {
    background:
      linear-gradient(90deg,rgba(8,9,10,.84),rgba(8,9,10,.70),rgba(8,9,10,.84)),
      linear-gradient(180deg,rgba(8,9,10,.35),rgba(8,9,10,.68));
  }
}


.aviso-imagens-ilustrativas {
    margin: 12px auto 0;
    padding: 0 20px 14px;
    text-align: center;
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    opacity: 0.68;
}

/* Veda Porta de Embutir — opções de tamanho */
.product-size-option[data-required-size="true"] .product-option-title::after{content:"";display:inline-block}

/* Guia L Para Porta De Correr */
.guia-l-porta-correr{display:block}

/* Guia Tipo Canoa — tamanho abaixo das cores */
.guia-tipo-canoa-aluminio-15cm .product-size-option{margin-top:12px}

/* Fecho Unha: tamanhos abaixo das cores */
.product-size-option{margin-top:12px}

/* PUXADOR CONCHA 22 CM — VARIAÇÃO OBRIGATÓRIA COM/Sem FURO */
.product-furo-block{margin-top:18px}
.furo-options{display:flex;flex-wrap:wrap;gap:10px}
.furo-option{appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);color:inherit;border-radius:10px;padding:11px 16px;min-width:120px;font:inherit;font-weight:700;cursor:pointer;transition:.2s ease}
.furo-option:hover{border-color:rgba(197,154,69,.7);transform:translateY(-1px)}
.furo-option.active{border-color:#c59a45;box-shadow:0 0 0 1px rgba(197,154,69,.25),0 8px 22px rgba(0,0,0,.18);background:rgba(197,154,69,.13)}
.selected-furo-info{min-height:20px;margin:10px 0 0;font-size:.9rem;font-weight:700}
@media(max-width:520px){.furo-option{flex:1 1 100%;min-width:0}}

\n/* CONCHA-22CM-IMAGE-QUALITY-FIX */
.product-modal .modal-media > img[src*="puxador-concha-22cm"],
.product-modal .thumbs img[src*="puxador-concha-22cm"],
#modalImage[src*="puxador-concha-22cm"] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  image-rendering: auto;
}
.technical-visual img[src*="puxador-concha-22cm"] {
  background: transparent !important;
  border: 0 !important;
}


/* AJUSTE VISUAL — PUXADOR TIPO U 50 X 20
   As opções de acabamento ficam em colunas independentes para que os nomes
   nunca se sobreponham. A foto inicial respeita a proporção original inteira.
*/
/* No produto U 50x20, a foto principal deve aparecer inteira, sem crop. */
.product-modal--u50x20 .modal-media{
  min-height:620px !important;
  justify-content:flex-start !important;
}
.product-modal--u50x20 .modal-media > img{
  width:100% !important;
  height:620px !important;
  max-height:620px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  border-radius:18px !important;
  background:#090909 !important;
}
.product-modal--u50x20 .thumbs img{
  object-fit:contain !important;
}
@media(max-width:700px){
  .product-modal--u50x20 .modal-media{
    min-height:390px !important;
  }
  .product-modal--u50x20 .modal-media > img{
    height:390px !important;
    max-height:390px !important;
  }
}


/* CORREÇÃO DEFINITIVA — PUXADOR U 50 X 20
   A classe de identificação fica no #productModal externo.
   A foto principal deve mostrar o arquivo inteiro, sem crop.
*/
#productModal.product-modal--u50x20 .modal-media{
  min-height:620px !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
#productModal.product-modal--u50x20 .modal-media > #modalImage{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-width:100% !important;
  max-height:620px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  margin:0 auto !important;
  border-radius:18px !important;
  background:#090909 !important;
}
#productModal.product-modal--u50x20 .thumbs img{
  object-fit:contain !important;
}
@media(max-width:700px){
  #productModal.product-modal--u50x20 .modal-media{
    min-height:390px !important;
  }
  #productModal.product-modal--u50x20 .modal-media > #modalImage{
    max-height:390px !important;
  }
}

#productGrid .product-card--u50x20 .card-media{
  height:405px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
#productGrid .product-card--u50x20 .card-media img{
  width:auto !important;
  height:auto !important;
  max-width:96% !important;
  max-height:96% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
@media(max-width:700px){
  #productGrid .product-card--u50x20 .card-media{
    height:300px !important;
  }
}


/* CORREÇÃO DEFINITIVA — CAPA DOS PUXADORES U 50x20 (2,00 m e 1,80 m)
   A capa deve aparecer inteira: sem crop, sem cover e mantendo a proporção original. */
#productGrid .product-card--u50x20 .card-media{
  height:430px !important;
  min-height:0 !important;
  padding:10px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
#productGrid .product-card--u50x20 .card-media img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  transform:none !important;
}
#productModal.product-modal--u50x20 .modal-media{
  min-height:0 !important;
  height:auto !important;
  padding:16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
#productModal.product-modal--u50x20 .modal-media > #modalImage{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:calc(100vh - 210px) !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}
@media (max-width:700px){
  #productGrid .product-card--u50x20 .card-media{
    height:330px !important;
    padding:8px !important;
  }
  #productGrid .product-card--u50x20 .card-media img{
    max-width:100% !important;
    max-height:100% !important;
  }
  #productModal.product-modal--u50x20 .modal-media{
    padding:8px !important;
  }
  #productModal.product-modal--u50x20 .modal-media > #modalImage{
    max-width:100% !important;
    max-height:calc(100vh - 250px) !important;
  }
}


/* AJUSTE FINAL — GALERIA DO PUXADOR U 50x20 NO MODAL
   A capa deve ficar no topo/centro da área de mídia, sem ser empurrada
   para baixo pelo espaço das miniaturas. Mantém a imagem inteira e proporcional. */
#productModal.product-modal--u50x20 .modal-media{
  padding:78px 20px 16px !important;
  min-height:0 !important;
  height:100% !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  align-items:center !important;
  justify-items:center !important;
  gap:12px !important;
  overflow:hidden !important;
}
#productModal.product-modal--u50x20 .modal-media > #modalImage{
  grid-row:1 !important;
  align-self:center !important;
  justify-self:center !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:calc(86vh - 125px) !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  border-radius:18px !important;
  background:#090909 !important;
}
#productModal.product-modal--u50x20 .thumbs{
  grid-row:2 !important;
  width:100% !important;
  justify-content:center !important;
  align-self:end !important;
}
@media(max-width:950px){
  #productModal.product-modal--u50x20 .modal-media{
    padding:72px 16px 12px !important;
    height:100% !important;
  }
  #productModal.product-modal--u50x20 .modal-media > #modalImage{
    max-height:calc(88vh - 130px) !important;
  }
}
@media(max-width:650px){
  #productModal.product-modal--u50x20 .modal-media{
    padding:62px 8px 8px !important;
    height:auto !important;
    min-height:360px !important;
    grid-template-rows:minmax(260px,1fr) auto !important;
  }
  #productModal.product-modal--u50x20 .modal-media > #modalImage{
    width:100% !important;
    height:100% !important;
    max-height:calc(92vh - 210px) !important;
  }
  #productModal.product-modal--u50x20 .thumbs{
    justify-content:flex-start !important;
  }
}

/* CORREÇÃO DEFINITIVA DO MODAL — PUXADORES U 50x20
   O modal tem altura própria e a área de mídia não participa do scroll do
   conteúdo. A imagem fica sempre visível, centralizada e inteira. */
#productModal.product-modal--u50x20 .product-modal{
  height:86vh !important;
  max-height:86vh !important;
  overflow:hidden !important;
}
#productModal.product-modal--u50x20 .modal-media{
  height:100% !important;
  min-height:0 !important;
  box-sizing:border-box !important;
  padding:78px 20px 16px !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  align-items:center !important;
  justify-items:center !important;
  gap:12px !important;
  overflow:hidden !important;
}
#productModal.product-modal--u50x20 .modal-media > #modalImage{
  grid-row:1 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  align-self:center !important;
  justify-self:center !important;
  margin:0 !important;
  display:block !important;
}
#productModal.product-modal--u50x20 .thumbs{
  grid-row:2 !important;
  width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  justify-content:center !important;
  align-self:end !important;
}
#productModal.product-modal--u50x20 .modal-info{
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
}
@media(max-width:950px){
  #productModal.product-modal--u50x20 .product-modal{
    height:88vh !important;
    max-height:88vh !important;
  }
  #productModal.product-modal--u50x20 .modal-media{
    padding:72px 16px 12px !important;
  }
}
@media(max-width:650px){
  #productModal.product-modal--u50x20 .product-modal{
    height:96vh !important;
    max-height:96vh !important;
    overflow-y:auto !important;
  }
  #productModal.product-modal--u50x20 .modal-media{
    height:430px !important;
    min-height:430px !important;
    padding:62px 8px 8px !important;
    grid-template-rows:minmax(0,1fr) auto !important;
  }
  #productModal.product-modal--u50x20 .modal-media > #modalImage{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
  }
  #productModal.product-modal--u50x20 .thumbs{
    justify-content:flex-start !important;
  }
  #productModal.product-modal--u50x20 .modal-info{
    overflow:visible !important;
  }
}

/* HERO — focos de luz desfocados, discretos e elegantes */
.hero-moving-lights{
  opacity:1 !important;
  z-index:1 !important;
}
.hero-moving-lights .hero-orb{
  display:block !important;
  filter:blur(7px) !important;
  opacity:.58 !important;
}
.hero-moving-lights .hero-orb::after{
  filter:blur(10px) !important;
}
.hero-moving-lights .orb-1{opacity:.52 !important;}
.hero-moving-lights .orb-2{opacity:.42 !important;}
.hero-moving-lights .orb-3{opacity:.48 !important;}
.hero-moving-lights .orb-5{opacity:.56 !important;}
.hero-moving-lights .orb-7{opacity:.34 !important;}
.hero-moving-lights .orb-8{opacity:.28 !important;}
.hero-moving-lights .orb-4,
.hero-moving-lights .orb-6,
.hero-moving-lights .orb-9,
.hero-moving-lights .orb-10,
.hero-moving-lights .hero-light-beam{display:none !important;}


/* HERO — remover completamente os efeitos de luz do banner */
.hero .hero-moving-lights,
.hero .hero-luxury-glow,
.hero .hero-light-sweep,
.hero .hero-product-halo,
.hero .hero-light-beam,
.hero .hero-orb,
.hero .hero-blim-sweep {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}


/* HERO — iluminação cinematográfica nos 3 slides. As luzes ficam atrás do conteúdo e do produto. */
.hero-light-scene{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  isolation:isolate;
  mix-blend-mode:screen;
}
.hero-light-scene::after{
  content:"";
  position:absolute;
  inset:-10%;
  background:radial-gradient(ellipse at 72% 48%,rgba(255,218,151,.10),transparent 24%),radial-gradient(ellipse at 22% 72%,rgba(255,245,219,.055),transparent 26%);
  filter:blur(26px);
  animation:heroAmbientBreath 9s ease-in-out infinite alternate;
}
.hero-light-orb{
  position:absolute;
  width:clamp(55px,6vw,115px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,250,235,.92) 0%,rgba(255,222,163,.42) 13%,rgba(225,166,83,.16) 34%,transparent 72%);
  filter:blur(4px);
  opacity:.48;
  will-change:transform,opacity;
}
.hero-light-orb::after{
  content:"";
  position:absolute;
  inset:31%;
  border-radius:50%;
  background:rgba(255,250,235,.72);
  filter:blur(9px);
  box-shadow:0 0 42px 15px rgba(238,188,102,.18);
}
.hero-light-orb.orb-a{left:9%;top:20%;animation:heroLightA 15s ease-in-out infinite}
.hero-light-orb.orb-b{left:32%;top:72%;width:clamp(38px,4vw,76px);opacity:.32;animation:heroLightB 18s ease-in-out infinite}
.hero-light-orb.orb-c{left:56%;top:16%;width:clamp(32px,3vw,62px);opacity:.34;animation:heroLightC 13s ease-in-out infinite}
.hero-light-orb.orb-d{left:76%;top:64%;width:clamp(62px,5vw,100px);opacity:.42;animation:heroLightD 17s ease-in-out infinite}
.hero-light-orb.orb-e{left:88%;top:25%;width:clamp(28px,2.5vw,52px);opacity:.28;animation:heroLightE 20s ease-in-out infinite}
.hero-light-beam{
  position:absolute;
  top:-38%;
  height:176%;
  width:20vw;
  min-width:150px;
  background:linear-gradient(90deg,transparent,rgba(255,226,175,.075) 35%,rgba(255,248,224,.16) 50%,rgba(255,226,175,.075) 65%,transparent);
  filter:blur(22px);
  opacity:.32;
  will-change:transform,opacity;
}
.hero-light-beam.beam-a{left:10%;transform:rotate(18deg);animation:heroLightBeamA 20s ease-in-out infinite}
.hero-light-beam.beam-b{left:54%;width:14vw;transform:rotate(-15deg);opacity:.22;filter:blur(28px);animation:heroLightBeamB 24s ease-in-out infinite}
.hero-light-beam.beam-c{left:84%;width:10vw;transform:rotate(12deg);opacity:.16;filter:blur(30px);animation:heroLightBeamC 27s ease-in-out infinite}
@keyframes heroAmbientBreath{0%{opacity:.45;transform:scale(.94)}100%{opacity:.95;transform:scale(1.06)}}
@keyframes heroLightA{0%,100%{transform:translate3d(0,0,0) scale(.72);opacity:.18}42%{transform:translate3d(11vw,8vh,0) scale(1.15);opacity:.62}72%{transform:translate3d(17vw,-3vh,0) scale(.86);opacity:.34}}
@keyframes heroLightB{0%,100%{transform:translate3d(0,0,0) scale(.7)}50%{transform:translate3d(-9vw,-12vh,0) scale(1.18)}82%{transform:translate3d(5vw,-4vh,0) scale(.88)}}
@keyframes heroLightC{0%,100%{transform:translate3d(0,0,0) scale(.65)}44%{transform:translate3d(12vw,10vh,0) scale(1.2)}78%{transform:translate3d(3vw,17vh,0) scale(.82)}}
@keyframes heroLightD{0%,100%{transform:translate3d(0,0,0) scale(.7);opacity:.16}48%{transform:translate3d(-12vw,-7vh,0) scale(1.2);opacity:.58}80%{transform:translate3d(-4vw,6vh,0) scale(.86);opacity:.3}}
@keyframes heroLightE{0%,100%{transform:translate3d(0,0,0) scale(.7)}50%{transform:translate3d(-11vw,9vh,0) scale(1.3)}}
@keyframes heroLightBeamA{0%,15%{transform:translate3d(-55vw,0,0) rotate(18deg);opacity:0}42%{opacity:.36}78%,100%{transform:translate3d(55vw,0,0) rotate(18deg);opacity:0}}
@keyframes heroLightBeamB{0%,18%{transform:translate3d(50vw,0,0) rotate(-15deg);opacity:0}46%{opacity:.24}82%,100%{transform:translate3d(-58vw,0,0) rotate(-15deg);opacity:0}}
@keyframes heroLightBeamC{0%,24%{transform:translate3d(48vw,0,0) rotate(12deg);opacity:0}50%{opacity:.18}84%,100%{transform:translate3d(-55vw,0,0) rotate(12deg);opacity:0}}
.hero-slide-blim .hero-light-scene::after{background:radial-gradient(ellipse at 68% 45%,rgba(255,220,158,.08),transparent 25%),radial-gradient(ellipse at 30% 30%,rgba(255,248,228,.045),transparent 24%)}
.hero-slide-texas .hero-light-scene{opacity:.9}
@media(max-width:800px){
  .hero-light-orb{opacity:.25!important}
  .hero-light-beam{opacity:.14!important}
  .hero-light-scene::after{filter:blur(20px)}
}
@media(prefers-reduced-motion:reduce){
  .hero-light-orb,.hero-light-beam,.hero-light-scene::after{animation:none!important}
  .hero-light-orb{opacity:.18!important}
  .hero-light-beam{opacity:.08!important}
}

/* HERO — direção cinematográfica por slide
   Slides 01 e 02: movimento lento da esquerda para a direita.
   Slide 03: movimento lento da direita para a esquerda. */
.hero-slide[data-slide="0"] .hero-bg,
.hero-slide[data-slide="1"] .hero-bg{
  animation:heroBgLeftToRight 18s ease-in-out infinite alternate !important;
}
.hero-slide[data-slide="2"] .hero-bg{
  animation:heroBgRightToLeft 18s ease-in-out infinite alternate !important;
}
@keyframes heroBgLeftToRight{
  0%{transform:translate3d(-2.8%,0,0) scale(1.07)}
  100%{transform:translate3d(2.8%,0,0) scale(1.07)}
}
@keyframes heroBgRightToLeft{
  0%{transform:translate3d(2.8%,0,0) scale(1.07)}
  100%{transform:translate3d(-2.8%,0,0) scale(1.07)}
}

/* Feixes principais atravessando o banner na mesma direção de cada slide. */
.hero-slide[data-slide="0"] .hero-light-beam.beam-a,
.hero-slide[data-slide="0"] .hero-light-beam.beam-b,
.hero-slide[data-slide="0"] .hero-light-beam.beam-c,
.hero-slide[data-slide="1"] .hero-light-beam.beam-a,
.hero-slide[data-slide="1"] .hero-light-beam.beam-b,
.hero-slide[data-slide="1"] .hero-light-beam.beam-c{
  animation:heroBeamLeftToRight 13s ease-in-out infinite !important;
}
.hero-slide[data-slide="2"] .hero-light-beam.beam-a,
.hero-slide[data-slide="2"] .hero-light-beam.beam-b,
.hero-slide[data-slide="2"] .hero-light-beam.beam-c{
  animation:heroBeamRightToLeft 13s ease-in-out infinite !important;
}
@keyframes heroBeamLeftToRight{
  0%,12%{transform:translate3d(-58vw,0,0) rotate(16deg);opacity:0}
  38%{opacity:.34}
  52%{opacity:.42}
  88%,100%{transform:translate3d(58vw,0,0) rotate(16deg);opacity:0}
}
@keyframes heroBeamRightToLeft{
  0%,12%{transform:translate3d(58vw,0,0) rotate(-16deg);opacity:0}
  38%{opacity:.34}
  52%{opacity:.42}
  88%,100%{transform:translate3d(-58vw,0,0) rotate(-16deg);opacity:0}
}

/* Um segundo feixe fino e mais discreto, para dar sensação de profundidade. */
.hero-slide[data-slide="0"] .hero-light-scene::before,
.hero-slide[data-slide="1"] .hero-light-scene::before,
.hero-slide[data-slide="2"] .hero-light-scene::before{
  content:"";
  position:absolute;
  top:-45%;
  left:-24%;
  width:13vw;
  min-width:110px;
  height:190%;
  background:linear-gradient(90deg,transparent,rgba(255,239,207,.10) 42%,rgba(255,250,235,.18) 50%,rgba(255,239,207,.10) 58%,transparent);
  filter:blur(19px);
  opacity:0;
  pointer-events:none;
  will-change:transform,opacity;
}
.hero-slide[data-slide="0"] .hero-light-scene::before,
.hero-slide[data-slide="1"] .hero-light-scene::before{
  animation:heroFineBeamLTR 10s ease-in-out infinite;
}
.hero-slide[data-slide="2"] .hero-light-scene::before{
  left:auto;
  right:-24%;
  animation:heroFineBeamRTL 10s ease-in-out infinite;
}
@keyframes heroFineBeamLTR{
  0%,16%{transform:translate3d(-18vw,0,0) rotate(14deg);opacity:0}
  40%{opacity:.28}
  55%{opacity:.34}
  84%,100%{transform:translate3d(115vw,0,0) rotate(14deg);opacity:0}
}
@keyframes heroFineBeamRTL{
  0%,16%{transform:translate3d(18vw,0,0) rotate(-14deg);opacity:0}
  40%{opacity:.28}
  55%{opacity:.34}
  84%,100%{transform:translate3d(-115vw,0,0) rotate(-14deg);opacity:0}
}

@media(prefers-reduced-motion:reduce){
  .hero-slide[data-slide="0"] .hero-bg,
  .hero-slide[data-slide="1"] .hero-bg,
  .hero-slide[data-slide="2"] .hero-bg,
  .hero-slide .hero-light-beam,
  .hero-slide .hero-light-scene::before{animation:none!important}
}


/* HERO — movimento exclusivo do FUNDO, lento e contínuo
   Slides 01 e 02: esquerda -> direita
   Slide 03: direita -> esquerda */
.hero-slide[data-slide="0"] .hero-bg,
.hero-slide[data-slide="1"] .hero-bg{
  animation:heroBackgroundOnlyLTR 24s ease-in-out infinite alternate !important;
  will-change:transform;
}
.hero-slide[data-slide="2"] .hero-bg{
  animation:heroBackgroundOnlyRTL 24s ease-in-out infinite alternate !important;
  will-change:transform;
}
@keyframes heroBackgroundOnlyLTR{
  0%{transform:translate3d(-3.5%,0,0) scale(1.09) !important;}
  100%{transform:translate3d(3.5%,0,0) scale(1.09) !important;}
}
@keyframes heroBackgroundOnlyRTL{
  0%{transform:translate3d(3.5%,0,0) scale(1.09) !important;}
  100%{transform:translate3d(-3.5%,0,0) scale(1.09) !important;}
}
@media(max-width:800px){
  .hero-slide[data-slide="0"] .hero-bg,
  .hero-slide[data-slide="1"] .hero-bg{
    animation:heroBackgroundOnlyLTR 26s ease-in-out infinite alternate !important;
  }
  .hero-slide[data-slide="2"] .hero-bg{
    animation:heroBackgroundOnlyRTL 26s ease-in-out infinite alternate !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-slide[data-slide="0"] .hero-bg,
  .hero-slide[data-slide="1"] .hero-bg,
  .hero-slide[data-slide="2"] .hero-bg{
    animation:none !important;
    transform:scale(1.045) !important;
  }
}

/* HERO — movimento REAL do fundo via background-position.
   Slides 01 e 02: esquerda -> direita.
   Slide 03: direita -> esquerda. */
.hero-slide[data-slide="0"] .hero-bg,
.hero-slide[data-slide="1"] .hero-bg{
  background-size:115% 115% !important;
  background-repeat:no-repeat !important;
  animation:heroBgPanLTR 30s ease-in-out infinite alternate !important;
  transform:scale(1.0) !important;
  will-change:background-position;
}
.hero-slide[data-slide="2"] .hero-bg{
  background-size:115% 115% !important;
  background-repeat:no-repeat !important;
  animation:heroBgPanRTL 30s ease-in-out infinite alternate !important;
  transform:scale(1.0) !important;
  will-change:background-position;
}
@keyframes heroBgPanLTR{
  0%{background-position:40% center;}
  100%{background-position:60% center;}
}
@keyframes heroBgPanRTL{
  0%{background-position:60% center;}
  100%{background-position:40% center;}
}
@media(max-width:800px){
  .hero-slide[data-slide="0"] .hero-bg,
  .hero-slide[data-slide="1"] .hero-bg{
    background-size:125% 125% !important;
    animation:heroBgPanLTR 32s ease-in-out infinite alternate !important;
  }
  .hero-slide[data-slide="2"] .hero-bg{
    background-size:125% 125% !important;
    animation:heroBgPanRTL 32s ease-in-out infinite alternate !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-slide[data-slide="0"] .hero-bg,
  .hero-slide[data-slide="1"] .hero-bg,
  .hero-slide[data-slide="2"] .hero-bg{
    animation:none !important;
    background-position:center center !important;
  }
}


/* RESTAURAÇÃO — imagem da subcategoria Fechaduras Internas */
#mechanicalSubcategoryGrid .subcat-card[data-mechanical-lock="interna"],
#mechanicalSubcategoryGrid .subcat-card[data-mechanical-lock="interna"]:hover,
#mechanicalSubcategoryGrid .subcat-card[data-mechanical-lock="interna"].active {
  background-image: url("../Todas as Imagens/Fundos e Ambientes/porta-interna-site.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
#mechanicalSubcategoryGrid .subcat-card[data-mechanical-lock="interna"]::before {
  background: linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.78)) !important;
}


/* HERO 01 — arte fornecida pelo cliente
   Primeiro slide: substitui integralmente o produto e o fundo anteriores.
   Movimento lento e cinematográfico aplicado somente ao slide 01. */
.hero-slide-1 .hero-bg{
  inset:-3.5%;
  background-image:none !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  transform:scale(1.025) translate3d(-0.35%,0,0) !important;
  animation:hero01CinematicDrift 22s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
  will-change:transform;
}
.hero-slide-1 .hero-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,5,6,.24) 0%,rgba(4,5,6,.06) 34%,rgba(4,5,6,.02) 62%,rgba(4,5,6,.12) 100%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.08));
  backdrop-filter:none !important;
}
.hero-slide-1 .hero-light-scene,
.hero-slide-1 .hero-product-stage{
  display:none !important;
}
.hero-slide-1 .hero-content{
  z-index:4;
  left:7.5vw;
  max-width:610px;
}
.hero-slide-1 .hero-kicker,
.hero-slide-1 .eyebrow,
.hero-slide-1 h1,
.hero-slide-1 .hero-luxury-copy,
.hero-slide-1 .hero-product-link-wrap,
.hero-slide-1 .hero-actions,
.hero-slide-1 .hero-signature{
  text-shadow:0 2px 18px rgba(0,0,0,.32);
}
@keyframes hero01CinematicDrift{
  0%{transform:scale(1.025) translate3d(-0.55%,0,0);}
  50%{transform:scale(1.045) translate3d(0,0,0);}
  100%{transform:scale(1.065) translate3d(0.55%,0,0);}
}
@media(max-width:1100px){
  .hero-slide-1 .hero-bg{
    inset:-4.5%;
    background-size:cover !important;
    animation:hero01CinematicDriftTablet 24s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
  }
  @keyframes hero01CinematicDriftTablet{
    0%{transform:scale(1.035) translate3d(-0.4%,0,0);}
    100%{transform:scale(1.075) translate3d(0.4%,0,0);}
  }
}
@media(max-width:800px){
  .hero-slide-1 .hero-bg{
    inset:-5%;
    background-position:center center !important;
    animation:hero01CinematicDriftMobile 26s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
  }
  .hero-slide-1 .hero-content{
    left:7vw;
    right:7vw;
    max-width:560px;
  }
  @keyframes hero01CinematicDriftMobile{
    0%{transform:scale(1.045) translate3d(-0.3%,0,0);}
    100%{transform:scale(1.085) translate3d(0.3%,0,0);}
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-slide-1 .hero-bg{
    animation:none !important;
    transform:scale(1.04) !important;
  }
}

/* HERO 01 — sem zoom: movimento apenas pelo enquadramento horizontal */
.hero-slide-1 .hero-bg{
  inset:0 !important;
  background-size:cover !important;
  background-position:48% center !important;
  transform:none !important;
  animation:hero01CinematicPan 28s ease-in-out infinite alternate !important;
  will-change:background-position;
}
@keyframes hero01CinematicPan{
  0%{background-position:48% center;}
  100%{background-position:52% center;}
}
@media(max-width:1100px){
  .hero-slide-1 .hero-bg{
    inset:0 !important;
    background-size:cover !important;
    background-position:48.5% center !important;
    animation:hero01CinematicPanTablet 30s ease-in-out infinite alternate !important;
  }
  @keyframes hero01CinematicPanTablet{
    0%{background-position:48.5% center;}
    100%{background-position:51.5% center;}
  }
}
@media(max-width:800px){
  .hero-slide-1 .hero-bg{
    inset:0 !important;
    background-size:cover !important;
    background-position:50% center !important;
    animation:hero01CinematicPanMobile 32s ease-in-out infinite alternate !important;
  }
  @keyframes hero01CinematicPanMobile{
    0%{background-position:49% center;}
    100%{background-position:51% center;}
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-slide-1 .hero-bg{
    animation:none !important;
    transform:none !important;
    background-position:50% center !important;
  }
}

/* HERO 01 — enquadramento final: produto inteiro, grande e sem zoom excessivo */
.hero-slide-1 .hero-bg{
  inset:0 !important;
  background-size:auto 100% !important;
  background-position:100% center !important;
  background-repeat:no-repeat !important;
  background-color:#080808 !important;
  transform:none !important;
  animation:hero01ElegantPan 34s ease-in-out infinite alternate !important;
  will-change:background-position;
}
@keyframes hero01ElegantPan{
  0%{background-position:100% center;}
  100%{background-position:96% center;}
}
@media(max-width:1100px){
  .hero-slide-1 .hero-bg{
    background-size:auto 100% !important;
    background-position:84% center !important;
    animation:hero01ElegantPanTablet 36s ease-in-out infinite alternate !important;
  }
  @keyframes hero01ElegantPanTablet{
    0%{background-position:84% center;}
    100%{background-position:80% center;}
  }
}
@media(max-width:800px){
  .hero-slide-1 .hero-bg{
    background-size:auto 100% !important;
    background-position:76% center !important;
    animation:hero01ElegantPanMobile 38s ease-in-out infinite alternate !important;
  }
  @keyframes hero01ElegantPanMobile{
    0%{background-position:76% center;}
    100%{background-position:73% center;}
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-slide-1 .hero-bg{
    animation:none !important;
    background-position:100% center !important;
  }
}

/* HERO 01 — vídeo cinematográfico fornecido pelo cliente
   Substitui exclusivamente o visual do primeiro slide. */
.hero-slide-1 .hero-video-1{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  background:#050505;
  pointer-events:none;
}
.hero-slide-1::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,4,5,.30) 0%,rgba(3,4,5,.10) 34%,rgba(3,4,5,.02) 62%,rgba(3,4,5,.12) 100%);
}
.hero-slide-1 .hero-content{
  z-index:4;
}
.hero-slide-1 .hero-bg,
.hero-slide-1 .hero-product-stage,
.hero-slide-1 .hero-light-scene{
  display:none !important;
}
@media(max-width:800px){
  .hero-slide-1 .hero-video-1{
    object-position:center center;
  }
  .hero-slide-1::before{
    background:linear-gradient(90deg,rgba(3,4,5,.42) 0%,rgba(3,4,5,.12) 65%,rgba(3,4,5,.16) 100%);
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-slide-1 .hero-video-1{
    animation:none !important;
  }
}

/* HERO 01 — vídeo background final: original, persistente e sem filtros */
.hero-slide-1{
  background:#050505;
  isolation:isolate;
}
.hero-slide-1 .hero-video-1{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  pointer-events:none;
  filter:none !important;
  opacity:1;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.hero-slide-1 .hero-content{position:relative;z-index:3;}


/* HERO 01 — reprodução contínua otimizada
   O vídeo permanece montado no DOM e usa um arquivo com quatro ciclos consecutivos
   para reduzir ao mínimo a frequência de seeks no ponto de loop. */
.hero-slide-1 .hero-video-1{
  object-fit:cover;
  object-position:center center;
  transform:translate3d(0,0,0);
  will-change:auto;
  contain:paint;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.hero-slide-1 .hero-video-1::-webkit-media-controls{display:none !important;}
.hero-slide-1 .hero-video-1::-webkit-media-controls-enclosure{display:none !important;}

/* HERO 02/03 — clean mode: no background image, light effects or product render. */
.hero-slide-texas .hero-bg,
.hero-slide-texas .hero-light-scene,
.hero-slide-texas .hero-product-stage,
.hero-slide-blim .hero-bg,
.hero-slide-blim .hero-light-scene,
.hero-slide-blim .hero-product-stage{
  display:none !important;
}
.hero-slide-texas,
.hero-slide-blim{
  background:#08090b !important;
}


/* HERO 01 — somente o vídeo: sem imagem de fundo, poster ou camadas visuais */
.hero-slide-1{
  background:#050505 !important;
}
.hero-slide-1::before{
  display:none !important;
  content:none !important;
}
.hero-slide-1 .hero-video-1{
  background:#050505 !important;
  opacity:1 !important;
  filter:none !important;
}


/* HERO 01 — CINEMATIC STATIC PERFORMANCE
   Substitui a reprodução contínua por uma única imagem extraída da própria composição do vídeo.
   Toda a sensação de movimento é criada no compositor via transform/opacity, sem decodificação de vídeo. */
.hero-slide-1 .hero-cinematic-art{
  position:absolute;
  inset:-2.5%;
  z-index:0;
  overflow:hidden;
  background:#050505;
  pointer-events:none;
  isolation:isolate;
  animation:hero01ArtDrift 24s cubic-bezier(.42,0,.58,1) infinite alternate;
  will-change:transform;
}
.hero-slide-1 .hero-cinematic-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.035) translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:transform;
}
.hero-slide-1 .hero-cinematic-art::before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 32%,rgba(255,244,214,.075) 46%,rgba(255,244,214,.018) 52%,transparent 66%);
  transform:translate3d(-42%,0,0) skewX(-8deg);
  animation:hero01LightSweep 13s cubic-bezier(.55,.08,.45,.92) infinite;
  will-change:transform;
}
.hero-slide-1 .hero-cinematic-art::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,4,5,.30) 0%,rgba(3,4,5,.10) 34%,rgba(3,4,5,.015) 62%,rgba(3,4,5,.12) 100%);
}
.hero-slide-1 .hero-content{z-index:4;}
.hero-slide-1 .hero-bg,
.hero-slide-1 .hero-product-stage,
.hero-slide-1 .hero-light-scene,
.hero-slide-1 .hero-video-1{display:none !important;}
@keyframes hero01ArtDrift{
  0%{transform:translate3d(-.45%,0,0) scale(1.005);}
  100%{transform:translate3d(.45%,0,0) scale(1.018);}
}
@keyframes hero01LightSweep{
  0%,18%{transform:translate3d(-42%,0,0) skewX(-8deg);opacity:0;}
  30%{opacity:1;}
  58%{transform:translate3d(42%,0,0) skewX(-8deg);opacity:.9;}
  70%,100%{transform:translate3d(55%,0,0) skewX(-8deg);opacity:0;}
}
@media(max-width:800px){
  .hero-slide-1 .hero-cinematic-art{inset:-3%;animation-duration:28s;}
  .hero-slide-1 .hero-cinematic-art img{object-position:64% center;transform:scale(1.055);}
  .hero-slide-1 .hero-cinematic-art::before{animation-duration:15s;}
}
@media(prefers-reduced-motion:reduce){
  .hero-slide-1 .hero-cinematic-art{animation:none;transform:none;}
  .hero-slide-1 .hero-cinematic-art::before{animation:none;opacity:0;}
}


/* HERO 01 — FINAL VIDEO MODE: one hardware-friendly decoder, no static art. */
.hero-slide-1{background:#050505 !important; isolation:isolate;}
.hero-slide-1 .hero-cinematic-art{display:none !important;}
.hero-slide-1 .hero-video-1{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:#050505 !important;
  opacity:1 !important;
  filter:none !important;
  transform:translate3d(0,0,0) !important;
  will-change:auto !important;
  contain:paint !important;
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
  pointer-events:none !important;
}
.hero-slide-1::before,.hero-slide-1::after{display:none !important;content:none !important;}
.hero-slide-1 .hero-content{position:relative !important;z-index:2 !important;}
@media(prefers-reduced-motion:reduce){.hero-slide-1 .hero-video-1{animation:none !important;}}

/* =========================================================
   HERO SIGNATURE — inspiração em experiências automotivas premium
   Vídeo full-bleed, interface mínima e foco absoluto no produto.
   ========================================================= */
.site-header{
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:82px !important;
  padding:0 42px !important;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,0)) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.site-header.scrolled{
  background:rgba(7,7,7,.94) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.hero{
  height:100svh !important;
  min-height:680px !important;
  background:#050505 !important;
}
.hero-slide{
  transition:opacity .65s cubic-bezier(.22,.61,.36,1),visibility .65s;
}
.hero-slide-1 .hero-video-1{
  object-fit:cover !important;
  object-position:center center !important;
  image-rendering:auto;
  transform:translate3d(0,0,0) !important;
  contain:paint !important;
}
.hero-slide-1::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.34) 36%,rgba(0,0,0,.06) 72%,rgba(0,0,0,.12) 100%),
    linear-gradient(0deg,rgba(0,0,0,.60) 0%,rgba(0,0,0,.05) 42%,rgba(0,0,0,.08) 100%) !important;
}
.hero-slide-1 .hero-content{
  left:6vw !important;
  right:auto !important;
  top:auto !important;
  bottom:12vh !important;
  transform:none !important;
  max-width:650px !important;
  z-index:4 !important;
}
.hero-slide-1 .hero-kicker{
  margin-bottom:18px !important;
  font-size:9px !important;
  letter-spacing:.24em !important;
}
.hero-slide-1 h1{
  max-width:650px !important;
  font-size:clamp(42px,5.2vw,78px) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
  text-wrap:balance;
}
.hero-slide-1 .hero-luxury-copy{
  max-width:480px !important;
  margin-top:20px !important;
  font-size:13px !important;
  line-height:1.7 !important;
  color:rgba(255,255,255,.78) !important;
}
.hero-slide-1 .hero-product-link-wrap{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  margin-top:25px !important;
}
.hero-slide-1 .hero-product-name{
  font-size:9px !important;
  letter-spacing:.20em !important;
  color:rgba(255,255,255,.76) !important;
}
.hero-slide-1 .hero-product-link{
  margin-top:0 !important;
  padding:12px 19px !important;
}
.hero-slide-1 .hero-actions{margin-top:16px !important;}
.hero-slide-1 .hero-signature{
  position:absolute !important;
  left:calc(100vw - 12vw) !important;
  bottom:2px !important;
  white-space:nowrap !important;
}
.hero-slide-1 .hero-signature span{font-size:11px !important;}
.hero-slide-1 .hero-signature small{letter-spacing:.25em !important;}
.hero-slide-1 .hero-kicker,
.hero-slide-1 .eyebrow,
.hero-slide-1 h1,
.hero-slide-1 .hero-luxury-copy,
.hero-slide-1 .hero-product-link-wrap,
.hero-slide-1 .hero-actions,
.hero-slide-1 .hero-signature{
  text-shadow:0 3px 24px rgba(0,0,0,.55) !important;
}
/* Entrada premium: sem blur de filtro, somente opacidade + deslocamento, mais barato para a GPU. */
.hero-slide.is-active h1,
.hero-slide.is-active .eyebrow,
.hero-slide.is-active .btn{
  animation:heroPremiumEnter .65s cubic-bezier(.22,.61,.36,1) both !important;
  filter:none !important;
}
@keyframes heroPremiumEnter{
  from{opacity:0;transform:translate3d(0,18px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
.hero-controls{
  right:6vw !important;
  bottom:38px !important;
  z-index:8 !important;
}
.hero-arrow{
  width:42px !important;
  height:42px !important;
  background:rgba(0,0,0,.22) !important;
  border-color:rgba(255,255,255,.28) !important;
  backdrop-filter:none !important;
}
.hero-arrow:hover{background:rgba(255,255,255,.10) !important;}
.hero-dots{gap:8px !important;}
.hero-dot{background:rgba(255,255,255,.35) !important;}
.hero-dot.active{background:#fff !important;}
/* Nos slides 02/03, preserve o visual clean já aprovado. */
.hero-slide-texas .hero-content,
.hero-slide-blim .hero-content{
  left:6vw !important;
}

.brand-card--logo{
  overflow:hidden;
}
.brand-card--logo img{
  display:block;
  width:78%;
  height:78%;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
.brand-card--dss{
  background:#121212;
  border-color:rgba(255,255,255,.12);
}
.brand-card--dss img{
  width:88%;
  height:88%;
  object-fit:contain;
}
.brand-card--dss:hover{
  background:#121212;
  border-color:rgba(200,168,107,.45);
}
.brand-card--zen{
  background:#ffffff;
  border-color:rgba(0,0,0,.12);
}
.brand-card--zen:hover{
  background:#ffffff;
  border-color:rgba(200,168,107,.45);
}

@media(max-width:900px){
  .site-header{height:68px !important;padding:0 18px !important;}
  .hero{min-height:620px !important;}
  .hero-slide-1 .hero-content{left:7vw !important;right:7vw !important;bottom:12vh !important;max-width:none !important;}
  .hero-slide-1 h1{font-size:clamp(38px,9vw,60px) !important;}
  .hero-slide-1 .hero-product-link-wrap{flex-wrap:wrap !important;gap:12px !important;}
  .hero-slide-1 .hero-signature{display:none !important;}
  .hero-controls{right:7vw !important;bottom:25px !important;}
}
@media(max-width:640px){
  .hero-slide-1 .hero-video-1{object-position:center center !important;}
  .hero-slide-1::after{
    background:
      linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.20)),
      linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.08) 62%,rgba(0,0,0,.12)) !important;
  }
  .hero-slide-1 .hero-content{bottom:13vh !important;}
  .hero-slide-1 .hero-luxury-copy{font-size:12px !important;}
  .hero-slide-1 .hero-product-name{font-size:8px !important;}
  .hero-controls{bottom:20px !important;}
}
@media(prefers-reduced-motion:reduce){
  .hero-slide{transition:none !important;}
  .hero-slide.is-active h1,
  .hero-slide.is-active .eyebrow,
  .hero-slide.is-active .btn{animation:none !important;}
}


/* HERO FINAL — refinamento tipográfico premium e leve */
.hero-slide-1 .hero-content{
  left:clamp(32px,7vw,112px)!important;
  bottom:clamp(58px,9vh,105px)!important;
  max-width:min(620px,46vw)!important;
}
.hero-slide-1 .hero-kicker{
  border:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  padding:0!important;
  gap:9px!important;
  margin-bottom:15px!important;
  color:rgba(255,255,255,.76)!important;
  font-size:8px!important;
  letter-spacing:.26em!important;
}
.hero-slide-1 .hero-kicker i{width:4px!important;height:4px!important;box-shadow:0 0 10px rgba(232,191,118,.65)!important;}
.hero-slide-1 .eyebrow{
  margin-bottom:11px!important;
  font-size:10px!important;
  letter-spacing:.24em!important;
  color:rgba(255,255,255,.62)!important;
}
.hero-slide-1 h1{
  max-width:610px!important;
  font-size:clamp(40px,5.1vw,76px)!important;
  line-height:.97!important;
  letter-spacing:-.052em!important;
  font-weight:600!important;
}
.hero-slide-1 .hero-luxury-copy{
  max-width:455px!important;
  margin-top:18px!important;
  font-size:clamp(12px,1vw,14px)!important;
  line-height:1.65!important;
  color:rgba(255,255,255,.70)!important;
}
.hero-slide-1 .hero-product-link-wrap{
  margin-top:23px!important;
  gap:16px!important;
}
.hero-slide-1 .hero-product-name{
  font-size:8px!important;
  letter-spacing:.18em!important;
  color:rgba(255,255,255,.60)!important;
}
.hero-slide-1 .hero-product-link{
  min-height:42px!important;
  padding:0 19px!important;
  border-radius:2px!important;
  font-size:9px!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.hero-slide-1 .hero-actions{margin-top:13px!important;}
.hero-slide-1 .hero-ghost-link{font-size:9px!important;letter-spacing:.15em!important;color:rgba(255,255,255,.70)!important;}
.hero-slide-1 .hero-signature{
  left:auto!important;right:0!important;bottom:-2px!important;
  margin-top:0!important;opacity:.62!important;
}
.hero-slide-1 .hero-signature small{font-size:7px!important;letter-spacing:.22em!important;}
.hero-slide-1 .hero-signature b{width:38px!important;}
.hero-slide-1 .hero-video-1{
  image-rendering:auto;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
@media(max-width:900px){
  .hero-slide-1 .hero-content{left:28px!important;bottom:76px!important;max-width:calc(100vw - 56px)!important;}
  .hero-slide-1 h1{font-size:clamp(36px,9vw,58px)!important;}
  .hero-slide-1 .hero-product-name{display:none!important;}
}
@media(prefers-reduced-motion:reduce){
  .hero-slide-1 .hero-video-1{animation:none!important;}
}

/* =========================================================
   HERO — AJUSTE FINAL DE TIPOGRAFIA E CONTROLES
   Regras finais para impedir overrides antigos do CSS.
   ========================================================= */
.hero-slide .hero-content{
  box-sizing:border-box!important;
  width:min(650px,calc(100vw - 14vw))!important;
  left:7vw!important;
  right:auto!important;
  top:auto!important;
  bottom:clamp(72px,10vh,112px)!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
}
.hero-slide .hero-kicker{
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  font-size:9px!important;
  line-height:1.2!important;
  letter-spacing:.22em!important;
  font-weight:500!important;
  white-space:nowrap!important;
}
.hero-slide .eyebrow{
  margin:0 0 10px!important;
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.25em!important;
  font-weight:500!important;
}
.hero-slide h1{
  width:auto!important;
  max-width:650px!important;
  margin:0!important;
  font-size:clamp(42px,4.7vw,72px)!important;
  line-height:.99!important;
  letter-spacing:-.045em!important;
  font-weight:600!important;
  text-wrap:balance!important;
}
.hero-slide .hero-luxury-copy{
  width:auto!important;
  max-width:500px!important;
  margin:17px 0 0!important;
  font-size:13px!important;
  line-height:1.65!important;
  letter-spacing:.005em!important;
  font-weight:400!important;
}
.hero-slide .hero-product-link-wrap{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  width:auto!important;
  margin:22px 0 0!important;
}
.hero-slide .hero-product-name{
  display:block!important;
  max-width:330px!important;
  font-size:8px!important;
  line-height:1.45!important;
  letter-spacing:.17em!important;
  font-weight:500!important;
}
.hero-slide .hero-product-link,
.hero-slide .hero-product-link.btn,
.hero-slide .btn-gold{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:132px!important;
  min-height:40px!important;
  height:40px!important;
  padding:0 18px!important;
  margin:0!important;
  border-radius:2px!important;
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.hero-slide .hero-actions{
  margin:13px 0 0!important;
  padding:0!important;
}
.hero-slide .hero-ghost-link{
  font-size:9px!important;
  line-height:1.4!important;
  letter-spacing:.16em!important;
}
.hero-slide .hero-signature{
  position:absolute!important;
  left:auto!important;
  right:0!important;
  bottom:-5px!important;
  margin:0!important;
  transform:none!important;
  opacity:.60!important;
}
.hero-slide .hero-signature span{font-size:10px!important;}
.hero-slide .hero-signature small{font-size:7px!important;letter-spacing:.20em!important;}
.hero-slide .hero-signature b{width:34px!important;}
.hero-controls{
  z-index:20!important;
  bottom:28px!important;
}

/* Slides 2 e 3: mesma hierarquia visual do primeiro, sem produto/fundo. */
.hero-slide-texas .hero-content,
.hero-slide-blim .hero-content{
  left:7vw!important;
  bottom:clamp(72px,10vh,112px)!important;
  max-width:650px!important;
}
.hero-slide-texas h1,
.hero-slide-blim h1{
  max-width:650px!important;
  font-size:clamp(42px,4.7vw,72px)!important;
}
.hero-slide-texas .hero-luxury-copy,
.hero-slide-blim .hero-luxury-copy{
  max-width:500px!important;
  font-size:13px!important;
}

@media(max-width:1100px){
  .hero-slide .hero-content{
    left:6vw!important;
    width:min(600px,calc(100vw - 12vw))!important;
    bottom:82px!important;
  }
  .hero-slide h1,
  .hero-slide-texas h1,
  .hero-slide-blim h1{
    font-size:clamp(40px,6vw,62px)!important;
  }
}
@media(max-width:650px){
  .hero-slide .hero-content,
  .hero-slide-texas .hero-content,
  .hero-slide-blim .hero-content{
    left:24px!important;
    right:24px!important;
    width:auto!important;
    max-width:none!important;
    bottom:86px!important;
  }
  .hero-slide .hero-kicker{
    margin-bottom:12px!important;
    font-size:7px!important;
    letter-spacing:.18em!important;
  }
  .hero-slide .eyebrow{
    margin-bottom:8px!important;
    font-size:8px!important;
  }
  .hero-slide h1,
  .hero-slide-texas h1,
  .hero-slide-blim h1{
    max-width:100%!important;
    font-size:clamp(34px,10.5vw,50px)!important;
    line-height:1.0!important;
    letter-spacing:-.042em!important;
  }
  .hero-slide .hero-luxury-copy,
  .hero-slide-texas .hero-luxury-copy,
  .hero-slide-blim .hero-luxury-copy{
    max-width:100%!important;
    margin-top:14px!important;
    font-size:11px!important;
    line-height:1.58!important;
  }
  .hero-slide .hero-product-link-wrap{
    margin-top:18px!important;
    gap:10px!important;
  }
  .hero-slide .hero-product-link{
    min-width:124px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 15px!important;
    font-size:8px!important;
  }
  .hero-slide .hero-actions{margin-top:10px!important;}
  .hero-slide .hero-ghost-link{font-size:8px!important;}
  .hero-slide .hero-signature{display:none!important;}
  .hero-controls{bottom:18px!important;}
}

/* HERO FINAL — posicionamento responsivo do conteúdo (PC + MOBILE)
   O conteúdo fica ancorado na parte inferior da viewport para não subir/desalinhar. */
.hero-slide-1 .hero-content,
.hero-slide-texas .hero-content,
.hero-slide-blim .hero-content{
  position:absolute !important;
  top:auto !important;
  bottom:clamp(112px, 13.5vh, 150px) !important;
  left:clamp(42px, 7.5vw, 120px) !important;
  right:auto !important;
  width:min(620px, 42vw) !important;
  max-width:620px !important;
  transform:none !important;
  z-index:4 !important;
}
.hero-slide-1 .hero-content > *,
.hero-slide-texas .hero-content > *,
.hero-slide-blim .hero-content > *{
  position:relative;
}
.hero-slide-1 h1,
.hero-slide-texas h1,
.hero-slide-blim h1{
  max-width:620px !important;
  margin:0 !important;
  line-height:.98 !important;
}
.hero-slide-1 .hero-luxury-copy,
.hero-slide-texas .hero-luxury-copy,
.hero-slide-blim .hero-luxury-copy{
  max-width:500px !important;
  margin:16px 0 0 !important;
  line-height:1.55 !important;
}
.hero-slide-1 .hero-product-link-wrap,
.hero-slide-texas .hero-product-link-wrap,
.hero-slide-blim .hero-product-link-wrap{
  margin-top:20px !important;
}
.hero-slide-1 .hero-actions,
.hero-slide-texas .hero-actions,
.hero-slide-blim .hero-actions{
  margin-top:12px !important;
}
.hero-slide-1 .hero-signature,
.hero-slide-texas .hero-signature,
.hero-slide-blim .hero-signature{
  bottom:-30px !important;
}

/* Desktop largo: mantém o bloco confortável e visualmente equilibrado. */
@media(min-width:1400px){
  .hero-slide-1 .hero-content,
  .hero-slide-texas .hero-content,
  .hero-slide-blim .hero-content{
    bottom:clamp(120px,14vh,165px) !important;
    width:620px !important;
  }
}

/* Notebook/tablet */
@media(min-width:651px) and (max-width:1100px){
  .hero-slide-1 .hero-content,
  .hero-slide-texas .hero-content,
  .hero-slide-blim .hero-content{
    left:6vw !important;
    bottom:105px !important;
    width:min(590px,58vw) !important;
    max-width:590px !important;
  }
  .hero-slide-1 h1,
  .hero-slide-texas h1,
  .hero-slide-blim h1{
    font-size:clamp(38px,5.4vw,58px) !important;
  }
}

/* MOBILE — bloco realmente baixo, mas acima dos controles do Hero. */
@media(max-width:650px){
  .hero-slide-1 .hero-content,
  .hero-slide-texas .hero-content,
  .hero-slide-blim .hero-content{
    top:auto !important;
    bottom:clamp(82px, 11vh, 105px) !important;
    left:22px !important;
    right:22px !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
  }
  .hero-slide-1 .hero-kicker,
  .hero-slide-texas .hero-kicker,
  .hero-slide-blim .hero-kicker{
    margin-bottom:9px !important;
  }
  .hero-slide-1 .eyebrow,
  .hero-slide-texas .eyebrow,
  .hero-slide-blim .eyebrow{
    margin-bottom:8px !important;
  }
  .hero-slide-1 h1,
  .hero-slide-texas h1,
  .hero-slide-blim h1{
    font-size:clamp(31px,9.4vw,44px) !important;
    line-height:1.01 !important;
    max-width:100% !important;
  }
  .hero-slide-1 .hero-luxury-copy,
  .hero-slide-texas .hero-luxury-copy,
  .hero-slide-blim .hero-luxury-copy{
    margin-top:12px !important;
    max-width:100% !important;
    font-size:11px !important;
    line-height:1.48 !important;
  }
  .hero-slide-1 .hero-product-link-wrap,
  .hero-slide-texas .hero-product-link-wrap,
  .hero-slide-blim .hero-product-link-wrap{
    margin-top:15px !important;
  }
  .hero-slide-1 .hero-actions,
  .hero-slide-texas .hero-actions,
  .hero-slide-blim .hero-actions{
    margin-top:9px !important;
  }
  .hero-slide-1 .hero-signature,
  .hero-slide-texas .hero-signature,
  .hero-slide-blim .hero-signature{
    display:none !important;
  }
  .hero-controls{
    bottom:18px !important;
  }
}

/* Celulares muito pequenos */
@media(max-width:380px){
  .hero-slide-1 .hero-content,
  .hero-slide-texas .hero-content,
  .hero-slide-blim .hero-content{
    left:18px !important;
    right:18px !important;
    bottom:76px !important;
  }
  .hero-slide-1 h1,
  .hero-slide-texas h1,
  .hero-slide-blim h1{
    font-size:30px !important;
  }
  .hero-slide-1 .hero-luxury-copy,
  .hero-slide-texas .hero-luxury-copy,
  .hero-slide-blim .hero-luxury-copy{
    font-size:10px !important;
  }
}

/* HERO FINAL POLISH — Paris identification aligned with circular signature / premium CTA */
.hero-slide-1 .hero-product-link-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
}
.hero-slide-1 .hero-product-name{
  box-sizing:border-box !important;
  min-height:38px !important;
  height:38px !important;
  padding:0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
  white-space:nowrap !important;
  transform:translateY(0) !important;
}
.hero-slide-1 .hero-product-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  border:1px solid rgba(235,198,132,.72) !important;
  background:linear-gradient(135deg,rgba(235,198,132,.98),rgba(199,155,82,.96)) !important;
  color:#17110a !important;
  box-shadow:0 10px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.3) !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  transition:transform .35s ease,box-shadow .35s ease,filter .35s ease !important;
}
.hero-slide-1 .hero-product-link:hover{
  transform:translateY(-2px) !important;
  filter:brightness(1.06) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 0 4px rgba(235,198,132,.10),inset 0 1px 0 rgba(255,255,255,.38) !important;
}
.hero-slide-1 .hero-product-link::after{
  content:'→';
  margin-left:10px;
  font-size:13px;
  line-height:1;
  transition:transform .35s ease;
}
.hero-slide-1 .hero-product-link:hover::after{ transform:translateX(3px); }

/* Keep Paris identification optically centered against its circular 01/signature axis */
.hero-slide-1 .hero-signature{
  align-items:center !important;
}
.hero-slide-1 .hero-signature small{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
  transform:translateY(0) !important;
}

@media(max-width:650px){
  .hero-slide-1 .hero-product-link-wrap{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
  }
  .hero-slide-1 .hero-product-name{
    width:auto !important;
    max-width:100% !important;
    min-height:34px !important;
    height:34px !important;
    padding:0 13px !important;
    font-size:7.5px !important;
    letter-spacing:.11em !important;
  }
  .hero-slide-1 .hero-product-link{
    min-height:40px !important;
    padding:0 19px !important;
    font-size:9px !important;
  }
}
@media(min-width:651px){
  .hero-slide-1 .hero-product-link-wrap{
    align-items:center !important;
  }
}


/* HERO 02 — vídeo full-bleed, mesma arquitetura premium do HERO 01. */
.hero-slide-texas{
  background:#050505 !important;
  isolation:isolate;
}
.hero-slide-texas .hero-video-2{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:#050505 !important;
  opacity:1 !important;
  filter:none !important;
  transform:translate3d(0,0,0) !important;
  contain:paint !important;
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
  pointer-events:none !important;
}
.hero-slide-texas::before{display:none !important;content:none !important;}
.hero-slide-texas::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.30) 38%,rgba(0,0,0,.04) 72%,rgba(0,0,0,.10) 100%),
    linear-gradient(0deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.05) 44%,rgba(0,0,0,.08) 100%) !important;
}
.hero-slide-texas .hero-content{z-index:4 !important;}
.hero-slide-texas .hero-video-2::-webkit-media-controls{display:none !important;}
.hero-slide-texas .hero-video-2::-webkit-media-controls-enclosure{display:none !important;}
@media(max-width:900px){
  .hero-slide-texas .hero-video-2{object-position:center center !important;}
}
@media(max-width:640px){
  .hero-slide-texas::after{
    background:
      linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.18)),
      linear-gradient(0deg,rgba(0,0,0,.74),rgba(0,0,0,.08) 62%,rgba(0,0,0,.12)) !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-slide-texas .hero-video-2{animation:none !important;}
}

/* HERO 03 — Blim-Blim: mesma experiência cinematográfica do Paris. */
.hero-slide-blim{
  background:#050505 !important;
  isolation:isolate;
}
.hero-slide-blim .hero-video-3{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:#050505 !important;
  opacity:1 !important;
  filter:none !important;
  transform:translate3d(0,0,0) !important;
  contain:paint !important;
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
  pointer-events:none !important;
}
.hero-slide-blim::before{display:none !important;content:none !important;}
.hero-slide-blim::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.30) 38%,rgba(0,0,0,.04) 72%,rgba(0,0,0,.10) 100%),
    linear-gradient(0deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.05) 44%,rgba(0,0,0,.08) 100%) !important;
}
.hero-slide-blim .hero-content{z-index:4 !important;}
.hero-slide-blim .hero-video-3::-webkit-media-controls,
.hero-slide-blim .hero-video-3::-webkit-media-controls-enclosure{display:none !important;}
.hero-slide-texas::after{transition:opacity .18s ease !important;}
.hero-slide-texas.is-video-restarting::after{opacity:.88 !important;}
.hero-slide-texas.is-video-restarting .hero-video-2{opacity:.18 !important;transition:opacity .12s ease !important;}
@media(max-width:640px){
  .hero-slide-blim::after{
    background:
      linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.18)),
      linear-gradient(0deg,rgba(0,0,0,.74),rgba(0,0,0,.08) 62%,rgba(0,0,0,.12)) !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-slide-blim .hero-video-3{animation:none !important;}
}

/* =========================================================
   HERO — BOTÕES PADRÃO ÚNICO NOS 3 SLIDES
   ========================================================= */
.hero-slide .hero-product-link,
.hero-slide .hero-product-link.btn,
.hero-slide .btn-gold{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:148px!important;
  min-width:148px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 22px!important;
  margin:0!important;
  border:1px solid rgba(226,190,124,.72)!important;
  border-radius:3px!important;
  background:rgba(184,145,76,.92)!important;
  color:#111!important;
  font-family:inherit!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  box-shadow:0 8px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16)!important;
  transition:background-color .28s ease, border-color .28s ease, transform .28s ease, box-shadow .28s ease!important;
}
.hero-slide .hero-product-link:hover,
.hero-slide .hero-product-link.btn:hover,
.hero-slide .btn-gold:hover{
  background:rgba(215,177,105,.98)!important;
  border-color:rgba(245,216,165,.9)!important;
  color:#0c0c0c!important;
  transform:translateY(-2px)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.2)!important;
}
.hero-slide .hero-product-link:active,
.hero-slide .btn-gold:active{transform:translateY(0)!important;}
.hero-slide .hero-product-link:focus-visible,
.hero-slide .btn-gold:focus-visible{outline:2px solid rgba(245,216,165,.95)!important;outline-offset:4px!important;}

/* O link secundário também segue o mesmo padrão entre os slides. */
.hero-slide .hero-ghost-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:24px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:.16em!important;
  color:rgba(255,255,255,.82)!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  transition:color .25s ease, opacity .25s ease, transform .25s ease!important;
}
.hero-slide .hero-ghost-link span{font-size:13px!important;line-height:1!important;transition:transform .25s ease!important;}
.hero-slide .hero-ghost-link:hover{color:#fff!important;transform:translateX(2px)!important;}
.hero-slide .hero-ghost-link:hover span{transform:translate(2px,-2px)!important;}

@media(max-width:650px){
  .hero-slide .hero-product-link,
  .hero-slide .hero-product-link.btn,
  .hero-slide .btn-gold{
    width:136px!important;
    min-width:136px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 16px!important;
    font-size:8px!important;
    letter-spacing:.14em!important;
  }
  .hero-slide .hero-ghost-link{font-size:8px!important;letter-spacing:.14em!important;}
}


/* =========================================================
   PRODUCT CARDS — EDITORIAL LUXURY / REFERENCE LAYOUT
   Somente apresentação dos cards. Conteúdo e imagens permanecem intactos.
   ========================================================= */

#productGrid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:stretch !important;
}

#productGrid .product-card{
  position:relative !important;
  display:grid !important;
  grid-template-rows:minmax(0,2.05fr) minmax(170px,1fr) !important;
  height:clamp(520px, 38vw, 610px) !important;
  min-height:520px !important;
  border:1px solid rgba(255,255,255,.105) !important;
  border-radius:7px !important;
  overflow:hidden !important;
  background:#202326 !important;
  box-shadow:0 18px 50px rgba(0,0,0,.18) !important;
  isolation:isolate !important;
  transform:translateZ(0);
  transition:
    transform .58s cubic-bezier(.2,.65,.2,1),
    border-color .58s ease,
    box-shadow .58s ease !important;
}

#productGrid .product-card:hover{
  transform:translateY(-6px) !important;
  border-color:rgba(210,175,105,.42) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 0 1px rgba(210,175,105,.05) !important;
}

/* Fotografia: ocupa aproximadamente 2/3 do card. */
#productGrid .product-card .card-media{
  position:relative !important;
  height:auto !important;
  min-height:0 !important;
  width:100% !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.055),transparent 58%),
    #17191b !important;
  border:0 !important;
  isolation:isolate !important;
}

/* Atmosfera: usa a MESMA foto do produto como fundo ambiental,
   sem alterar a imagem principal. */
#productGrid .product-card .card-media::before{
  content:"" !important;
  position:absolute !important;
  inset:-18px !important;
  z-index:0 !important;
  background-image:var(--card-photo) !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  filter:blur(18px) saturate(.78) !important;
  opacity:.30 !important;
  transform:scale(1.08) !important;
  transition:transform .7s cubic-bezier(.2,.65,.2,1),opacity .7s ease !important;
  pointer-events:none !important;
}

#productGrid .product-card:hover .card-media::before{
  transform:scale(1.12) !important;
  opacity:.38 !important;
}

/* A fotografia original permanece intacta e sem filtro. */
#productGrid .product-card .card-media img{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:transform .68s cubic-bezier(.2,.65,.2,1) !important;
}

#productGrid .product-card:hover .card-media img{
  transform:scale(1.03) !important;
}

/* Proteção para imagens muito verticais: preserva a foto inteira. */
#productGrid .product-card .card-media.card-media--portrait img{
  object-fit:contain !important;
  width:100% !important;
  height:100% !important;
}

#productGrid .product-card .card-media.card-media--portrait::before{
  opacity:.36 !important;
}

/* Linha fina separando fotografia e informação. */
#productGrid .product-card .card-body{
  position:relative !important;
  z-index:2 !important;
  min-height:0 !important;
  height:auto !important;
  box-sizing:border-box !important;
  padding:24px 27px 21px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  background:
    linear-gradient(135deg,#292c2f 0%,#222528 52%,#1d2022 100%) !important;
  border-top:1px solid rgba(255,255,255,.085) !important;
}

#productGrid .product-card .card-brand{
  margin:0 0 10px !important;
  min-height:11px !important;
  color:#d6b36d !important;
  font-size:8px !important;
  font-weight:700 !important;
  letter-spacing:.25em !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
}

#productGrid .product-card .card-title{
  margin:0 0 9px !important;
  max-width:92% !important;
  color:#f3f1ec !important;
  font-family:Manrope,Inter,sans-serif !important;
  font-size:clamp(16px,1.25vw,20px) !important;
  font-weight:500 !important;
  line-height:1.18 !important;
  letter-spacing:-.018em !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}

#productGrid .product-card .card-desc{
  margin:0 !important;
  max-width:94% !important;
  color:rgba(231,229,224,.62) !important;
  font-size:10.5px !important;
  line-height:1.55 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}

/* Pequeno CTA editorial criado apenas visualmente; o card continua
   usando a mesma navegação/click existente. */
#productGrid .product-card .card-body::after{
  content:"VER DETALHES   →" !important;
  margin-top:auto !important;
  padding-top:18px !important;
  color:#f0ede5 !important;
  font-size:8px !important;
  font-weight:700 !important;
  letter-spacing:.19em !important;
  line-height:1 !important;
  white-space:pre !important;
  border-top:1px solid rgba(213,178,108,.62) !important;
  width:78px !important;
  transition:width .55s cubic-bezier(.2,.65,.2,1),color .4s ease !important;
}

#productGrid .product-card:hover .card-body::after{
  width:148px !important;
  color:#e0bf79 !important;
}

/* Botão + no canto superior direito, como na referência. */
#productGrid .product-card .card-arrow{
  position:absolute !important;
  z-index:4 !important;
  top:17px !important;
  right:17px !important;
  bottom:auto !important;
  left:auto !important;
  width:31px !important;
  height:31px !important;
  min-width:31px !important;
  min-height:31px !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  box-sizing:border-box !important;
  border:1px solid rgba(232,202,142,.78) !important;
  border-radius:50% !important;
  background:rgba(11,12,13,.36) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  color:transparent !important;
  font-size:0 !important;
  pointer-events:none !important;
  transition:transform .5s cubic-bezier(.2,.65,.2,1),background-color .4s ease,border-color .4s ease !important;
}

#productGrid .product-card .card-arrow::before,
#productGrid .product-card .card-arrow::after{
  content:"" !important;
  position:absolute !important;
  width:10px !important;
  height:1px !important;
  background:#f0d59c !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
}
#productGrid .product-card .card-arrow::after{
  transform:translate(-50%,-50%) rotate(90deg) !important;
}
#productGrid .product-card:hover .card-arrow{
  transform:rotate(90deg) scale(1.06) !important;
  background:rgba(199,157,82,.14) !important;
  border-color:rgba(235,205,145,.95) !important;
}

/* Acento quase imperceptível no encontro entre foto e texto. */
#productGrid .product-card::after{
  content:"" !important;
  position:absolute !important;
  z-index:3 !important;
  left:0 !important;
  right:0 !important;
  top:calc(100% - 34.5%) !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,rgba(216,181,109,.26),transparent) !important;
  pointer-events:none !important;
}

@media(max-width:1100px){
  #productGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px !important;
  }
  #productGrid .product-card{
    height:clamp(500px,60vw,580px) !important;
  }
}

@media(max-width:650px){
  #productGrid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  #productGrid .product-card{
    height:520px !important;
    min-height:520px !important;
    grid-template-rows:minmax(0,2.03fr) minmax(165px,1fr) !important;
    border-radius:6px !important;
  }
  #productGrid .product-card .card-body{
    padding:21px 21px 19px !important;
  }
  #productGrid .product-card .card-title{
    font-size:18px !important;
  }
  #productGrid .product-card .card-desc{
    font-size:10.5px !important;
  }
  #productGrid .product-card .card-arrow{
    top:14px !important;
    right:14px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  #productGrid .product-card,
  #productGrid .product-card .card-media img,
  #productGrid .product-card .card-media::before,
  #productGrid .product-card .card-arrow,
  #productGrid .product-card .card-body::after{
    transition:none !important;
  }
}

/* CARD FULL-BLEED — fotografia ocupando todo o card, com informações em overlay */
#productGrid .product-card{
  display:block !important;
  height:clamp(520px,38vw,610px) !important;
  min-height:520px !important;
  position:relative !important;
  overflow:hidden !important;
  background:#151719 !important;
}

#productGrid .product-card .card-media{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  padding:0 !important;
  margin:0 !important;
  display:block !important;
  background:#151719 !important;
  z-index:0 !important;
}

#productGrid .product-card .card-media::before{
  inset:-2% !important;
  filter:blur(16px) saturate(.82) !important;
  opacity:.22 !important;
  transform:scale(1.04) !important;
}

#productGrid .product-card .card-media img,
#productGrid .product-card .card-media.card-media--portrait img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  min-width:100% !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.001) !important;
  filter:none !important;
  opacity:1 !important;
  z-index:1 !important;
  transition:transform .68s cubic-bezier(.2,.65,.2,1) !important;
}

#productGrid .product-card:hover .card-media img,
#productGrid .product-card:hover .card-media.card-media--portrait img{
  transform:scale(1.03) !important;
}

/* Véu apenas na parte inferior para garantir leitura, sem esconder a fotografia. */
#productGrid .product-card .card-body{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:3 !important;
  min-height:0 !important;
  height:auto !important;
  box-sizing:border-box !important;
  padding:42px 27px 24px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  background:linear-gradient(to bottom,rgba(12,14,16,0) 0%,rgba(12,14,16,.42) 22%,rgba(12,14,16,.92) 72%,rgba(12,14,16,.97) 100%) !important;
  border-top:0 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#productGrid .product-card .card-brand,
#productGrid .product-card .card-title,
#productGrid .product-card .card-desc,
#productGrid .product-card .card-body::after{
  position:relative !important;
  z-index:1 !important;
}

#productGrid .product-card::after{
  top:auto !important;
  bottom:0 !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,rgba(216,181,109,.34),transparent) !important;
}

@media(max-width:1100px){
  #productGrid .product-card{height:clamp(500px,60vw,580px) !important;}
}

@media(max-width:650px){
  #productGrid .product-card{
    height:520px !important;
    min-height:520px !important;
  }
  #productGrid .product-card .card-body{
    padding:38px 21px 20px !important;
  }
}

/* =========================================================
   FUNDO GLOBAL — IMAGEM FORNECIDA PELO USUÁRIO
   Fica atrás de toda a interface, fixa durante o scroll.
   ========================================================= */
html, body {
  background: transparent !important;
}

body {
  position: relative;
  min-height: 100vh;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url('../Todas as Imagens/Fundos e Ambientes/fundo-global-designer.webp');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(.72) brightness(.62);
  transform: scale(1.015);
}

/* Véu escuro extremamente sutil para manter o fundo sofisticado e
   garantir contraste sem esconder a fotografia. */
body::before {
  display: block !important;
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(5,6,7,.30) 0%, rgba(8,9,10,.18) 42%, rgba(5,6,7,.42) 100%),
    linear-gradient(90deg, rgba(5,6,7,.22), transparent 38%, rgba(5,6,7,.22));
  filter: none !important;
  transform: none !important;
  mask-image: none !important;
}

/* O conteúdo continua acima do fundo global. */
.site-header,
main,
footer {
  position: relative;
  z-index: 2;
}

/* As áreas gerais deixam a fotografia respirar. Os cards individuais
   continuam com seus próprios fundos para preservar a leitura. */
.categories-section,
.catalog-section,
.quality-section,
.quote-section,
.about-section {
  background: rgba(8,10,12,.18) !important;
}

.human-service-section {
  background: rgba(8,10,12,.30) !important;
}

footer {
  background: rgba(8,9,10,.72) !important;
}

/* Remove o antigo carrossel de fundos para que a imagem enviada seja
   a única fotografia global do site. */
.ambient-motion,
.ambient-background-carousel,
.ambient-background-overlay,
.ambient-fog,
.ambient-light,
.human-service-bg,
.human-service-overlay {
  display: none !important;
}

@media (max-width: 800px) {
  body::after {
    background-position: center center;
    filter: saturate(.68) brightness(.58);
  }
}

/* ===== CARDS DE PRODUTOS — 4 POR LINHA / COMPACTOS ===== */
@media(min-width:951px){
  .product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
  }
  .product-card{
    min-height:350px;
    border-radius:16px;
  }
  .card-media{
    height:255px;
    padding:10px 14px;
  }
  .card-body{
    padding:12px 14px 15px;
  }
  .card-brand{
    font-size:7px;
    margin-bottom:6px;
  }
}

/* =========================================================
   AJUSTE FINAL — TODOS OS PRODUTOS
   4 cards por linha no desktop + cards compactos + imagem inteira
   ========================================================= */
#productGrid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}

#productGrid .product-card{
  height:390px !important;
  min-height:390px !important;
  border-radius:8px !important;
}

#productGrid .product-card .card-media{
  height:100% !important;
  min-height:100% !important;
}

/* Mostra a imagem completa, sem cortar produto nenhum. */
#productGrid .product-card .card-media img,
#productGrid .product-card .card-media.card-media--portrait img{
  object-fit:contain !important;
  object-position:center center !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:100% !important;
  max-height:100% !important;
  padding:0 !important;
  margin:0 !important;
  transform:none !important;
}

#productGrid .product-card:hover .card-media img,
#productGrid .product-card:hover .card-media.card-media--portrait img{
  transform:scale(1.02) !important;
}

/* Área de informações mais compacta. */
#productGrid .product-card .card-body{
  padding:30px 18px 15px !important;
}

#productGrid .product-card .card-brand{
  margin-bottom:5px !important;
  font-size:7px !important;
}

#productGrid .product-card .card-title{
  margin-bottom:5px !important;
  font-size:clamp(13px,1vw,16px) !important;
  line-height:1.18 !important;
}

#productGrid .product-card .card-desc{
  font-size:9px !important;
  line-height:1.4 !important;
}

#productGrid .product-card .card-body::after{
  padding-top:10px !important;
  margin-top:8px !important;
  font-size:7px !important;
  width:70px !important;
}

#productGrid .product-card .card-arrow{
  top:12px !important;
  right:12px !important;
  width:27px !important;
  height:27px !important;
  min-width:27px !important;
  min-height:27px !important;
}

@media(max-width:1100px){
  #productGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  #productGrid .product-card{
    height:390px !important;
    min-height:390px !important;
  }
}

@media(max-width:650px){
  #productGrid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  #productGrid .product-card{
    height:410px !important;
    min-height:410px !important;
  }
  #productGrid .product-card .card-body{
    padding:32px 17px 14px !important;
  }
}


/* === PRODUCT CARDS — VERTICAL RECTANGULAR PROPORTION === */
#productGrid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}

#productGrid .product-card{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  aspect-ratio: 3 / 4 !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  border-radius:16px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  isolation:isolate !important;
}

/* Uniform image canvas, top aligned */
#productGrid .product-card .product-image,
#productGrid .product-card .product-image-wrap,
#productGrid .product-card .image-container,
#productGrid .product-card .card-image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  background:transparent !important;
  z-index:-2 !important;
}

#productGrid .product-card img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center top !important;
  z-index:-2 !important;
}

/* Gradient restricted to bottom portion */
#productGrid .product-card::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:38% !important;
  pointer-events:none !important;
  z-index:-1 !important;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.10) 22%,
    rgba(0,0,0,.48) 62%,
    rgba(0,0,0,.88) 100%
  ) !important;
}

#productGrid .product-card .product-info,
#productGrid .product-card .card-content,
#productGrid .product-card .product-details,
#productGrid .product-card .info,
#productGrid .product-card .content{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  margin-top:auto !important;
  padding:54px 16px 17px !important;
  background:transparent !important;
  color:#fff !important;
}

@media (max-width:1100px){
  #productGrid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:800px){
  #productGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:15px !important;}
}
@media (max-width:520px){
  #productGrid{grid-template-columns:1fr !important;}
}


/* === FINAL PRODUCT CARD ALIGNMENT — IMAGE FLUSH TO TOP === */
#productGrid .product-card{
  position:relative !important;
  overflow:hidden !important;
  aspect-ratio:3 / 4 !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
}

/* Remove any internal top spacing from the image area. */
#productGrid .product-card .product-image,
#productGrid .product-card .product-image-wrap,
#productGrid .product-card .image-container,
#productGrid .product-card .card-image{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
}

/* Product itself starts at the absolute top edge of the card. */
#productGrid .product-card img{
  display:block !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center top !important;
}

/* Bottom gradient follows the image, without darkening the top. */
#productGrid .product-card::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:40% !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.08) 18%,
    rgba(0,0,0,.48) 58%,
    rgba(0,0,0,.88) 100%
  ) !important;
}

#productGrid .product-card .product-info,
#productGrid .product-card .card-content,
#productGrid .product-card .product-details,
#productGrid .product-card .info,
#productGrid .product-card .content{
  position:relative !important;
  z-index:2 !important;
  margin-top:auto !important;
  padding:58px 16px 16px !important;
  background:transparent !important;
}


/* FINAL OVERRIDE: PRODUCT IMAGES FLUSH TO THE TOP OF EVERY CARD */
#productGrid .product-card {
  position: relative !important;
  overflow: hidden !important;
  padding-top: 0 !important;
}
#productGrid .product-card > .product-image,
#productGrid .product-card > .product-image-wrap,
#productGrid .product-card > .image-container,
#productGrid .product-card > .card-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
  transform: none !important;
  align-items: flex-start !important;
  justify-content: center !important;
}
#productGrid .product-card > .product-image img,
#productGrid .product-card > .product-image-wrap img,
#productGrid .product-card > .image-container img,
#productGrid .product-card > .card-image img,
#productGrid .product-card > img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center top !important;
  transform: none !important;
}
/* If the site wraps the image in an extra element, eliminate its top gap too. */
#productGrid .product-card .product-image > *,
#productGrid .product-card .product-image-wrap > *,
#productGrid .product-card .image-container > *,
#productGrid .product-card .card-image > * {
  margin-top: 0 !important;
  padding-top: 0 !important;
  transform: none !important;
}

/* DEFINITIVE TOP-ALIGNED PRODUCT ARTWORK
   Product photos start exactly at the top edge of their own card.
   Empty space below is intentional and allowed. */
#productGrid .product-card {
  position:relative !important;
  overflow:hidden !important;
}
#productGrid .product-card .card-media {
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  overflow:hidden !important;
  z-index:0 !important;
}
#productGrid .product-card .card-media img,
#productGrid .product-card .card-media.card-media--portrait img {
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;
  bottom:auto !important;
  inset:auto !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center top !important;
  transform:none !important;
}
#productGrid .product-card .card-media::before,
#productGrid .product-card .card-media::after {
  pointer-events:none !important;
}


/* =========================================================
   MARCA D'ÁGUA — LOGO NO FUNDO GLOBAL
   Logo clara, discreta e translúcida, sem interferir na interface.
   ========================================================= */
body > .site-watermark {
  position: fixed !important;
  left: 50% !important;
  top: 52% !important;
  width: min(38vw, 520px) !important;
  height: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
  user-select: none !important;
  opacity: .075 !important;
  mix-blend-mode: screen !important;
  filter: brightness(0) invert(1) !important;
}

body > .site-watermark img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 800px) {
  body > .site-watermark {
    width: min(52vw, 360px) !important;
    opacity: .065 !important;
  }
}

@media (max-width: 520px) {
  body > .site-watermark {
    width: min(62vw, 300px) !important;
    opacity: .055 !important;
  }
}

/* =========================================================
   HEADER FIXO — TRANSPARENTE NO HERO / PRETO TRANSLÚCIDO AO ROLAR
   ========================================================= */
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 82px !important;
  z-index: 1000 !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: background .35s ease, border-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease !important;
}

.site-header.scrolled {
  background: rgba(5, 6, 7, .72) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 10px 35px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(18px) saturate(115%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(115%) !important;
}

/* Não deixar regras posteriores transformar o header em elemento relativo. */
.site-header,
.site-header.scrolled {
  transform: none !important;
}

@media (max-width: 800px) {
  .site-header {
    height: 72px !important;
    padding: 0 18px !important;
  }
  .brand { min-width: auto; gap: 8px; }
  .brand-logo, .brand-logo img { width: 40px !important; height: 44px !important; flex-basis: 40px; }
}


/* =========================================================
   AJUSTE FINAL DO MENU — HERO TRANSPARENTE / SCROLL QUASE TRANSPARENTE
   ========================================================= */
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  background: rgba(0,0,0,0) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: background .35s ease, border-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease !important;
}
.site-header.scrolled {
  background: rgba(5,6,7,.28) !important;
  border-bottom-color: rgba(255,255,255,.055) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.10) !important;
  backdrop-filter: blur(12px) saturate(110%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(110%) !important;
}

/* =========================================================
   GRADIENTE INFERIOR UNIVERSAL — TODOS OS CARDS DE PRODUTOS
   Garante que toda imagem tenha o mesmo degradê na área inferior,
   independentemente do tamanho, proporção ou conteúdo da fotografia.
   ========================================================= */
#productGrid .product-card .card-media::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  height: 42% !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  z-index: 2 !important;
  display: block !important;
  background: linear-gradient(
    to bottom,
    rgba(8,10,12,0) 0%,
    rgba(8,10,12,.06) 16%,
    rgba(8,10,12,.34) 38%,
    rgba(8,10,12,.72) 68%,
    rgba(8,10,12,.94) 100%
  ) !important;
}

/* A foto permanece acima do fundo e abaixo do degradê/texto. */
#productGrid .product-card .card-media img,
#productGrid .product-card .card-media.card-media--portrait img {
  z-index: 1 !important;
}

/* O conteúdo continua acima do degradê. */
#productGrid .product-card .card-body {
  z-index: 3 !important;
}


/* Remove the decorative + / arrow from product cards */
#productGrid .product-card .card-arrow { display:none !important; }

/* === Coleção / Categorias — cards verticais, retos e clean === */
#categorias .category-track {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

#categorias .category-card {
  min-height: 430px;
  aspect-ratio: 4 / 5;
  padding: 26px;
  border-radius: 0 !important;
  overflow: hidden;
  transform:none;
  transition: border-color .35s ease, box-shadow .35s ease;
}

#categorias .category-card:hover {
  transform: translateY(-4px);
}

#categorias .category-bg img {
  inset: 0;
  width: 100%;
  height: 100%;
  transform: scale(1.035);
  filter: blur(1.2px) saturate(1) brightness(.92);
}

#categorias .category-bg img.is-active {
  transform: scale(1.015);
}

#categorias .category-card:hover .category-bg img.is-active {
  transform: scale(1.035);
}

#categorias .category-card h3 {
  font-size: 21px;
  line-height: 1.08;
  margin-bottom: 9px;
}

#categorias .category-card p {
  max-width: 27ch;
  margin-bottom: 17px;
}

@media (max-width:1200px) {
  #categorias .category-track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
  #categorias .category-card {
    min-height: 410px;
  }
}

@media (max-width:900px) {
  #categorias .category-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  #categorias .category-card {
    min-height: 390px;
  }
}

@media (max-width:650px) {
  #categorias .category-track {
    grid-template-columns: 1fr;
  }
  #categorias .category-card {
    min-height: 430px;
    aspect-ratio: 4 / 5;
  }
}

/* === Ajuste tipográfico dos nomes das categorias ===
   Mantém cada título dentro do próprio card, sem sobrepor
   descrição, link ou outros elementos. */
#categorias .category-card h3 {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  margin: 0 0 10px;
  font-size: clamp(16px, 1.55vw, 21px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  display: flex;
  align-items: flex-end;
}

#categorias .category-card p,
#categorias .category-card a {
  width: 100%;
  max-width: 100%;
}

@media (max-width:1200px) {
  #categorias .category-card h3 {
    font-size: clamp(17px, 2.1vw, 21px);
  }
}

@media (max-width:650px) {
  #categorias .category-card h3 {
    font-size: 20px;
    min-height: 46px;
  }
}


/* === Ajuste final: títulos e textos sempre contidos no próprio card === */
#categorias .category-card {
  box-sizing: border-box;
}
#categorias .category-card h3,
#categorias .category-card p,
#categorias .category-card a {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
#categorias .category-card h3 {
  font-size: clamp(16px, 1.25vw, 18px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.018em !important;
  min-height: 0 !important;
  margin: 0 0 9px !important;
}
#categorias .category-card p {
  font-size: 10px !important;
  line-height: 1.45 !important;
  margin: 0 0 14px !important;
}
#categorias .category-card a {
  font-size: 10px !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}
@media (min-width:1201px) {
  #categorias .category-card h3 { font-size: 17px !important; }
}
@media (max-width:650px) {
  #categorias .category-card h3 { font-size: 18px !important; }
}

/* === CORREÇÃO DEFINITIVA: NADA SAI DOS CARDS DE CATEGORIAS === */
#categorias .category-track {
  min-width: 0;
  overflow: hidden;
}

#categorias .category-card {
  position: relative !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  isolation: isolate;
  contain: paint;
}

#categorias .category-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
  clip-path: inset(0) !important;
  border-radius: inherit;
}

#categorias .category-bg img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  object-fit: cover !important;
  pointer-events: none !important;
}

#categorias .category-bg-overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}

#categorias .category-card > .category-number,
#categorias .category-card > h3,
#categorias .category-card > p,
#categorias .category-card > a {
  position: relative !important;
  z-index: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere !important;
}

#categorias .category-card > h3,
#categorias .category-card > p,
#categorias .category-card > a {
  overflow: hidden !important;
}

#categorias .category-card > h3 {
  text-overflow: clip !important;
}

#categorias .category-card > p,
#categorias .category-card > a {
  white-space: normal !important;
}

/* =========================================================
   PUXADORES — REFINO VISUAL / CARROSSÉIS
   ========================================================= */
#handlesSubcategories .handles-type-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-flow:initial !important;
  gap:18px !important;
}
#handlesSubcategories .handles-type-card{
  position:relative;
  min-height:290px !important;
  height:290px !important;
  max-height:290px !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:#111315 !important;
  text-align:left !important;
  isolation:isolate;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease !important;
}
#handlesSubcategories .handles-type-card:hover,
#handlesSubcategories .handles-type-card.active{
  transform:translateY(-4px) !important;
  border-color:rgba(200,168,107,.48) !important;
  box-shadow:0 24px 55px rgba(0,0,0,.28) !important;
}
.handles-type-carousel{
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  background:#151719;
}
.handles-type-carousel-track{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.handles-type-carousel-track img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  padding:0;
  opacity:0;
  transform:scale(1.015);
  will-change:opacity,transform;
  transition:opacity 1.25s cubic-bezier(.22,.61,.36,1),transform 4.2s ease;
}
.handles-type-carousel-track img.is-active{
  opacity:1;
  transform:scale(1.035);
}
.handles-type-carousel-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom,rgba(0,0,0,.38) 0%,rgba(0,0,0,.30) 38%,rgba(0,0,0,.56) 66%,rgba(0,0,0,.96) 100%),
    linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.48) 28%,rgba(0,0,0,.08) 62%,rgba(0,0,0,.12) 100%);
  pointer-events:none;
  z-index:2;
}

.handles-type-card .subcat-number{
  position:absolute;
  z-index:3;
  top:16px;
  left:17px;
  color:#d5b978;
  font-size:10px;
  letter-spacing:.16em;
}
.handles-type-card-content{
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  bottom:17px;
}
.handles-type-card-content h4{
  margin:0 0 6px;
  color:#f3f1ec;
  font-size:20px;
  letter-spacing:-.02em;
}
.handles-type-card-content p{
  margin:0;
  color:#aaa9a4;
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* Cards de produtos: geometria reta e apresentação mais editorial. */
.product-grid .product-card{
  min-height:440px;
  border-radius:0 !important;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(145deg,#181a1d,#101214);
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.product-grid .product-card:hover{
  transform:translateY(-5px);
  border-color:rgba(200,168,107,.42);
  box-shadow:0 26px 62px rgba(0,0,0,.26);
}
.product-grid .card-media{
  height:325px;
  border-radius:0 !important;
  background:linear-gradient(145deg,#17191b,#0f1113);
  padding:18px 24px;
  position:relative;
}
.product-grid .card-media::after{
  content:"";
  position:absolute;
  inset:auto 18px 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,168,107,.30),transparent);
  pointer-events:none;
}
.product-grid .card-media img{
  transition:opacity .28s ease,transform .55s ease;
}
.product-grid .card-media img.is-carousel-fading{opacity:0;}
.product-grid .product-card:hover .card-media img:not(.is-carousel-fading){transform:scale(1.018);}
.product-grid .card-body{
  padding:16px 18px 20px;
}
.product-grid .card-brand{
  font-size:8px;
  letter-spacing:.18em;
  margin-bottom:7px;
}
.product-grid .card-title{
  font-size:15px;
  line-height:1.3;
  min-height:39px;
  margin-bottom:7px;
}
.product-grid .card-desc{
  font-size:10px;
  line-height:1.5;
}

/* Botão específico da área de Puxadores. */
.category-show-all-host .handles-show-all-btn{
  border-radius:0 !important;
}

@media (max-width:1100px){
  #handlesSubcategories .handles-type-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
  }
}
@media (max-width:760px){
  #handlesSubcategories .handles-type-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  #handlesSubcategories .handles-type-card{
    min-height:225px !important;
    height:225px !important;
    max-height:225px !important;
  }
  .handles-type-carousel-track img{padding:0;}
  .handles-type-card-content{left:12px;right:12px;bottom:12px;}
  .handles-type-card-content h4{font-size:16px;}
  .product-grid .product-card{min-height:390px;}
  .product-grid .card-media{height:275px;padding:14px 14px;}
}
@media (prefers-reduced-motion:reduce){
  .handles-type-carousel-track img{transition:none;}
  .product-grid .card-media img{transition:none;}
}

#handlesSubcategories + #categoryShowAllHost{
  width:100%;
}
#categoryShowAllHost .handles-show-all-btn{
  min-height:112px;
  overflow:hidden;
}
#categoryShowAllHost .handles-show-all-btn .digital-show-all-content{
  position:relative;
  z-index:4;
}

/* PUXADORES — tipos sempre em uma única fileira de cartões verticais */
#handlesSubcategories .handles-type-grid{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:18px !important;
  width:100% !important;
  max-width:none !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:2px 2px 14px !important;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
}
#handlesSubcategories .handles-type-grid > .handles-type-card{
  flex:1 1 0 !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  min-height:360px !important;
  height:360px !important;
  max-height:360px !important;
  scroll-snap-align:start;
}
@media (max-width:1100px){
  #handlesSubcategories .handles-type-grid{
    display:flex !important;
    flex-wrap:nowrap !important;
  }
  #handlesSubcategories .handles-type-grid > .handles-type-card{
    flex:0 0 260px !important;
  }
}
@media (max-width:760px){
  #handlesSubcategories .handles-type-grid{
    gap:12px !important;
    padding-bottom:12px !important;
  }
  #handlesSubcategories .handles-type-grid > .handles-type-card{
    flex:0 0 220px !important;
    min-height:290px !important;
    height:290px !important;
    max-height:290px !important;
  }
}


/* PROTEÇÃO GLOBAL DAS IMAGENS — aplica a imagens atuais e carregadas dinamicamente */
img,
picture,
picture img,
source[type="image"],
svg image {
  -webkit-user-drag: none !important;
  user-drag: none !important;
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
}
img::selection,
picture::selection {
  background: transparent !important;
}

/* MARCAS PARCEIRAS — seção ligada ao menu fixo */
.brands-section{
  padding:92px 5vw 96px;
  background:linear-gradient(180deg,rgba(18,20,23,.92),rgba(12,14,16,.98));
  border-top:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.055);
}
.brands-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:34px;
}
.brand-card{
  aspect-ratio:1 / 1;
  width:100%;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:0;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  color:#E9E7E1;
  font-size:13px;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 14px 35px rgba(0,0,0,.10);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.brand-card:hover{
  transform:translateY(-2px);
  border-color:rgba(200,168,107,.32);
  background:linear-gradient(145deg,rgba(200,168,107,.08),rgba(255,255,255,.018));
}
@media(max-width:900px){
  .desktop-nav{font-size:11px;}
  .brands-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(min-width:901px){
  /* MARCAS PARCEIRAS — computador: 4 cards por linha */
  .brands-section .brands-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-auto-flow:row;
  }
}

@media(max-width:520px){
  .brands-grid{grid-template-columns:1fr;gap:12px;}
  .brand-card{aspect-ratio:1 / 1; min-height:0;}
}


/* PAPAIZ — marca parceira: usa exatamente os arquivos fornecidos pelo cliente. */
.brand-card--papaiz{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.18) 48%,rgba(0,0,0,.62) 100%),
    url("../Todas as Imagens/Hero Banners/hero-papaiz.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.14) !important;
}
.brand-card--papaiz::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.10) 45%,rgba(0,0,0,.58));
}
.brand-card--papaiz > img{
  position:relative;z-index:2;display:block;
  width:64% !important;height:auto !important;max-width:64% !important;
  max-height:none !important;object-fit:contain;object-position:center;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.54));
  transition:transform .45s ease,filter .45s ease;
}
.brand-card--papaiz:hover > img,.brand-card--papaiz:focus-visible > img{
  transform:scale(1.035);filter:drop-shadow(0 12px 26px rgba(0,0,0,.64));
}
.brand-card--papaiz .brand-card-cta{
  position:absolute;z-index:3;left:14px;right:14px;bottom:13px;
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;opacity:.92;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.82);
}
.brand-card--papaiz:focus-visible{outline:2px solid rgba(200,168,107,.78);outline-offset:3px;}
.brand-showcase--papaiz .brand-showcase-hero{background:#e9e9e9;}
.brand-showcase--papaiz .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-papaiz.webp") center/cover no-repeat;
  filter:blur(18px) saturate(.86) brightness(.98);
}
.brand-showcase--papaiz .brand-showcase-hero-image{
  object-position:center center;
  filter:saturate(.96) brightness(.98) contrast(.99);
}
.brand-showcase--papaiz .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 20%,rgba(0,0,0,.12) 50%,rgba(0,0,0,.02) 76%,rgba(0,0,0,0) 100%),
    linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,0) 62%,rgba(0,0,0,.06));
}
.brand-showcase--papaiz .brand-showcase-hero-content{
  left:clamp(32px,7vw,110px);bottom:clamp(42px,7vh,76px);
  transform:none;width:min(560px,46vw);align-items:flex-start;text-align:left;
}
.brand-showcase-logo-wrap--papaiz{
  width:min(30vw,390px);min-width:190px;justify-content:flex-start;margin:0 0 16px;
}
.brand-showcase-logo--papaiz{
  filter:brightness(0) invert(1) drop-shadow(0 10px 26px rgba(0,0,0,.40));
}
.brand-showcase--papaiz .brand-showcase-hero-content > p{
  max-width:560px;color:rgba(255,255,255,.90);
  text-shadow:0 2px 18px rgba(0,0,0,.50);
}
@media(max-width:600px){
  .brand-card--papaiz > img{width:68% !important;max-width:68% !important;}
  .brand-showcase--papaiz .brand-showcase-hero-content{left:20px;bottom:28px;width:calc(100% - 40px);}
  .brand-showcase-logo-wrap--papaiz{width:min(70vw,320px);min-width:0;}
}


/* FERMAX — marca parceira: utiliza exatamente as imagens fornecidas pelo cliente. */
.brand-card--fermax{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.24) 52%,rgba(0,0,0,.68) 100%),
    url("../Todas as Imagens/Hero Banners/hero-fermax.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.14) !important;
}
.brand-card--fermax::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.14) 48%,rgba(0,0,0,.54));
}
.brand-card--fermax > img{
  position:relative;z-index:2;display:block;
  width:62% !important;height:auto !important;max-width:62% !important;
  max-height:none !important;object-fit:contain;object-position:center;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.60));
  transition:transform .45s ease,filter .45s ease;
}
.brand-card--fermax:hover > img,.brand-card--fermax:focus-visible > img{
  transform:scale(1.035);filter:drop-shadow(0 12px 28px rgba(0,0,0,.70));
}
.brand-card--fermax .brand-card-cta{
  position:absolute;z-index:3;left:14px;right:14px;bottom:13px;
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;opacity:.94;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.84);
}
.brand-card--fermax:focus-visible{outline:2px solid rgba(200,168,107,.78);outline-offset:3px;}
.brand-showcase--fermax .brand-showcase-hero{background:#e9edf0;}
.brand-showcase--fermax .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-fermax.webp") center/cover no-repeat;
  filter:blur(18px) saturate(.90) brightness(.90);
}
.brand-showcase--fermax .brand-showcase-hero-image{
  object-fit:cover;object-position:center center;
  filter:saturate(.96) brightness(.98) contrast(1.01);
}
.brand-showcase--fermax .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.80) 0%,rgba(0,0,0,.48) 20%,rgba(0,0,0,.12) 52%,rgba(0,0,0,.02) 76%,rgba(0,0,0,0) 100%),
    linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,0) 62%,rgba(0,0,0,.08));
}
.brand-showcase--fermax .brand-showcase-hero-content{
  left:clamp(32px,7vw,110px);bottom:clamp(42px,7vh,76px);
  transform:none;width:min(560px,46vw);align-items:flex-start;text-align:left;
}
.brand-showcase-logo-wrap--fermax{
  width:min(30vw,390px);min-width:190px;justify-content:flex-start;margin:0 0 16px;
}
.brand-showcase-logo--fermax{
  width:100%;max-width:100%;
  filter:brightness(0) invert(1) drop-shadow(0 10px 26px rgba(0,0,0,.48));
}
.brand-showcase--fermax .brand-showcase-hero-content > p{
  max-width:560px;color:rgba(255,255,255,.92);
  text-shadow:0 2px 18px rgba(0,0,0,.52);
}
@media(max-width:600px){
  .brand-card--fermax > img{width:68% !important;max-width:68% !important;}
  .brand-showcase--fermax .brand-showcase-hero-content{left:20px;bottom:28px;width:calc(100% - 40px);}
  .brand-showcase-logo-wrap--fermax{width:min(70vw,320px);min-width:0;}
}

/* Häfele — marca parceira: usa exatamente os arquivos fornecidos pelo cliente. */
.brand-card--hafele{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.24) 55%,rgba(0,0,0,.62) 100%),
    url("../Todas as Imagens/Hero Banners/hero-hafele.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.14) !important;
}
.brand-card--hafele::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.16) 48%,rgba(0,0,0,.52));
}
.brand-card--hafele > img{
  position:relative;
  z-index:2;
  width:58% !important;
  height:auto !important;
  max-width:58% !important;
  max-height:none !important;
  object-fit:contain;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.46));
  transition:transform .45s ease,filter .45s ease;
}
.brand-card--hafele:hover > img,
.brand-card--hafele:focus-visible > img{
  transform:scale(1.035);
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.56));
}
.brand-card--hafele .brand-card-cta{
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  bottom:16px;
  text-align:center;
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#fff;
  opacity:.9;
  text-shadow:0 2px 18px rgba(0,0,0,.72);
}
.brand-card--hafele:focus-visible{
  outline:2px solid rgba(200,168,107,.78);
  outline-offset:3px;
}
.brand-showcase--hafele .brand-showcase-hero{
  background:#ece8df;
}
.brand-showcase--hafele .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-hafele.webp") center/cover no-repeat;
  filter:blur(20px) saturate(.88) brightness(.98);
}
.brand-showcase--hafele .brand-showcase-hero-image{
  object-position:center center;
  filter:saturate(.96) brightness(.96) contrast(.99);
}
.brand-showcase--hafele .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.76) 0%,rgba(0,0,0,.46) 18%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.02) 72%,rgba(0,0,0,0) 100%),
    linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,0) 58%,rgba(0,0,0,.08));
}
.brand-showcase--hafele .brand-showcase-hero-content{
  left:50%;
  bottom:clamp(42px,7vh,76px);
  transform:translateX(-50%);
  width:min(720px,88vw);
  align-items:center;
  text-align:center;
}
.brand-showcase-logo-wrap--hafele{
  width:min(34vw,390px);
  min-width:190px;
  justify-content:center;
  margin:0 0 16px;
}
.brand-showcase-logo--hafele{
  filter:brightness(0) invert(1) drop-shadow(0 10px 26px rgba(0,0,0,.34));
}
.brand-showcase--hafele .brand-showcase-hero-content > p{
  max-width:620px;
  color:rgba(255,255,255,.9);
  text-shadow:0 2px 18px rgba(0,0,0,.48);
}
@media(max-width:600px){
  .brand-card--hafele > img{width:64% !important;max-width:64% !important;}
  .brand-showcase--hafele .brand-showcase-hero-content{
    width:calc(100% - 40px);
    left:20px;
    transform:none;
    bottom:28px;
  }
  .brand-showcase-logo-wrap--hafele{
    width:min(70vw,320px);
    min-width:0;
  }
}

/* DSs — marca parceira: hero em tela cheia + catálogo próprio */
.brand-card--dss{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.62) 58%,rgba(0,0,0,.82) 100%),
    url("../Todas as Imagens/Hero Banners/hero-dss-ferragens.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.12) !important;
}
.brand-card--dss::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.28) 42%,rgba(0,0,0,.72));
}
.brand-card--dss > img{
  position:relative;
  z-index:2;
  width:90% !important;
  height:90% !important;
  object-fit:contain;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.48));
  transition:transform .45s ease,filter .45s ease;
}
.brand-card--dss:hover > img,
.brand-card--dss:focus-visible > img{transform:scale(1.03);filter:drop-shadow(0 14px 34px rgba(0,0,0,.58));}
.brand-card--dss .brand-card-cta{
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  bottom:16px;
  text-align:center;
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#fff;
  opacity:.88;
  text-shadow:0 2px 18px rgba(0,0,0,.72);
}
.brand-card--dss:focus-visible{
  outline:2px solid rgba(200,168,107,.78);
  outline-offset:3px;
}
.brand-showcase{
  margin-top:30px;
  display:block;
}
.brand-showcase[hidden]{display:none!important;}
.brand-showcase-hero{
  position:relative;
  width:100vw;
  height:100svh;
  min-height:620px;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#f1eee7;
  box-shadow:none;
  isolation:isolate;
}
.brand-showcase-hero::before{
  content:"";
  position:absolute;
  inset:-32px;
  z-index:0;
  background:url("../Todas as Imagens/Hero Banners/hero-dss-ferragens.webp") center/cover no-repeat;
  filter:blur(22px) saturate(.88) brightness(.96);
  transform:scale(1.07);
  opacity:.72;
}
.brand-showcase-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.92) brightness(.90) contrast(.98);
  z-index:0;
}
.brand-showcase-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.78) 16%,rgba(0,0,0,.52) 34%,rgba(0,0,0,.28) 56%,rgba(0,0,0,.10) 76%,rgba(0,0,0,0) 92%),
    linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.05) 46%,rgba(0,0,0,.13) 100%);
  z-index:1;
}
/* DSs hero: logo central na composição, no lugar do título, com entrada sutil */
.brand-showcase-hero-content{
  position:absolute;
  z-index:4;
  left:clamp(32px,7vw,110px);
  bottom:clamp(48px,8vh,96px);
  transform:none;
  width:min(560px,46vw);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  color:#111;
  mix-blend-mode:normal;
  text-shadow:0 1px 14px rgba(255,255,255,.34);
}
.brand-showcase-logo-wrap{
  position:relative;
  z-index:4;
  width:min(24vw,320px);
  min-width:180px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:0 0 16px;
  pointer-events:none;
}
.brand-showcase-logo{
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
  opacity:1;
  transform:scale(.96);
  transform-origin:center center;
  filter:brightness(0) invert(1) drop-shadow(0 14px 30px rgba(0,0,0,.24));
  will-change:transform,opacity,filter;
}
.brand-showcase-logo.is-entering{
  animation:dssLogoEntrance .9s cubic-bezier(.22,.78,.22,1) both;
}
@keyframes dssLogoEntrance{
  0%{opacity:0;transform:scale(1.04);filter:brightness(0) invert(1) blur(3px) drop-shadow(0 10px 22px rgba(0,0,0,.12));}
  55%{opacity:1;transform:scale(.985);filter:brightness(0) invert(1) blur(0) drop-shadow(0 16px 30px rgba(0,0,0,.20));}
  100%{opacity:1;transform:scale(.96);filter:brightness(0) invert(1) blur(0) drop-shadow(0 14px 30px rgba(0,0,0,.24));}
}
.brand-showcase-hero-content > p{
  margin:0;
  max-width:560px;
  color:rgba(236,236,236,.86);
  font-size:clamp(13px,1.45vw,17px);
  line-height:1.6;
}
.brand-showcase-scroll{
  margin-top:14px;
  position:relative;
  width:34px;
  height:66px;
  padding:0;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(19,19,19,.28);
  box-shadow:
    0 8px 28px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#fff;
  display:grid;
  place-items:start center;
  cursor:pointer;
  overflow:hidden;
  transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.brand-showcase-scroll-track{
  position:absolute;
  inset:6px 0;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.brand-showcase-scroll-knob{
  width:10px;
  height:10px;
  margin-top:0;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.34);
  transition:transform .52s cubic-bezier(.22,.78,.22,1),opacity .2s ease;
}
.brand-showcase-scroll:hover{
  transform:translateY(-1px);
  background:rgba(19,19,19,.40);
  border-color:rgba(255,255,255,.92);
  box-shadow:
    0 10px 30px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(255,255,255,.12);
}
.brand-showcase-scroll:hover .brand-showcase-scroll-knob{
  transform:translateY(34px);
}
.brand-showcase-scroll.is-scrolling .brand-showcase-scroll-knob,
.brand-showcase-scroll:focus-visible .brand-showcase-scroll-knob{
  transform:translateY(34px);
}
.brand-showcase-scroll:focus-visible{
  outline:2px solid rgba(255,255,255,.88);
  outline-offset:4px;
}
.brand-showcase-scroll:active{
  transform:translateY(1px) scale(.98);
}
@media(max-width:760px){
  .brand-showcase-hero{min-height:560px;height:100svh;}
  .brand-showcase-hero-image{object-fit:cover;background:transparent;}
  .brand-showcase-hero-overlay{
    background:
      linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.50) 72%,rgba(0,0,0,.86) 100%),
      linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.07),rgba(0,0,0,.16));
  }
  .brand-showcase-logo{width:min(72vw,440px);max-width:72vw;}
  .brand-showcase-hero-content{max-width:88%;left:20px;bottom:28px;width:calc(100% - 40px);align-items:flex-start;text-align:left;}
}

.brand-showcase-products-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin:34px 0 18px;
}
.brand-showcase-products-head h4{
  margin:3px 0 0;
  font-size:clamp(20px,2.1vw,30px);
}
.brand-showcase-count{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.58;
}
.brand-showcase-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.brand-product-card{
  min-width:0;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(145deg,#181a1c,#101214);
  border-radius:0;
  overflow:hidden;
  cursor:pointer;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.brand-product-card:hover,
.brand-product-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(200,168,107,.35);
  box-shadow:0 24px 64px rgba(0,0,0,.30);
  outline:none;
}
.brand-product-media{
  height:300px;
  background:linear-gradient(145deg,#17191b,#0e1012);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.brand-product-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.brand-product-body{
  padding:16px 18px 20px;
}
.brand-product-brand{
  display:block;
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.60;
  margin-bottom:8px;
}
.brand-product-body h5{
  margin:0;
  font-size:16px;
  line-height:1.35;
}
.brand-product-body p{
  margin:8px 0 0;
  font-size:10px;
  line-height:1.55;
  opacity:.65;
}
@media(max-width:900px){
  .brand-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
 .brand-showcase-hero{min-height:420px;}
  .brand-showcase-logo-wrap{
    top:clamp(62px,9vh,92px);
    right:18px;
    width:min(38vw,190px);
  }
  .brand-showcase-hero-content{max-width:88%;}
  .brand-showcase-products-head{align-items:start;flex-direction:column;gap:8px;}
  .brand-showcase-grid{grid-template-columns:1fr;}
  .brand-product-media{height:260px;}
}


/* DSs — logo da marca parceira: tamanho médio e centralizado */
.brand-card--dss > img{
  width:54% !important;
  height:54% !important;
  max-width:54% !important;
  max-height:54% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  display:block !important;
}
@media(max-width:900px){
  .brand-card--dss > img{
    width:58% !important;
    height:58% !important;
    max-width:58% !important;
    max-height:58% !important;
  }
}


/* DSs hero — imagem principal em full bleed, ocupando todo o viewport */
.brand-showcase-hero-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

/* DSs — catálogo de produtos seguindo exatamente a linguagem dos cards principais */
.brand-showcase-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:stretch !important;
}
.brand-showcase-grid .product-card{
  position:relative !important;
  display:grid !important;
  grid-template-rows:minmax(0,2.05fr) minmax(170px,1fr) !important;
  height:clamp(520px,38vw,610px) !important;
  min-height:520px !important;
  border:1px solid rgba(255,255,255,.105) !important;
  border-radius:7px !important;
  overflow:hidden !important;
  background:#202326 !important;
  box-shadow:0 18px 50px rgba(0,0,0,.18) !important;
  isolation:isolate !important;
  transform:translateZ(0);
  transition:transform .58s cubic-bezier(.2,.65,.2,1),border-color .58s ease,box-shadow .58s ease !important;
}
.brand-showcase-grid .product-card:hover,
.brand-showcase-grid .product-card:focus-visible{
  transform:translateY(-6px) !important;
  border-color:rgba(210,175,105,.42) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 0 1px rgba(210,175,105,.05) !important;
  outline:none;
}
.brand-showcase-grid .product-card .card-media{
  position:relative !important;
  height:auto !important;
  min-height:0 !important;
  width:100% !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.055),transparent 58%),#17191b !important;
  border:0 !important;
  isolation:isolate !important;
}
.brand-showcase-grid .product-card .card-media::before{
  content:"" !important;
  position:absolute !important;
  inset:-18px !important;
  z-index:0 !important;
  background-image:var(--card-photo) !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  filter:blur(18px) saturate(.78) !important;
  opacity:.30 !important;
  transform:scale(1.08) !important;
  transition:transform .7s cubic-bezier(.2,.65,.2,1),opacity .7s ease !important;
  pointer-events:none !important;
}
.brand-showcase-grid .product-card:hover .card-media::before{
  transform:scale(1.12) !important;
  opacity:.38 !important;
}
.brand-showcase-grid .product-card .card-media img{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:transform .68s cubic-bezier(.2,.65,.2,1) !important;
}
.brand-showcase-grid .product-card:hover .card-media img{
  transform:scale(1.025) !important;
}
.brand-showcase-grid .product-card .card-body{
  position:relative !important;
  z-index:2 !important;
  min-height:0 !important;
  height:auto !important;
  box-sizing:border-box !important;
  padding:24px 27px 21px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  background:linear-gradient(135deg,#292c2f 0%,#222528 52%,#1d2022 100%) !important;
  border-top:1px solid rgba(255,255,255,.085) !important;
}
.brand-showcase-grid .product-card .card-brand{
  margin:0 0 10px !important;
  min-height:11px !important;
  color:#d6b36d !important;
  font-size:8px !important;
  font-weight:700 !important;
  letter-spacing:.25em !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
}
.brand-showcase-grid .product-card .card-title{
  margin:0 0 9px !important;
  max-width:92% !important;
  color:#f3f1ec !important;
  font-family:Manrope,Inter,sans-serif !important;
  font-size:clamp(16px,1.25vw,20px) !important;
  font-weight:500 !important;
  line-height:1.18 !important;
  letter-spacing:-.018em !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}
.brand-showcase-grid .product-card .card-desc{
  margin:0 !important;
  max-width:94% !important;
  color:rgba(231,229,224,.62) !important;
  font-size:10.5px !important;
  line-height:1.55 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}
.brand-showcase-grid .product-card .card-body::after{
  content:"VER DETALHES   →" !important;
  margin-top:auto !important;
  padding-top:18px !important;
  color:#f0ede5 !important;
  font-size:8px !important;
  font-weight:700 !important;
  letter-spacing:.19em !important;
  line-height:1 !important;
  white-space:pre !important;
  border-top:1px solid rgba(213,178,108,.62) !important;
  width:78px !important;
  transition:width .55s cubic-bezier(.2,.65,.2,1),color .4s ease !important;
}
.brand-showcase-grid .product-card:hover .card-body::after{
  width:148px !important;
  color:#e0bf79 !important;
}
@media(max-width:900px){
  .brand-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:600px){
  .brand-showcase-grid{grid-template-columns:1fr !important;gap:18px !important;}
  .brand-showcase-grid .product-card{height:520px !important;min-height:520px !important;}
  .brand-showcase-grid .product-card .card-body{padding:20px 22px 19px !important;}
}

/* FECHADURAS DIGITAIS — opções em cards verticais retangulares com quinas retas */
@media (min-width:561px){
  .digital-install-options,
  .digital-door-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }

  .digital-install-options .subcat-install-card,
  .digital-door-grid .subcat-card{
    min-height:0;
    height:auto;
    aspect-ratio:3 / 4;
    border-radius:0 !important;
    padding:26px 22px;
  }
}

.digital-install-options .subcat-install-card,
.digital-door-grid .subcat-card{
  border-radius:0 !important;
}

@media (max-width:560px){
  .digital-install-options,
  .digital-door-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .digital-install-options .subcat-install-card,
  .digital-door-grid .subcat-card{
    min-height:0;
    aspect-ratio:3 / 4;
    border-radius:0 !important;
    padding:20px 16px;
  }
}

/* === CORREÇÃO DEFINITIVA — FECHADURAS DIGITAIS: CARDS VERTICAIS === */
@media (min-width: 951px){
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
  }

  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options > .subcat-install-card,
  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid > .subcat-card{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:3 / 4 !important;
    border-radius:0 !important;
    padding:28px 24px !important;
  }

  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
  }

  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid .subcat-image{
    height:52% !important;
    margin-bottom:18px !important;
    border-radius:0 !important;
  }
}

@media (min-width: 561px) and (max-width: 950px){
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options,
  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options > .subcat-install-card,
  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid > .subcat-card{
    aspect-ratio:3 / 4 !important;
    min-height:0 !important;
    height:auto !important;
    border-radius:0 !important;
  }
}

@media (max-width:560px){
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options,
  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options > .subcat-install-card,
  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid > .subcat-card{
    aspect-ratio:3 / 4 !important;
    min-height:0 !important;
    height:auto !important;
    padding:20px 16px !important;
    border-radius:0 !important;
  }
}

/* DOBRADIÇAS — cards de opções realmente verticais, retangulares e com quinas retas */
#hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card,
#hingeSubcategoryGrid .hinge-material-subcat-grid > .hinge-subcat-card,
#hingeSubcategoryGrid .hinge-corner-subcat-grid > .hinge-subcat-card{
  aspect-ratio:3 / 4 !important;
  min-height:0 !important;
  height:auto !important;
  border-radius:0 !important;
  overflow:hidden !important;
  padding:24px !important;
  box-sizing:border-box !important;
}

/* Desktop: 3 cards lado a lado */
@media (min-width:1101px){
  #hingeSubcategoryGrid > .hinge-subcat-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:16px !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card{
    grid-column:span 2 !important;
    width:100% !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card:nth-child(4){
    grid-column:2 / span 2 !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card:nth-child(5){
    grid-column:4 / span 2 !important;
  }
  #hingeSubcategoryGrid .hinge-material-subcat-grid,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  #hingeSubcategoryGrid .hinge-material-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid > .hinge-subcat-card{
    grid-column:auto !important;
  }
}

@media (max-width:1100px) and (min-width:761px){
  #hingeSubcategoryGrid > .hinge-subcat-grid,
  #hingeSubcategoryGrid .hinge-material-subcat-grid,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-material-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid > .hinge-subcat-card{
    grid-column:auto !important;
  }
}

@media (max-width:760px){
  #hingeSubcategoryGrid > .hinge-subcat-grid,
  #hingeSubcategoryGrid .hinge-material-subcat-grid,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-material-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid > .hinge-subcat-card{
    grid-column:auto !important;
  }
}

/* AJUSTE FINAL — cards de opções menores para ficarem lado a lado na tela */
@media (min-width:1101px){
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options,
  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid,
  #hingeSubcategoryGrid > .hinge-subcat-grid,
  #hingeSubcategoryGrid .hinge-material-subcat-grid,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid{
    display:flex !important;
    justify-content:center !important;
    align-items:stretch !important;
    gap:16px !important;
    width:100% !important;
  }

  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options > .subcat-install-card,
  #digitalSubcategoryGrid > .digital-door-options .digital-door-grid > .subcat-card,
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-material-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid > .hinge-subcat-card{
    flex:0 0 230px !important;
    width:230px !important;
    max-width:230px !important;
    min-width:230px !important;
    aspect-ratio:3 / 4 !important;
    height:auto !important;
    min-height:0 !important;
    grid-column:auto !important;
    padding:18px !important;
    border-radius:0 !important;
  }
}

/* =========================================================
   CORREÇÃO FINAL — PUXADORES + ACESSÓRIOS
   Cards de opções sempre verticais, retangulares e com quinas retas.
   Desktop: 4 por linha; telas menores: 2 por linha.
   Proporção 3:4 para eliminar qualquer aparência achatada.
   ========================================================= */

/* PUXADORES — cards de tipos */
@media (min-width:1101px){
  #handlesSubcategories .handles-type-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:16px !important;
    width:100% !important;
    max-width:none !important;
    overflow:visible !important;
    padding:0 !important;
  }
  #handlesSubcategories .handles-type-grid > .handles-type-card{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:3 / 4 !important;
    flex:none !important;
    border-radius:0 !important;
    box-sizing:border-box !important;
  }
}

@media (max-width:1100px){
  #handlesSubcategories .handles-type-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    width:100% !important;
    overflow:visible !important;
    padding:0 !important;
  }
  #handlesSubcategories .handles-type-grid > .handles-type-card{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:3 / 4 !important;
    flex:none !important;
    border-radius:0 !important;
    box-sizing:border-box !important;
  }
}

/* ACESSÓRIOS — cards de escolha de categoria */
.accessory-subcat-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.accessory-subcat-grid .accessory-subcat-card{
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:3 / 4 !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.accessory-subcat-grid .accessory-subcat-card .accessory-bg,
.accessory-subcat-grid .accessory-subcat-card .accessory-bg img{
  width:100% !important;
  height:100% !important;
}

@media (max-width:1100px){
  .accessory-subcat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
}

@media (max-width:760px){
  .accessory-subcat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .accessory-subcat-grid .accessory-subcat-card{
    aspect-ratio:3 / 4 !important;
  }
}

/* =========================================================
   AJUSTE FINAL — PUXADORES + ACESSÓRIOS
   Desktop: cards menores, 4 por linha, todos visíveis lado a lado.
   Mantém o formato vertical 3:4 e quinas retas.
   ========================================================= */
@media (min-width:1101px){
  #handlesSubcategories .handles-type-grid{
    grid-template-columns:repeat(4,minmax(0,210px)) !important;
    justify-content:center !important;
    gap:14px !important;
  }
  #handlesSubcategories .handles-type-grid > .handles-type-card{
    width:100% !important;
    aspect-ratio:3 / 4 !important;
  }

  #accessorySubcategoryGrid .accessory-subcat-grid{
    grid-template-columns:repeat(4,minmax(0,210px)) !important;
    justify-content:center !important;
    gap:14px !important;
  }
  #accessorySubcategoryGrid .accessory-subcat-card,
  #accessorySubcategoryGrid .accessory-subcat-card:nth-child(9),
  #accessorySubcategoryGrid .accessory-subcat-card:nth-child(10),
  #accessorySubcategoryGrid .accessory-subcat-card:nth-child(11){
    grid-column:auto !important;
    width:100% !important;
    aspect-ratio:3 / 4 !important;
  }
}

/* =========================================================
   REGRA SOBERANA — TODOS OS CARDS DE OPÇÕES
   Desktop: exatamente 5 por linha, formato vertical 3:4,
   quinas retas, ocupando toda a largura disponível.
   ========================================================= */
@media (min-width: 901px){
  #mechanicalSubcategoryGrid,
  #digitalSubcategoryGrid,
  #accessorySubcategoryGrid,
  #hingeSubcategoryGrid,
  #handlesSubcategoryGrid,
  .subcat-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100%;
  }

  .subcat-card{
    width:100%;
    min-width:0;
    min-height:0 !important;
    aspect-ratio:3 / 4 !important;
    height:auto !important;
    border-radius:0 !important;
    padding:18px !important;
  }
}

@media (min-width: 701px) and (max-width: 900px){
  #mechanicalSubcategoryGrid,
  #digitalSubcategoryGrid,
  #accessorySubcategoryGrid,
  #hingeSubcategoryGrid,
  #handlesSubcategoryGrid,
  .subcat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .subcat-card{
    min-height:0 !important;
    aspect-ratio:3 / 4 !important;
    height:auto !important;
    border-radius:0 !important;
  }
}

@media (max-width: 700px){
  #mechanicalSubcategoryGrid,
  #digitalSubcategoryGrid,
  #accessorySubcategoryGrid,
  #hingeSubcategoryGrid,
  #handlesSubcategoryGrid,
  .subcat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .subcat-card{
    min-height:0 !important;
    aspect-ratio:3 / 4 !important;
    height:auto !important;
    border-radius:0 !important;
    padding:14px !important;
  }
}

/* =========================================================
   REGRA SOBERANA — CORREÇÃO FINAL DAS CATEGORIAS
   Todas as áreas de opções no desktop usam 5 posições por linha,
   cards verticais 3:4, quinas retas e tamanho compacto.
   ========================================================= */
@media (min-width: 1101px){
  #mechanicalSubcategoryGrid,
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options,
  #digitalSubcategoryGrid .digital-door-grid,
  #accessorySubcategoryGrid .accessory-subcat-grid,
  #hingeSubcategoryGrid .hinge-subcat-grid,
  #hingeSubcategoryGrid .hinge-material-subcat-grid,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid,
  #handlesSubcategories .handles-type-grid,
  #handlesSubcategories .handles-subcat-grid,
  .subcat-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    align-content:flex-start !important;
    gap:12px !important;
    width:100% !important;
    max-width:none !important;
    overflow:visible !important;
    padding:0 !important;
  }

  #mechanicalSubcategoryGrid > .subcat-card,
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options > .subcat-install-card,
  #digitalSubcategoryGrid .digital-door-grid > .subcat-card,
  #accessorySubcategoryGrid .accessory-subcat-grid > .accessory-subcat-card,
  #hingeSubcategoryGrid .hinge-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-material-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid > .hinge-subcat-card,
  #handlesSubcategories .handles-type-grid > .handles-type-card,
  #handlesSubcategories .handles-subcat-grid > .handles-subcat-card,
  .subcat-grid > .subcat-card{
    flex:0 0 calc((100% - 48px) / 5) !important;
    width:calc((100% - 48px) / 5) !important;
    max-width:calc((100% - 48px) / 5) !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:3 / 4 !important;
    border-radius:0 !important;
    grid-column:auto !important;
    box-sizing:border-box !important;
    padding:18px !important;
  }

  /* Remove widths/positions inherited from earlier special layouts. */
  #hingeSubcategoryGrid .hinge-subcat-card,
  #accessorySubcategoryGrid .accessory-subcat-card,
  #handlesSubcategories .handles-type-card,
  #digitalSubcategoryGrid .subcat-install-card,
  #digitalSubcategoryGrid .digital-door-grid .subcat-card{
    flex-basis:calc((100% - 48px) / 5) !important;
    width:calc((100% - 48px) / 5) !important;
    max-width:calc((100% - 48px) / 5) !important;
    min-width:0 !important;
  }
}

/* Tablet: 3 compact cards per row. */
@media (min-width: 701px) and (max-width: 1100px){
  #mechanicalSubcategoryGrid,
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options,
  #digitalSubcategoryGrid .digital-door-grid,
  #accessorySubcategoryGrid .accessory-subcat-grid,
  #hingeSubcategoryGrid .hinge-subcat-grid,
  #hingeSubcategoryGrid .hinge-material-subcat-grid,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid,
  #handlesSubcategories .handles-type-grid,
  #handlesSubcategories .handles-subcat-grid,
  .subcat-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:12px !important;
  }
  #mechanicalSubcategoryGrid > .subcat-card,
  #digitalSubcategoryGrid > .digital-install-grid .digital-install-options > .subcat-install-card,
  #digitalSubcategoryGrid .digital-door-grid > .subcat-card,
  #accessorySubcategoryGrid .accessory-subcat-grid > .accessory-subcat-card,
  #hingeSubcategoryGrid .hinge-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-material-subcat-grid > .hinge-subcat-card,
  #hingeSubcategoryGrid .hinge-corner-subcat-grid > .hinge-subcat-card,
  #handlesSubcategories .handles-type-grid > .handles-type-card,
  #handlesSubcategories .handles-subcat-grid > .handles-subcat-card,
  .subcat-grid > .subcat-card{
    flex:0 0 calc((100% - 24px) / 3) !important;
    width:calc((100% - 24px) / 3) !important;
    max-width:calc((100% - 24px) / 3) !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:3 / 4 !important;
    border-radius:0 !important;
    grid-column:auto !important;
  }
}

/* =========================================================
   AJUSTE — FECHADURAS MECÂNICAS NO MESMO TAMANHO DAS DOBRADIÇAS
   Desktop: os cards de Externas/Internas/Banheiro e os cards de
   aplicação usam exatamente a mesma escala visual compacta das
   opções de Dobradiças: 5 posições, vertical 3:4, quinas retas.
   ========================================================= */
@media (min-width:1101px){
  #mechanicalSubcategoryGrid > .mechanical-lock-grid,
  #mechanicalSubcategoryGrid > .mechanical-door-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    align-content:flex-start !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    gap:12px !important;
    padding:0 !important;
  }

  #mechanicalSubcategoryGrid > .mechanical-lock-grid > .mechanical-lock-type-card,
  #mechanicalSubcategoryGrid > .mechanical-door-grid > .mechanical-door-type-card,
  #mechanicalSubcategoryGrid .mechanical-door-grid > .subcat-card{
    flex:0 0 calc((100% - 48px) / 5) !important;
    width:calc((100% - 48px) / 5) !important;
    max-width:calc((100% - 48px) / 5) !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:3 / 4 !important;
    border-radius:0 !important;
    box-sizing:border-box !important;
    padding:18px !important;
  }
}

@media (min-width:701px) and (max-width:1100px){
  #mechanicalSubcategoryGrid > .mechanical-lock-grid,
  #mechanicalSubcategoryGrid > .mechanical-door-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:12px !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  #mechanicalSubcategoryGrid > .mechanical-lock-grid > .mechanical-lock-type-card,
  #mechanicalSubcategoryGrid > .mechanical-door-grid > .mechanical-door-type-card,
  #mechanicalSubcategoryGrid .mechanical-door-grid > .subcat-card{
    flex:0 0 calc((100% - 24px) / 3) !important;
    width:calc((100% - 24px) / 3) !important;
    max-width:calc((100% - 24px) / 3) !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:3 / 4 !important;
    border-radius:0 !important;
    box-sizing:border-box !important;
  }
}


/* ZEN — marca parceira com hero inspirado na experiência DSs */
.brand-card--zen{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.62) 58%,rgba(0,0,0,.84) 100%),
    url("../Todas as Imagens/Hero Banners/hero-zen-marcazen.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.14) !important;
}
.brand-card--zen > img{
  position:relative;
  z-index:2;
  width:62% !important;
  height:62% !important;
  object-fit:contain;
  filter:brightness(0) invert(1) drop-shadow(0 10px 26px rgba(0,0,0,.34));
  transition:transform .45s ease,filter .45s ease;
}
.brand-card--zen .brand-card-cta{
  position:absolute;
  z-index:3;
  left:18px; right:18px; bottom:16px;
  text-align:center;
  font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:#fff; opacity:.90; text-shadow:0 2px 18px rgba(0,0,0,.72);
}
.brand-card--zen:hover > img,.brand-card--zen:focus-visible > img{
  transform:scale(1.03);
  filter:brightness(0) invert(1) drop-shadow(0 14px 32px rgba(0,0,0,.54));
}
.brand-card--zen:focus-visible{
  outline:2px solid rgba(200,168,107,.78); outline-offset:3px;
}
.brand-showcase--zen .brand-showcase-hero{
  background:#191516;
}
.brand-showcase--zen .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-zen-marcazen.webp") center/cover no-repeat;
  filter:blur(22px) saturate(.90) brightness(.82);
}
.brand-showcase--zen .brand-showcase-hero-image{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.92) brightness(.88) contrast(.98);
}
.brand-showcase--zen .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.80) 18%,rgba(0,0,0,.52) 38%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.08) 80%,rgba(0,0,0,0) 94%),
    linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.04) 52%,rgba(0,0,0,.12));
}
.brand-showcase--zen .brand-showcase-logo--zen{
  filter:brightness(0) invert(1) drop-shadow(0 14px 30px rgba(0,0,0,.24));
  width:min(21vw,280px);
  max-width:100%;
}
.brand-showcase--zen .brand-showcase-hero-content > p{
  color:rgba(232,232,232,.84);
}
.brand-showcase-empty{
  grid-column:1 / -1;
  min-height:180px;
  display:grid; place-items:center;
  padding:28px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(145deg,#181a1c,#101214);
  color:rgba(236,236,236,.68);
  text-align:center;
}
@media(max-width:760px){
  .brand-showcase--zen .brand-showcase-logo--zen{width:min(62vw,340px);}
}

/* Marca parceira VIRTUS LOCK — segundo card após DSs */
.brand-card--virtus{
  position:relative;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#111,#191919);
  color:#f3f3f3;
  overflow:hidden;
}
.brand-card--virtus-wordmark{
  display:inline-flex;
  align-items:baseline;
  gap:.16em;
  font-size:clamp(18px,1.8vw,28px);
  font-weight:700;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}
.brand-card--virtus-wordmark span{
  font-weight:400;
  letter-spacing:.16em;
}
.brand-card--virtus:hover .brand-card--virtus-wordmark{
  transform:translateY(-1px);
}

/* VIRTUS LOCK — hero de marca parceira no mesmo conceito visual da DSs */
.brand-showcase--virtus .brand-showcase-hero{background:#0d1420;}
.brand-showcase--virtus .brand-showcase-hero::before{background:url("../Todas as Imagens/Hero Banners/hero-virtuslock.webp") center/cover no-repeat;filter:blur(22px) saturate(.82) brightness(.78);}
.brand-showcase--virtus .brand-showcase-hero-image{object-fit:cover;object-position:center center;filter:saturate(.90) brightness(.88) contrast(1);}
.brand-showcase--virtus .brand-showcase-hero-overlay{background:linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.80) 18%,rgba(0,0,0,.56) 38%,rgba(0,0,0,.27) 60%,rgba(0,0,0,.09) 80%,rgba(0,0,0,0) 94%),linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.04) 52%,rgba(0,0,0,.14));}
.brand-showcase--virtus .brand-showcase-logo--virtus{width:min(24vw,340px);max-width:100%;filter:drop-shadow(0 14px 30px rgba(0,0,0,.34));}
.brand-showcase--virtus .brand-showcase-hero-content > p{color:rgba(236,236,236,.86);}
.brand-card--virtus{cursor:pointer !important;}
.brand-card--virtus > img{width:72% !important;height:72% !important;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45));}
.brand-card--virtus .brand-card-cta{position:absolute;left:14px;right:14px;bottom:13px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.88;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.72);}
@media(max-width:760px){.brand-showcase--virtus .brand-showcase-logo--virtus{width:min(72vw,360px);max-width:72vw;}}

/* REGRA SOBERANA — áreas sem produtos */
.empty-product-notice{
  position:relative;
  z-index:6;
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:8px 11px;
  border:1px solid rgba(198,161,91,.48);
  background:rgba(0,0,0,.68);
  color:#f0eee9;
  font-size:10px;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.6);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.subcat-card .empty-product-notice,
.category-card .empty-product-notice{
  align-self:flex-start;
}
.brand-card .empty-product-notice{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  justify-content:center;
  width:auto;
  text-align:center;
}
.empty-state--coming-soon{
  display:grid!important;
  place-items:center;
  min-height:150px;
  border:1px solid rgba(198,161,91,.35);
  background:linear-gradient(145deg,#151515,#0c0c0c);
  color:#f0eee9;
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}


/* DOBRADIÇAS — 6 cards na mesma linha no desktop, mantendo proporções iguais. */
@media (min-width:1101px){
  #hingeSubcategoryGrid > .hinge-subcat-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  #hingeSubcategoryGrid > .hinge-subcat-grid > .hinge-subcat-card{
    min-width:0 !important;
  }
}

/* DOBRADIÇAS — aviso de produtos em breve, com destaque visual sem alterar o estilo luxury. */
.hinge-coming-soon .coming-soon-text{
  color:var(--gold2);
  font-size:11px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.02em;
  max-width:95%;
}

/* AJUSTE VIRTUS LOCK — hero atualizado + logo branca */
.brand-showcase--virtus .brand-showcase-hero::before{
  background-image:url("../Todas as Imagens/Hero Banners/hero-virtuslock.webp");
}
.brand-showcase--virtus .brand-showcase-hero-image{
  object-position:center center;
}
.brand-showcase--virtus .brand-showcase-logo--virtus{
  filter:brightness(0) invert(1) drop-shadow(0 14px 30px rgba(0,0,0,.42)) !important;
}


/* MARCAS PARCEIRAS — fundos fotográficos oficiais dos heróis de marca. */
.brand-card--virtus{
  background:
    linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.38) 58%,rgba(0,0,0,.70) 100%),
    url("../Todas as Imagens/Hero Banners/hero-virtuslock.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.12) !important;
}
.brand-card--virtus::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.34) 65%,rgba(0,0,0,.62));
  pointer-events:none;
}
.brand-card--virtus > img,
.brand-card--virtus .brand-card-cta{position:relative;z-index:2;}

.brand-card--3f{
  position:relative;
  isolation:isolate;
  cursor:pointer !important;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.10) 52%,rgba(255,255,255,.30) 100%),
    url("../Todas as Imagens/Hero Banners/hero-3f.webp") center/cover no-repeat !important;
  color:#171717 !important;
  border-color:rgba(180,145,82,.38) !important;
}
.brand-card--3f::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.10) 52%,rgba(255,255,255,.46));
  pointer-events:none;
}
.brand-card--3f-label{
  position:relative;
  z-index:2;
  font-size:clamp(26px,3.4vw,44px);
  font-weight:900;
  letter-spacing:-.06em;
  color:#111;
  text-shadow:0 3px 18px rgba(255,255,255,.62);
}
.brand-card--3f .brand-card-cta{
  position:absolute;
  z-index:3;
  left:14px;
  right:14px;
  bottom:13px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#171717;
  text-align:center;
  text-shadow:0 2px 12px rgba(255,255,255,.72);
}

/* 3F — usa exatamente a imagem enviada como hero, sem recriar a fotografia. */
.brand-showcase--3f .brand-showcase-hero{
  background:#f2eee6;
}
.brand-showcase--3f .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-3f.webp") center/cover no-repeat;
  filter:blur(22px) saturate(.92) brightness(.98);
}
.brand-showcase--3f .brand-showcase-hero-image{
  object-fit:cover;
  object-position:center center;
  filter:none;
}
.brand-showcase--3f .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 22%,rgba(255,255,255,0) 55%),
    linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,0) 55%,rgba(255,255,255,.04));
}
.brand-showcase--3f .brand-showcase-hero-content{
  color:#111;
  text-shadow:0 1px 14px rgba(255,255,255,.46);
}
.brand-showcase-logo-wrap--3f{
  min-width:0;
  width:auto;
  margin-bottom:14px;
}
.brand-showcase-3f-wordmark{
  display:inline-block;
  font-size:clamp(64px,8vw,124px);
  font-weight:900;
  line-height:.82;
  letter-spacing:-.08em;
  color:#101010;
  text-shadow:0 6px 26px rgba(255,255,255,.54);
}
.brand-showcase-3f-wordmark.is-entering{
  animation:threefLogoEntrance .9s cubic-bezier(.22,.78,.22,1) both;
}
@keyframes threefLogoEntrance{
  0%{opacity:0;transform:scale(1.04);filter:blur(3px);}
  55%{opacity:1;transform:scale(.985);filter:blur(0);}
  100%{opacity:1;transform:scale(.96);filter:blur(0);}
}
.brand-showcase--3f .brand-showcase-hero-content > p{
  color:rgba(17,17,17,.78);
}

/* AJUSTE FINAL — cards VIRTUS LOCK e 3F */
.brand-card--virtus{
  position:relative !important;
  display:block !important;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.46) 52%,rgba(0,0,0,.82) 100%),
    url("../Todas as Imagens/Hero Banners/hero-virtuslock.webp") center/cover no-repeat !important;
}
.brand-card--virtus > img{
  position:absolute !important;
  z-index:2;
  left:50% !important;
  top:50% !important;
  width:62% !important;
  height:auto !important;
  max-height:48% !important;
  object-fit:contain !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  filter:brightness(0) invert(1) drop-shadow(0 10px 24px rgba(0,0,0,.55)) !important;
}
.brand-card--virtus::before{
  background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.38) 48%,rgba(0,0,0,.78) 100%) !important;
}
.brand-card--virtus .brand-card-cta{
  position:absolute !important;
  z-index:4 !important;
  left:12px !important;
  right:12px !important;
  bottom:13px !important;
  top:auto !important;
  margin:0 !important;
  text-align:center !important;
  color:#fff !important;
  font-size:10px !important;
  line-height:1.25 !important;
  letter-spacing:.12em !important;
  text-shadow:0 2px 14px rgba(0,0,0,.9) !important;
}

.brand-card--3f{
  background:
    linear-gradient(180deg,rgba(0,0,0,.24) 0%,rgba(0,0,0,.48) 50%,rgba(0,0,0,.84) 100%),
    url("../Todas as Imagens/Hero Banners/hero-3f.webp") center/cover no-repeat !important;
}
.brand-card--3f::before{
  background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.40) 50%,rgba(0,0,0,.78) 100%) !important;
}
.brand-card--3f-label{
  color:#fff !important;
  text-shadow:0 3px 18px rgba(0,0,0,.82) !important;
}
.brand-card--3f .brand-card-cta{
  color:#fff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.9) !important;
}

/* 3F — filtro escuro com degradê também no hero, preservando a fotografia original. */
.brand-showcase--3f .brand-showcase-hero-overlay{
  background:
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.42) 48%,rgba(0,0,0,.84) 100%),
    linear-gradient(90deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.06) 52%,rgba(0,0,0,.30) 100%) !important;
}
.brand-showcase--3f .brand-showcase-hero-image{
  filter:brightness(.84) saturate(.92) contrast(1.03) !important;
}
.brand-showcase--3f .brand-showcase-hero-content{
  color:#fff !important;
  text-shadow:0 2px 18px rgba(0,0,0,.72) !important;
}
.brand-showcase--3f .brand-showcase-hero-content > p{
  color:rgba(255,255,255,.88) !important;
}
.brand-showcase--3f .brand-showcase-3f-wordmark{
  color:#fff !important;
  text-shadow:0 5px 24px rgba(0,0,0,.72) !important;
}

/* IMAB — imagem enviada pelo usuário usada diretamente no hero e no card. */
.brand-card--imab{
  position:relative !important;
  display:block !important;
  isolation:isolate;
  overflow:hidden;
  cursor:pointer !important;
  background:
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.40) 52%,rgba(0,0,0,.78) 100%),
    url("../Todas as Imagens/Hero Banners/hero-imab.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.14) !important;
}
.brand-card--imab::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22) 50%,rgba(0,0,0,.70) 100%);
}
.brand-card--imab > img{
  position:absolute !important;
  z-index:2;
  left:50% !important;
  top:50% !important;
  width:68% !important;
  height:auto !important;
  max-height:42% !important;
  object-fit:contain !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  display:block !important;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.42));
}
.brand-card--imab .brand-card-cta{
  position:absolute !important;
  z-index:3 !important;
  left:12px !important;
  right:12px !important;
  bottom:13px !important;
  top:auto !important;
  margin:0 !important;
  text-align:center !important;
  color:#fff !important;
  font-size:10px !important;
  line-height:1.25 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase;
  text-shadow:0 2px 14px rgba(0,0,0,.9) !important;
}
.brand-card--imab:hover{border-color:rgba(200,168,107,.48) !important;}

/* IMAB — hero com a mesma fotografia original; a logo é transformada em branco via CSS. */
.brand-showcase--imab .brand-showcase-hero{background:#161616;}
.brand-showcase--imab .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-imab.webp") center/cover no-repeat;
  filter:blur(22px) saturate(.88) brightness(.72);
}
.brand-showcase--imab .brand-showcase-hero-image{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.90) brightness(.80) contrast(1.02);
}
.brand-showcase--imab .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 22%,rgba(0,0,0,.42) 48%,rgba(0,0,0,.16) 74%,rgba(0,0,0,.04) 100%),
    linear-gradient(90deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.08) 50%,rgba(0,0,0,.18) 100%);
}
.brand-showcase--imab .brand-showcase-logo--imab{
  width:min(25vw,360px);
  max-width:100%;
  filter:brightness(0) invert(1) drop-shadow(0 14px 30px rgba(0,0,0,.46)) !important;
}
.brand-showcase--imab .brand-showcase-hero-content > p{color:rgba(255,255,255,.88);}
@media(max-width:760px){
  .brand-showcase--imab .brand-showcase-logo--imab{width:min(70vw,360px);max-width:70vw;}
}


/* HAGA — marca parceira: fotografia original enviada como fundo */
.brand-card--haga{
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  cursor:pointer !important;
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.50) 52%,rgba(0,0,0,.82) 100%),
    url("../Todas as Imagens/Hero Banners/hero-haga.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.12) !important;
}
.brand-card--haga::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16) 42%,rgba(0,0,0,.58));
  pointer-events:none;
}
.brand-card--haga > img{
  position:relative;
  z-index:2;
  display:block;
  width:54% !important;
  height:54% !important;
  max-width:54% !important;
  max-height:54% !important;
  object-fit:contain !important;
  object-position:center center !important;
  filter:brightness(0) invert(1) drop-shadow(0 10px 26px rgba(0,0,0,.46));
  margin:0 auto !important;
  transition:transform .42s ease,filter .42s ease;
}
.brand-card--haga:hover > img,
.brand-card--haga:focus-visible > img{
  transform:scale(1.035);
  filter:brightness(0) invert(1) drop-shadow(0 14px 32px rgba(0,0,0,.58));
}
.brand-card--haga .brand-card-cta{
  position:absolute;
  z-index:3;
  left:14px;
  right:14px;
  bottom:13px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
  opacity:.9;
  text-align:center;
  text-shadow:0 2px 18px rgba(0,0,0,.78);
}
.brand-card--haga:focus-visible{
  outline:2px solid rgba(200,168,107,.78);
  outline-offset:3px;
}

/* HAGA — Hero Banner usando exatamente a fotografia enviada */
.brand-showcase--haga .brand-showcase-hero{background:#e8e5df;}
.brand-showcase--haga .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-haga.webp") center/cover no-repeat;
  filter:blur(22px) saturate(.82) brightness(.82);
}
.brand-showcase--haga .brand-showcase-hero-image{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.90) brightness(.88) contrast(1);
}
.brand-showcase--haga .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.80) 18%,rgba(0,0,0,.54) 38%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.08) 80%,rgba(0,0,0,0) 94%),
    linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.04) 52%,rgba(0,0,0,.14));
}
.brand-showcase--haga .brand-showcase-logo-wrap--haga{
  width:min(21vw,280px);
  max-width:100%;
  justify-content:flex-start;
}
.brand-showcase--haga .brand-showcase-logo--haga{
  width:100%;
  max-width:100%;
  filter:brightness(0) invert(1) drop-shadow(0 14px 30px rgba(0,0,0,.34));
}
.brand-showcase--haga .brand-showcase-hero-content > p{color:rgba(236,236,236,.86);}
@media(max-width:760px){
  .brand-showcase--haga .brand-showcase-logo-wrap--haga{width:min(62vw,340px);}
}


/* PADO — usa exatamente as imagens enviadas pelo usuário, sem gerar novas imagens. */
.brand-card--pado{
  position:relative; display:grid; place-items:center; overflow:hidden; cursor:pointer !important; isolation:isolate;
  background:
    linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.46) 54%,rgba(0,0,0,.84) 100%),
    url("../Todas as Imagens/Hero Banners/hero-pado.webp") center/cover no-repeat !important;
  border-color:rgba(180,145,82,.38) !important; color:#fff !important;
}
.brand-card--pado::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18) 46%,rgba(0,0,0,.68));pointer-events:none;}
.brand-card--pado > img{position:relative;z-index:2;display:block;width:62% !important;height:58% !important;max-width:62% !important;max-height:58% !important;object-fit:contain !important;object-position:center !important;margin:0 auto !important;filter:drop-shadow(0 10px 26px rgba(0,0,0,.48));transition:transform .42s ease,filter .42s ease;}
.brand-card--pado:hover > img,.brand-card--pado:focus-visible > img{transform:scale(1.035);filter:drop-shadow(0 14px 32px rgba(0,0,0,.60));}
.brand-card--pado .brand-card-cta{position:absolute;z-index:3;left:14px;right:14px;bottom:13px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.92;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.82);}
.brand-card--pado:focus-visible{outline:2px solid rgba(200,168,107,.78);outline-offset:3px;}
.brand-showcase--pado .brand-showcase-hero{background:#ddd8d0;}
.brand-showcase--pado .brand-showcase-hero::before{background:url("../Todas as Imagens/Hero Banners/hero-pado.webp") center/cover no-repeat;filter:blur(22px) saturate(.82) brightness(.72);}
.brand-showcase--pado .brand-showcase-hero-image{object-fit:cover;object-position:center center;filter:saturate(.90) brightness(.86) contrast(1.02);}
.brand-showcase--pado .brand-showcase-hero-overlay{background:linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.80) 18%,rgba(0,0,0,.56) 38%,rgba(0,0,0,.28) 60%,rgba(0,0,0,.10) 80%,rgba(0,0,0,0) 94%),linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.05) 52%,rgba(0,0,0,.16));}
.brand-showcase--pado .brand-showcase-logo-wrap--pado{width:min(25vw,350px);max-width:100%;justify-content:flex-start;}
.brand-showcase--pado .brand-showcase-logo--pado{width:100%;max-width:100%;filter:drop-shadow(0 14px 30px rgba(0,0,0,.40));}
.brand-showcase--pado .brand-showcase-hero-content > p{color:rgba(246,246,246,.88);}
@media(max-width:760px){.brand-showcase--pado .brand-showcase-logo-wrap--pado{width:min(68vw,350px);}}


/* STAM — usa exclusivamente as imagens originais enviadas pelo usuário. */
.brand-card--stam{
  position:relative !important;
  display:block !important;
  isolation:isolate;
  overflow:hidden;
  cursor:pointer !important;
  background:
    linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.40) 52%,rgba(0,0,0,.82) 100%),
    url("../Todas as Imagens/Hero Banners/hero-stam.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.14) !important;
}
.brand-card--stam::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.25) 48%,rgba(0,0,0,.76) 100%);
}
.brand-card--stam > img{
  position:absolute !important;
  z-index:2;
  left:50% !important;
  top:50% !important;
  width:62% !important;
  height:auto !important;
  max-height:42% !important;
  object-fit:contain !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  display:block !important;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.48));
}
.brand-card--stam .brand-card-cta{
  position:absolute !important;
  z-index:3 !important;
  left:12px !important;
  right:12px !important;
  bottom:13px !important;
  top:auto !important;
  margin:0 !important;
  text-align:center !important;
  color:#fff !important;
  font-size:10px !important;
  line-height:1.25 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase;
  text-shadow:0 2px 14px rgba(0,0,0,.92) !important;
}
.brand-card--stam:focus-visible{outline:2px solid rgba(200,168,107,.78);outline-offset:3px;}

/* STAM — Hero Banner com a foto original; logo branca por filtro CSS, sem gerar outra imagem. */
.brand-showcase--stam .brand-showcase-hero{background:#171717;}
.brand-showcase--stam .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-stam.webp") center/cover no-repeat;
  filter:blur(22px) saturate(.82) brightness(.72);
}
.brand-showcase--stam .brand-showcase-hero-image{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.90) brightness(.82) contrast(1.02);
}
.brand-showcase--stam .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 20%,rgba(0,0,0,.46) 44%,rgba(0,0,0,.16) 72%,rgba(0,0,0,.04) 100%),
    linear-gradient(90deg,rgba(0,0,0,.24) 0%,rgba(0,0,0,.05) 52%,rgba(0,0,0,.18) 100%);
}
.brand-showcase--stam .brand-showcase-logo-wrap--stam{width:min(24vw,320px);}
.brand-showcase--stam .brand-showcase-logo--stam{
  width:100%;
  max-width:100%;
  filter:brightness(0) invert(1) drop-shadow(0 14px 30px rgba(0,0,0,.46)) !important;
}
.brand-showcase--stam .brand-showcase-hero-content > p{color:rgba(255,255,255,.88);}
@media(max-width:760px){.brand-showcase--stam .brand-showcase-logo-wrap--stam{width:min(70vw,340px);}}


/* UNIÃO MUNDIAL — marca parceira: fotografia original enviada como fundo */
.brand-card--uniao{
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  cursor:pointer !important;
  background:
    linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.40) 54%,rgba(0,0,0,.78) 100%),
    url("../Todas as Imagens/Hero Banners/hero-uniao-mundial.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.12) !important;
}
.brand-card--uniao::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.16) 42%,rgba(0,0,0,.62));
  pointer-events:none;
}
.brand-card--uniao > img{
  position:relative;
  z-index:2;
  display:block;
  width:62% !important;
  height:62% !important;
  max-width:62% !important;
  max-height:62% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.46));
  transition:transform .42s ease,filter .42s ease;
}
.brand-card--uniao:hover > img,
.brand-card--uniao:focus-visible > img{
  transform:scale(1.035);
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.58));
}
.brand-card--uniao .brand-card-cta{
  position:absolute;
  z-index:3;
  left:14px;
  right:14px;
  bottom:13px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
  opacity:.92;
  text-align:center;
  text-shadow:0 2px 18px rgba(0,0,0,.82);
}
.brand-card--uniao:focus-visible{outline:2px solid rgba(200,168,107,.78);outline-offset:3px;}

/* UNIÃO MUNDIAL — Hero Banner usando exatamente a fotografia enviada */
.brand-showcase--uniao .brand-showcase-hero{background:#c9bfae;}
.brand-showcase--uniao .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-uniao-mundial.webp") center/cover no-repeat;
  filter:blur(22px) saturate(.86) brightness(.76);
}
.brand-showcase--uniao .brand-showcase-hero-image{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.92) brightness(.84) contrast(1.02);
}
.brand-showcase--uniao .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.78) 18%,rgba(0,0,0,.48) 40%,rgba(0,0,0,.22) 64%,rgba(0,0,0,.07) 82%,rgba(0,0,0,0) 96%),
    linear-gradient(90deg,rgba(0,0,0,.20),rgba(0,0,0,.04) 54%,rgba(0,0,0,.14));
}
.brand-showcase--uniao .brand-showcase-logo-wrap--uniao{width:min(25vw,360px);max-width:100%;}
.brand-showcase--uniao .brand-showcase-logo--uniao{
  width:100%;
  max-width:100%;
  filter:brightness(0) invert(1) drop-shadow(0 14px 30px rgba(0,0,0,.42)) !important;
}
.brand-showcase--uniao .brand-showcase-hero-content > p{color:rgba(255,255,255,.88);}
@media(max-width:760px){.brand-showcase--uniao .brand-showcase-logo-wrap--uniao{width:min(72vw,360px);}}


/* ASSA ABLOY — marca parceira: usa exatamente as imagens enviadas */
.brand-card--assa{
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  cursor:pointer !important;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.42) 52%,rgba(0,0,0,.86) 100%),
    url("../Todas as Imagens/Hero Banners/hero-assa-abloy.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.16) !important;
}
.brand-card--assa::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.14) 42%,rgba(0,0,0,.55));
  pointer-events:none;
}
.brand-card--assa > img{
  position:relative;
  z-index:2;
  display:block;
  width:58% !important;
  height:58% !important;
  max-width:58% !important;
  max-height:58% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  filter:brightness(0) invert(1) drop-shadow(0 10px 28px rgba(0,0,0,.58));
  transition:transform .42s ease,filter .42s ease;
}
.brand-card--assa:hover > img,
.brand-card--assa:focus-visible > img{
  transform:scale(1.035);
  filter:brightness(0) invert(1) drop-shadow(0 14px 32px rgba(0,0,0,.68));
}
.brand-card--assa .brand-card-cta{
  position:absolute;
  z-index:3;
  left:14px;
  right:14px;
  bottom:13px;
  text-align:center;
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.92;
  text-shadow:0 2px 18px rgba(0,0,0,.86);
}
.brand-card--assa:focus-visible{
  outline:2px solid rgba(198,161,91,.82);
  outline-offset:3px;
}

/* ASSA ABLOY — Hero Banner com a fotografia original enviada */
.brand-showcase--assa .brand-showcase-hero{
  background:#dceaf3;
}
.brand-showcase--assa .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-assa-abloy.webp") center/cover no-repeat;
  filter:blur(22px) brightness(.72) saturate(.82);
}
.brand-showcase--assa .brand-showcase-hero-image{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.88) brightness(.86) contrast(1.02);
}
.brand-showcase--assa .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.68) 18%,rgba(0,0,0,.38) 40%,rgba(0,0,0,.14) 65%,rgba(0,0,0,0) 90%),
    linear-gradient(90deg,rgba(0,0,0,.20),rgba(0,0,0,.02) 58%,rgba(0,0,0,.16));
}
.brand-showcase--assa .brand-showcase-logo-wrap--assa{
  width:min(25vw,330px);
  max-width:100%;
  justify-content:flex-start;
}
.brand-showcase--assa .brand-showcase-logo--assa{
  width:100%;
  max-width:100%;
  filter:brightness(0) invert(1) drop-shadow(0 14px 30px rgba(0,0,0,.48));
}
.brand-showcase--assa .brand-showcase-hero-content > p{
  color:rgba(255,255,255,.90);
}
@media(max-width:760px){
  .brand-showcase--assa .brand-showcase-logo-wrap--assa{width:min(68vw,340px);}
}

/* Häfele — composição alinhada à esquerda, com controle de rolagem igual aos demais showcases. */
.brand-showcase--hafele .brand-showcase-hero-content{
  left:clamp(32px,7vw,110px);
  bottom:clamp(42px,7vh,76px);
  transform:none;
  width:min(560px,46vw);
  align-items:flex-start;
  text-align:left;
}
.brand-showcase-logo-wrap--hafele{
  justify-content:flex-start;
}
@media(max-width:600px){
  .brand-showcase--hafele .brand-showcase-hero-content{
    left:20px;right:auto;transform:none;width:calc(100% - 40px);align-items:flex-start;text-align:left;
  }
}


/* LINK EXTERNO DAS MARCAS — discreto, no canto inferior direito do hero */
.brand-external-link{
  position:absolute;
  z-index:8;
  right:clamp(18px,3vw,42px);
  top:auto;
  bottom:clamp(18px,3vw,30px);
  transform:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  min-height:30px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(8,10,12,.20);
  color:rgba(255,255,255,.86);
  font-size:8px;
  font-weight:600;
  letter-spacing:.10em;
  line-height:1;
  text-decoration:none;
  text-transform:uppercase;
  text-shadow:0 1px 8px rgba(0,0,0,.42);
  box-shadow:0 5px 16px rgba(0,0,0,.14),inset 0 0 0 1px rgba(255,255,255,.035);
  backdrop-filter:blur(8px) saturate(1.02);
  -webkit-backdrop-filter:blur(8px) saturate(1.02);
  transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;
  cursor:pointer;
}
.brand-external-link span{
  font-size:19px;
  line-height:.7;
  transition:transform .28s ease;
}
.brand-external-link:hover,
.brand-external-link:focus-visible{
  transform:translateY(-1px);
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.42);
  box-shadow:0 7px 18px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.07);
}
.brand-external-link:hover span,
.brand-external-link:focus-visible span{transform:translateX(4px);}
.brand-external-link:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:4px;}
.brand-external-link.is-pending,
.brand-external-link.is-pending:hover,
.brand-external-link.is-pending:focus-visible{
  cursor:not-allowed;
  opacity:.62;
  transform:none;
  background:rgba(8,10,12,.16);
  border-color:rgba(255,255,255,.46);
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.brand-external-link.is-pending span{transform:none;}
@media(max-width:760px){
  .brand-external-link{
    right:14px;
    bottom:16px;
    max-width:calc(100% - 28px);
    min-height:28px;
    padding:6px 9px;
    font-size:7px;
    gap:5px;
  }
  .brand-external-link span{font-size:13px;}
  .brand-external-link:hover,
  .brand-external-link:focus-visible,
  .brand-external-link.is-pending,
  .brand-external-link.is-pending:hover,
  .brand-external-link.is-pending:focus-visible{transform:translateY(-1px);}
}


/* LOGO DO HEADER — presença ligeiramente maior e mais legível. */
@media(min-width:801px){
  .site-header .brand-logo,.site-header .brand-logo img{width:58px !important;height:62px !important;flex-basis:58px;}
}
@media(max-width:800px){
  .site-header .brand-logo,.site-header .brand-logo img{width:44px !important;height:48px !important;flex-basis:44px;}
}

/* HERO PRINCIPAL — mantém os três vídeos como camada visual principal. */
.hero-slide-1 .hero-video-1,.hero-slide-texas .hero-video-2,.hero-slide-blim .hero-video-3{
  display:block !important;
  visibility:visible !important;
}


/* HERO VIDEO — FINAL OVERRIDE
   Os três vídeos oficiais são a camada visual principal do Hero.
   Mantém os arquivos na biblioteca "Todas as Imagens/Videos". */
.hero-slide-1 .hero-video-1,
.hero-slide-texas .hero-video-2,
.hero-slide-blim .hero-video-3{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:#050505 !important;
  filter:none !important;
  transform:translate3d(0,0,0) !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  pointer-events:none !important;
}
.hero-slide-1 .hero-content,
.hero-slide-texas .hero-content,
.hero-slide-blim .hero-content{position:absolute !important;z-index:4 !important;}
.hero-slide-1::after,
.hero-slide-texas::after,
.hero-slide-blim::after{z-index:1 !important;}


/* PERFIL ROLD — marca parceira: utiliza exclusivamente as imagens fornecidas pelo cliente. */
.brand-card--perfil{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.16) 48%,rgba(0,0,0,.66) 100%),
    url("../Todas as Imagens/Hero Banners/hero-perfil-rold.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.14) !important;
}
.brand-card--perfil::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.08) 46%,rgba(0,0,0,.58));
}
.brand-card--perfil > img{
  position:relative;z-index:2;display:block;
  width:72% !important;height:auto !important;max-width:72% !important;
  max-height:none !important;object-fit:contain;object-position:center;
  filter:drop-shadow(0 9px 22px rgba(0,0,0,.62));
  transition:transform .45s ease,filter .45s ease;
}
.brand-card--perfil:hover > img,.brand-card--perfil:focus-visible > img{
  transform:scale(1.035);
  filter:drop-shadow(0 13px 28px rgba(0,0,0,.72));
}
.brand-card--perfil .brand-card-cta{
  position:absolute;z-index:3;left:14px;right:14px;bottom:13px;
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;opacity:.94;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.84);
}
.brand-card--perfil:focus-visible{outline:2px solid rgba(200,168,107,.78);outline-offset:3px;}
.brand-showcase--perfil .brand-showcase-hero{background:#101010;}
.brand-showcase--perfil .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-perfil-rold.webp") center/cover no-repeat;
  filter:blur(20px) saturate(.92) brightness(.72);
}
.brand-showcase--perfil .brand-showcase-hero-image{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.98) brightness(.88) contrast(1.02);
}
.brand-showcase--perfil .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.34) 22%,rgba(0,0,0,.10) 52%,rgba(0,0,0,.04) 100%),
    linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,0) 58%,rgba(0,0,0,.10));
}
.brand-showcase-hero-content--perfil{
  left:50% !important;
  top:50% !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  width:min(720px,90vw) !important;
  align-items:center !important;
  text-align:center !important;
}
.brand-showcase-logo-wrap--perfil{
  width:min(44vw,470px) !important;
  min-width:220px !important;
  justify-content:center !important;
  margin:0 0 18px !important;
}
.brand-showcase-logo--perfil{
  width:100% !important;
  max-width:100% !important;
  filter:brightness(0) invert(1) drop-shadow(0 12px 28px rgba(0,0,0,.62)) !important;
}
.brand-showcase--perfil .brand-showcase-hero-content > p{
  color:rgba(255,255,255,.94);
  text-shadow:0 2px 18px rgba(0,0,0,.58);
}
@media(max-width:600px){
  .brand-card--perfil > img{width:76% !important;max-width:76% !important;}
  .brand-showcase-hero-content--perfil{width:calc(100% - 40px) !important;}
  .brand-showcase-logo-wrap--perfil{width:min(78vw,330px) !important;min-width:0 !important;}
}

/* PERFIL ROLD — acabamento final usando exclusivamente os arquivos fornecidos. */
.brand-card--perfil{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18) 48%,rgba(0,0,0,.70)),
    url("../Todas as Imagens/Hero Banners/hero-perfil-rold.webp") !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.brand-card--perfil > img{
  position:absolute !important;
  z-index:2 !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:min(76%,420px) !important;
  max-width:76% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.68)) !important;
}
.brand-card--perfil:hover > img,
.brand-card--perfil:focus-visible > img{
  transform:translate(-50%,-50%) scale(1.035) !important;
}
.brand-card--perfil .brand-card-cta{
  z-index:4 !important;
}
.brand-showcase--perfil .brand-showcase-hero-image{
  content:url("../Todas as Imagens/Hero Banners/hero-perfil-rold.webp") !important;
}
.brand-showcase-logo--perfil{
  filter:brightness(0) invert(1) drop-shadow(0 12px 28px rgba(0,0,0,.68)) !important;
}

/* Regra de segurança: os vídeos do Hero nunca devem ser escondidos por CSS legado. */
.hero-slide .hero-video.hero-video-1,
.hero-slide .hero-video.hero-video-2,
.hero-slide .hero-video.hero-video-3{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:none !important;
}
.hero-slide-1 .hero-video-1,
.hero-slide-texas .hero-video-2,
.hero-slide-blim .hero-video-3{
  display:block !important;
}


/* PERFIL ROLD — composição alinhada ao padrão dos demais showcases de marcas.
   A fotografia e a logo continuam sendo exclusivamente os arquivos fornecidos. */
.brand-showcase--perfil .brand-showcase-hero-content--perfil{
  left:clamp(32px,7vw,110px) !important;
  right:auto !important;
  top:auto !important;
  bottom:clamp(48px,8vh,96px) !important;
  transform:none !important;
  width:min(560px,46vw) !important;
  max-width:560px !important;
  align-items:flex-start !important;
  text-align:left !important;
}
.brand-showcase--perfil .brand-showcase-logo-wrap--perfil{
  width:min(30vw,390px) !important;
  min-width:190px !important;
  max-width:100% !important;
  justify-content:flex-start !important;
  margin:0 0 16px !important;
}
.brand-showcase--perfil .brand-showcase-logo--perfil{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  filter:brightness(0) invert(1) drop-shadow(0 10px 26px rgba(0,0,0,.48)) !important;
}
.brand-showcase--perfil .brand-showcase-hero-content--perfil > p{
  max-width:560px !important;
  margin:0 !important;
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(13px,1.45vw,17px) !important;
  line-height:1.6 !important;
  text-align:left !important;
  text-shadow:0 2px 18px rgba(0,0,0,.52) !important;
}
.brand-showcase--perfil .brand-showcase-scroll{
  margin-top:14px !important;
}
@media(max-width:760px){
  .brand-showcase--perfil .brand-showcase-hero-content--perfil{
    left:20px !important;
    right:auto !important;
    bottom:28px !important;
    width:calc(100% - 40px) !important;
    max-width:none !important;
    align-items:flex-start !important;
    text-align:left !important;
  }
  .brand-showcase--perfil .brand-showcase-logo-wrap--perfil{
    width:min(70vw,320px) !important;
    min-width:0 !important;
    justify-content:flex-start !important;
  }
}

/* AVISO DE DISPONIBILIDADE — Häfele: mesma caixa usada no card ZEN. */
.brand-card--hafele > .empty-product-notice{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  justify-content:center;
  width:auto;
  margin:0;
  text-align:center;
}
/* Os links para os sites externos das marcas foram removidos do showcase. */
.brand-external-link{display:none !important;}


/* SILVANA — card de marca clicável, seguindo o mesmo padrão das outras marcas. */
.brand-card--silvana{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  cursor:pointer !important;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18) 48%,rgba(0,0,0,.72)),
    url("../Todas as Imagens/Hero Banners/hero-silvana.webp") center/cover no-repeat !important;
}
.brand-card--silvana > img{
  position:absolute !important;
  z-index:2 !important;
  left:50% !important; top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:min(76%,420px) !important; max-width:76% !important;
  height:auto !important; object-fit:contain !important;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.7)) !important;
  transition:transform .45s ease,filter .45s ease !important;
}
.brand-card--silvana:hover > img,.brand-card--silvana:focus-visible > img{
  transform:translate(-50%,-50%) scale(1.035) !important;
}
.brand-card--silvana .brand-card-cta{
  position:absolute !important; z-index:4 !important;
  left:14px !important; right:14px !important; bottom:13px !important;
  color:#fff !important; text-align:center !important;
  font-size:10px !important; font-weight:700 !important;
  letter-spacing:.12em !important; text-transform:uppercase !important;
  text-shadow:0 2px 18px rgba(0,0,0,.84) !important;
}
.brand-card--silvana:focus-visible{outline:2px solid rgba(200,168,107,.78);outline-offset:3px;}
.brand-showcase--silvana .brand-showcase-hero{background:#101010;}
.brand-showcase--silvana .brand-showcase-hero-image{object-fit:cover;object-position:center center;}
.brand-showcase-logo--silvana{filter:brightness(0) invert(1) drop-shadow(0 12px 28px rgba(0,0,0,.68)) !important;}
@media(max-width:600px){.brand-card--silvana > img{width:76% !important;max-width:76% !important;}}

/* ==========================================================
   AJUSTE FINAL — HERO / PILARES DE CONFIANÇA
   Mantém o padrão visual único entre os 3 slides.
   ========================================================== */
.hero-slide-1 .hero-product-link-wrap,
.hero-slide-texas .hero-product-link-wrap,
.hero-slide-blim .hero-product-link-wrap{
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
}

.hero-slide-1 .hero-product-name,
.hero-slide-texas .hero-product-name,
.hero-slide-blim .hero-product-name{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  text-align-last:center !important;
  vertical-align:middle !important;
  box-sizing:border-box !important;
  min-height:42px !important;
  padding:8px 16px !important;
  line-height:1.35 !important;
}

/* O botão de produto é idêntico nos três slides. */
.hero-slide-1 .hero-product-link,
.hero-slide-texas .hero-product-link,
.hero-slide-blim .hero-product-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  min-width:132px !important;
  width:auto !important;
  min-height:40px !important;
  height:40px !important;
  margin:0 !important;
  padding:0 18px !important;
  border-radius:2px !important;
  text-align:center !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* Gradiente premium dos quatro pilares. */
.quality-grid article{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(200,168,107,.14), transparent 34%),
    linear-gradient(145deg, rgba(31,33,36,.98) 0%, rgba(21,23,26,.98) 48%, rgba(12,14,16,.98) 100%) !important;
  border:1px solid rgba(200,168,107,.14) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 18px 45px rgba(0,0,0,.16) !important;
}
.quality-grid article:nth-child(2){
  background:
    radial-gradient(circle at 12% 10%, rgba(200,168,107,.12), transparent 34%),
    linear-gradient(145deg, rgba(29,31,34,.98) 0%, rgba(20,22,25,.98) 48%, rgba(11,13,15,.98) 100%) !important;
}
.quality-grid article:nth-child(3){
  background:
    radial-gradient(circle at 88% 88%, rgba(200,168,107,.13), transparent 34%),
    linear-gradient(145deg, rgba(31,32,34,.98) 0%, rgba(20,22,24,.98) 48%, rgba(11,13,15,.98) 100%) !important;
}
.quality-grid article:nth-child(4){
  background:
    radial-gradient(circle at 10% 88%, rgba(200,168,107,.12), transparent 34%),
    linear-gradient(145deg, rgba(29,31,34,.98) 0%, rgba(19,21,24,.98) 48%, rgba(10,12,14,.98) 100%) !important;
}
.quality-grid article::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:linear-gradient(115deg, transparent 25%, rgba(255,255,255,.025) 50%, transparent 75%) !important;
  opacity:.8 !important;
}
.quality-grid article > *{
  position:relative !important;
  z-index:1 !important;
}
.quality-grid article > span{
  color:rgba(200,168,107,.88) !important;
}
.quality-grid article h3{
  color:#F2F1EE !important;
}
.quality-grid article p{
  color:#A3A6A8 !important;
}

@media(max-width:650px){
  .hero-slide-1 .hero-product-name,
  .hero-slide-texas .hero-product-name,
  .hero-slide-blim .hero-product-name{
    min-height:36px !important;
    padding:7px 11px !important;
    text-align:center !important;
  }
  .hero-slide-1 .hero-product-link,
  .hero-slide-texas .hero-product-link,
  .hero-slide-blim .hero-product-link{
    min-width:132px !important;
    height:40px !important;
  }
}


/* ================================================================
   ORÇAMENTO — experiência premium, clara e acessível
   ================================================================ */
.quote-section{
  position:relative;
  grid-template-columns:minmax(280px,.86fr) minmax(360px,1.14fr);
  gap:clamp(38px,6vw,92px);
  padding-top:clamp(78px,9vw,120px)!important;
  padding-bottom:clamp(78px,9vw,120px)!important;
}
.quote-section::before{
  content:"";
  position:absolute;
  width:420px;height:420px;
  left:-180px;top:15%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(200,168,107,.10),rgba(200,168,107,0) 68%);
  pointer-events:none;
}
.quote-copy{position:relative;z-index:1}
.quote-copy .eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  padding:8px 12px;
  border:1px solid rgba(200,168,107,.25);
  border-radius:999px;
  background:rgba(200,168,107,.055);
  color:#d8c18c;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
}
.quote-copy h2{
  margin-top:18px;
  max-width:650px;
  font-size:clamp(38px,5vw,70px);
  line-height:1.03;
}
.quote-copy>p:last-child{
  max-width:520px;
  margin-top:22px;
  font-size:14px;
  line-height:1.85;
  color:#a9a7a2;
}
.quote-card{
  position:relative;
  overflow:hidden;
  z-index:1;
  padding:0;
  border:1px solid rgba(200,168,107,.30);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(24,26,29,.97),rgba(12,13,15,.96));
  box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.045);
}
.quote-card::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(125deg,rgba(200,168,107,.075),transparent 28%,transparent 72%,rgba(255,255,255,.025));
  pointer-events:none;
}
.quote-card-head{
  position:relative;
  z-index:1;
  min-height:72px;
  padding:18px 22px;
  border-bottom:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.018);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.quote-card-head strong{
  min-width:34px;height:34px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(200,168,107,.38);
  border-radius:50%;
  background:rgba(200,168,107,.10);
  color:#f0d994;
  font-size:12px;
  box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.cart-items{
  position:relative;z-index:1;
  max-height:390px;
  padding:5px 22px 0;
  scrollbar-width:thin;
  scrollbar-color:rgba(200,168,107,.35) transparent;
}
.cart-row{
  position:relative;
  grid-template-columns:78px minmax(0,1fr) auto;
  gap:15px;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:background .2s ease,transform .2s ease;
}
.cart-row:hover{background:linear-gradient(90deg,rgba(255,255,255,.025),transparent);}
.cart-row img{
  width:78px;height:78px;
  object-fit:contain;
  padding:6px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:linear-gradient(145deg,#1a1d20,#0c0d0f);
}
.cart-product-info{min-width:0;padding-right:6px}
.cart-row strong{
  display:block;
  font-size:12px;
  line-height:1.45;
  color:#f4f1ea;
}
.cart-row small{
  color:#96938d;
  font-size:10px;
  line-height:1.55;
}
.cart-quantity-label{
  margin-top:8px!important;
  color:#b8b4ac!important;
}
.cart-quantity-label b{color:#eee9df}
.cart-qty-control{
  display:inline-flex!important;
  align-items:center;
  width:max-content;
  margin-top:8px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  background:rgba(255,255,255,.035);
}
.cart-qty-control button{
  width:30px;height:28px;
  border:0!important;
  background:transparent!important;
  color:#e8e3da!important;
  font-size:15px;
  cursor:pointer;
}
.cart-qty-control button:hover{background:rgba(200,168,107,.10)!important}
.cart-qty-control span{
  min-width:30px;
  text-align:center;
  color:#e8e3da;
  font-size:11px;
  font-weight:700;
}
.remove-cart{
  align-self:start;
  width:34px;height:34px;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:10px;
  background:rgba(255,255,255,.025)!important;
  color:#98948d!important;
  cursor:pointer;
  transition:.2s ease;
}
.remove-cart:hover{border-color:rgba(220,100,100,.35)!important;color:#f0b0b0!important;background:rgba(220,100,100,.07)!important}
.cart-empty{
  position:relative;
  z-index:1;
  margin:20px 22px;
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:28px 20px;
  border:1px dashed rgba(200,168,107,.25);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(200,168,107,.055),rgba(255,255,255,.018));
  color:#8f8c86;
  font-size:12px;
  line-height:1.7;
  text-align:center;
}
.cart-empty::before{
  content:"🛒";
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(200,168,107,.25);
  border-radius:50%;
  background:rgba(200,168,107,.06);
  font-size:20px;
  filter:grayscale(.25);
}
.cart-actions{
  position:relative;z-index:1;
  margin:0;
  padding:18px 22px 22px;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.10);
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:10px;
}
.cart-actions .btn{
  min-height:48px;
  border-radius:13px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.cart-actions .btn:hover{transform:translateY(-1px)}
.cart-actions .btn:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}
.cart-actions .btn-gold{box-shadow:0 12px 30px rgba(200,168,107,.14)}
.budget-cart-toast{
  border:1px solid rgba(200,168,107,.32)!important;
  background:linear-gradient(145deg,rgba(27,29,31,.98),rgba(13,14,16,.98))!important;
  box-shadow:0 22px 60px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(18px);
}
.budget-cart-toast .cart-added-message{color:#f1ede5!important;font-weight:700}
.budget-cart-toast .cart-added-view{border-color:rgba(200,168,107,.35)!important;background:rgba(200,168,107,.08)!important;color:#e4c979!important}
@media(max-width:900px){
  .quote-section{grid-template-columns:1fr;gap:34px}
  .quote-copy h2{max-width:760px}
  .quote-card{max-width:760px;width:100%;margin:0 auto}
}
@media(max-width:560px){
  .quote-section{padding-left:18px!important;padding-right:18px!important}
  .quote-card-head{padding:16px}
  .cart-items{padding-left:16px;padding-right:16px;max-height:440px}
  .cart-row{grid-template-columns:64px minmax(0,1fr) 30px;gap:11px}
  .cart-row img{width:64px;height:64px;border-radius:12px}
  .cart-row strong{font-size:11px}
  .remove-cart{width:30px;height:30px}
  .cart-empty{margin:16px;min-height:170px}
  .cart-actions{padding:14px 16px 17px;grid-template-columns:1fr}
  .cart-actions .btn{min-height:46px}
}
@media(prefers-reduced-motion:reduce){
  .cart-row,.cart-actions .btn,.remove-cart{transition:none!important}
}

/* =========================================================
   PESQUISA + FILTROS — barra premium, acessível e responsiva
   ========================================================= */
.header-search-panel{
  position:fixed;
  top:calc(var(--header-h, 78px) + 10px);
  left:50%;
  width:min(760px,calc(100vw - 32px));
  transform:translate(-50%,-12px);
  opacity:0;
  z-index:1200;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.header-search-panel.is-open{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.header-search-inner{
  display:flex;align-items:center;gap:13px;padding:10px 12px 10px 18px;
  min-height:60px;border:1px solid rgba(200,168,107,.30);border-radius:20px;
  background:rgba(14,16,18,.96);box-shadow:0 24px 70px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.025) inset;
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)
}
.header-search-icon{font-size:24px;line-height:1;color:#c8a86b;flex:0 0 auto}
.header-search-inner input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f5f4f0;font-size:15px;font-weight:500;padding:8px 0}
.header-search-inner input::placeholder{color:#777872}
.header-search-inner button{width:38px;height:38px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.045);color:#ddd;font-size:25px;line-height:1;cursor:pointer}
.header-search-inner button:hover,.header-search-inner button:focus-visible{border-color:rgba(200,168,107,.45);color:#c8a86b}

.catalog-filter-tools{display:grid;grid-template-columns:minmax(250px,1.7fr) repeat(5,minmax(130px,1fr));gap:10px;width:100%;align-items:stretch}
.catalog-filter-tools .search,.catalog-filter-tools select{width:100%;min-width:0;height:48px}
.catalog-search{min-width:0!important}
.color-filter-wrap{position:relative;min-width:0}
.color-filter-wrap select{padding-right:12px}
.color-swatches{display:flex;align-items:center;gap:5px;position:absolute;right:34px;top:50%;transform:translateY(-50%);pointer-events:none}
.color-swatch{pointer-events:auto;width:13px;height:13px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:var(--swatch,#777);padding:0;cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.35) inset}
.color-swatch.is-selected{outline:2px solid rgba(200,168,107,.95);outline-offset:2px}
.color-swatch:hover{transform:scale(1.12)}
.filter-row{margin-top:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:rgba(255,255,255,.018)}
.catalog-head{display:block;margin-bottom:15px}
.catalog-head>div:first-child{margin-bottom:20px}
.catalog-section .empty{margin-top:18px}

@media(max-width:1100px){
  .catalog-filter-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
  .catalog-search{grid-column:1/-1}
}
@media(max-width:700px){
  .header-search-panel{top:76px;width:calc(100vw - 22px)}
  .header-search-inner{min-height:56px;border-radius:17px;padding-left:14px}
  .header-search-inner input{font-size:14px}
  .catalog-filter-tools{grid-template-columns:1fr 1fr;gap:9px}
  .catalog-search{grid-column:1/-1}
  .catalog-filter-tools select,.catalog-filter-tools .search{height:50px}
  .color-filter-wrap{grid-column:1/-1}
  .color-filter-wrap select{width:100%}
  .color-swatches{right:42px}
  .filter-row{align-items:flex-start;flex-direction:column}
  .clear-filter{width:100%;min-height:46px}
}
@media(max-width:420px){
  .catalog-filter-tools{grid-template-columns:1fr}
  .catalog-search,.color-filter-wrap{grid-column:auto}
}


/* Filtro de cores premium — seleção em painel */
.color-filter-wrap{position:relative;min-width:0}
.color-filter-trigger{width:100%;height:48px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));color:#f4f1ea;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:0 14px;cursor:pointer;text-align:left;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease}
.color-filter-trigger:hover,.color-filter-trigger:focus-visible,.color-filter-trigger[aria-expanded="true"]{border-color:rgba(200,168,107,.52);background:linear-gradient(135deg,rgba(200,168,107,.09),rgba(255,255,255,.025));box-shadow:0 8px 25px rgba(0,0,0,.12)}
.color-filter-trigger-label{font-size:9px;letter-spacing:.16em;color:#c8a86b;font-weight:800}
#colorFilterValue{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}
.color-filter-chevron{font-size:17px;color:#c8a86b;line-height:1;transform:translateY(-2px)}
.color-filter-popover{position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:min(430px,calc(100vw - 30px));padding:17px;border:1px solid rgba(200,168,107,.25);border-radius:20px;background:linear-gradient(145deg,rgba(20,20,20,.985),rgba(31,29,26,.98));box-shadow:0 24px 70px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.055);backdrop-filter:blur(18px)}
.color-filter-popover[hidden]{display:none}
.color-popover-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px;padding:2px 2px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.color-popover-head .eyebrow{display:block;margin:0 0 3px;font-size:8px;letter-spacing:.2em;color:#c8a86b}.color-popover-head strong{display:block;font-size:14px;color:#f6f3ec}
.color-filter-close{width:30px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:#ddd;font-size:21px;line-height:1;cursor:pointer}.color-filter-close:hover,.color-filter-close:focus-visible{border-color:rgba(200,168,107,.5);color:#c8a86b}
.color-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:340px;overflow:auto;padding-right:2px}
.color-option{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:9px;min-height:45px;padding:7px 9px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(255,255,255,.025);color:#eee;cursor:pointer;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.color-option:hover,.color-option:focus-visible{transform:translateY(-1px);border-color:rgba(200,168,107,.42);background:rgba(200,168,107,.075)}
.color-option.is-selected{border-color:rgba(200,168,107,.72);background:rgba(200,168,107,.10);box-shadow:inset 0 0 0 1px rgba(200,168,107,.12)}
.color-option-dot{width:20px;height:20px;border-radius:50%;display:block;background:var(--swatch,#777);border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 0 0 1px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.2)}
.color-option-name{font-size:11px;font-weight:650;line-height:1.2}.color-option-count{min-width:20px;text-align:right;font-size:10px;color:#9d9d98}
@media(max-width:700px){.color-filter-popover{position:fixed;left:11px;right:11px;top:auto;bottom:12px;width:auto;max-height:min(72vh,560px);padding:15px}.color-options{max-height:calc(min(72vh,560px) - 90px)}.color-filter-trigger{height:50px}.color-option{min-height:48px}}
@media(max-width:420px){.color-options{grid-template-columns:1fr}}

/* =========================================================
   PRODUTO — EXPERIÊNCIA FULLSCREEN PREMIUM
   Última camada: corrige apenas a apresentação do produto.
   ========================================================= */
.product-modal{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  max-height:none;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at 18% 50%,rgba(200,168,107,.075),transparent 30%),
    radial-gradient(circle at 84% 16%,rgba(255,255,255,.035),transparent 28%),
    linear-gradient(135deg,#08090a 0%,#101214 48%,#0a0b0c 100%);
  grid-template-columns:minmax(0,1.16fr) minmax(420px,.84fr);
  box-shadow:none;
  isolation:isolate;
}
.product-modal::before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 52%,rgba(218,190,135,.10),transparent 24%),
    radial-gradient(ellipse at 86% 28%,rgba(255,255,255,.045),transparent 22%);
  filter:blur(42px);
}
.product-modal::after{
  content:"";
  position:absolute;
  width:42vw;
  height:140%;
  top:-20%;
  left:30%;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.025) 48%,rgba(220,191,136,.045) 50%,transparent 57%);
  filter:blur(16px);
  transform:rotate(7deg);
}
.modal-media{
  position:relative;
  min-width:0;
  min-height:0;
  height:100%;
  padding:86px 44px 34px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:20px;
  background:
    radial-gradient(circle at 50% 46%,rgba(255,255,255,.035),transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.10));
  border-right:1px solid rgba(255,255,255,.075);
  overflow:hidden;
}
.modal-media::before{
  content:"";
  position:absolute;
  width:46%;
  aspect-ratio:1;
  left:26%;
  top:24%;
  border-radius:50%;
  background:rgba(220,190,135,.055);
  filter:blur(70px);
  pointer-events:none;
}
.modal-media>img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:center;
  border-radius:24px;
  background:rgba(255,255,255,.012);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 30px 80px rgba(0,0,0,.22);
}
.thumbs{
  position:relative;
  z-index:2;
  width:100%;
  min-width:0;
  display:flex;
  justify-content:center;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 2px 8px;
  scrollbar-width:thin;
}
.thumbs button{width:74px;height:64px;border-radius:12px;background:rgba(255,255,255,.035);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.modal-info{
  position:relative;
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:84px clamp(32px,4vw,72px) 48px;
  scrollbar-width:thin;
  background:linear-gradient(180deg,rgba(12,13,14,.72),rgba(7,8,9,.92));
}
.modal-info::before{
  content:"";
  position:absolute;
  top:14%;
  right:-18%;
  width:48%;
  aspect-ratio:1;
  border-radius:50%;
  background:rgba(200,168,107,.055);
  filter:blur(70px);
  pointer-events:none;
}
.modal-info>*{position:relative;z-index:1}
.modal-info h2{
  max-width:780px;
  font-size:clamp(32px,3.25vw,58px);
  line-height:1.02;
  margin-bottom:20px;
}
.modal-description{max-width:680px;font-size:14px;line-height:1.7;color:#aaa59d;margin-bottom:30px}
.info-block{padding:24px 0;border-top:1px solid rgba(255,255,255,.085)}
.info-block h3{font-size:10px;letter-spacing:.18em;margin-bottom:17px}
.modal-actions{padding:4px 0 28px}
.product-action-stack{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px}
.product-action-stack .btn{min-height:54px}

.product-back-btn{position:absolute;left:28px;top:24px;z-index:20}
.close-btn{position:absolute;right:28px;top:24px;z-index:20;width:44px;height:44px;background:rgba(10,11,12,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

@media(max-width:1100px){
  .product-modal{grid-template-columns:minmax(0,1fr) minmax(360px,.92fr)}
  .modal-media{padding-left:28px;padding-right:28px}
  .modal-info{padding-left:30px;padding-right:30px}
}
@media(max-width:820px){
  .product-modal{height:100dvh;grid-template-columns:1fr;grid-template-rows:minmax(330px,46dvh) minmax(0,1fr);overflow:auto}
  .modal-media{height:auto;min-height:330px;padding:78px 22px 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.075)}
  .modal-info{height:auto;min-height:0;overflow:visible;padding:30px 22px 42px}
  .modal-media>img{border-radius:18px}
  .modal-info h2{font-size:clamp(30px,8vw,46px)}
  .product-back-btn{left:16px;top:16px}
  .close-btn{right:16px;top:16px}
}
@media(max-width:520px){
  .product-modal{grid-template-rows:minmax(280px,40dvh) minmax(0,1fr)}
  .modal-media{min-height:280px;padding:70px 14px 12px}
  .modal-info{padding:25px 16px 36px}
  .modal-description{font-size:13px}
  .product-action-stack{grid-template-columns:1fr}
}
@media(max-width:360px){
}


/* =========================================================
   CORREÇÃO CIRÚRGICA — CORES DO PRODUTO
   O título e a grade são irmãos no fluxo normal do #colorBlock.
   ========================================================= */
.product-modal .modal-info > #colorBlock.product-color-block{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  position:static;
  float:none;
  clear:none;
  width:100%;
  max-width:none;
  min-width:0;
  height:auto;
  min-height:0;
  box-sizing:border-box;
  margin:0;
  padding:24px 0 30px;
  overflow:visible;
  transform:none;
  isolation:auto;
}
.product-modal .modal-info > #colorBlock.product-color-block > h3{
  display:block;
  position:static;
  flex:none;
  width:100%;
  height:auto;
  min-height:0;
  margin:0 0 22px;
  padding:0;
  box-sizing:border-box;
  line-height:1.3;
  text-align:left;
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches{
  display:grid;
  position:static;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-flow:row;
  grid-auto-rows:auto;
  align-items:start;
  align-content:start;
  justify-items:stretch;
  width:100%;
  max-width:420px;
  min-width:0;
  height:auto;
  min-height:0;
  margin:0;
  padding:0;
  box-sizing:border-box;
  gap:22px 18px;
  overflow:visible;
  transform:none;
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  position:static;
  width:100%;
  min-width:0;
  height:auto;
  min-height:70px;
  margin:0;
  padding:0;
  box-sizing:border-box;
  gap:8px;
  overflow:visible;
  transform:none;
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch{
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  place-items:center;
  position:static;
  flex:0 0 44px;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  max-width:44px;
  max-height:44px;
  margin:0;
  padding:0;
  box-sizing:border-box;
  border:2px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:transparent;
  color:transparent;
  transform:none;
  cursor:pointer;
  overflow:visible;
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch > .color-swatch-dot{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  background:var(--swatch,#888);
  pointer-events:none;
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch:hover{transform:scale(1.06);}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch.active{
  transform:scale(1.06);
  border-color:var(--gold2,#c6a15b);
  box-shadow:0 0 0 2px var(--gold2,#c6a15b),0 0 0 6px rgba(198,161,91,.14);
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-name{
  display:block;
  position:static;
  width:100%;
  max-width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  margin:0;
  padding:0 2px;
  box-sizing:border-box;
  text-align:center;
  line-height:1.25;
  font-size:9px;
  color:#c9c9c9;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  transform:none;
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch > span{
  display:block;
  position:static;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  transform:none;
  background:transparent;
  color:transparent;
  pointer-events:none;
}
.product-modal .modal-info > #colorBlock.product-color-block + .modal-actions{clear:both;margin-top:0;}
@media(max-width:820px){.product-modal .modal-info > #colorBlock.product-color-block{padding:22px 0 28px;}}
@media(max-width:520px){
  .product-modal .modal-info > #colorBlock.product-color-block > h3{margin-bottom:20px;}
  .product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 8px;max-width:100%;}
  .product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch{flex-basis:40px;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;}
  .product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-name{font-size:8.5px;}
}
@media(max-width:340px){.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches{gap:18px 4px;}}

/* =========================================================
   PRODUCT DETAIL — PREMIUM INFORMATION PANEL
   Visual refinement only. Keeps existing HTML/JS/functionality.
   ========================================================= */
.product-modal .modal-info{
  padding-top:76px;
  padding-bottom:54px;
  background:
    radial-gradient(circle at 90% 8%,rgba(198,161,91,.055),transparent 24%),
    linear-gradient(180deg,rgba(13,14,15,.94) 0%,rgba(8,9,10,.98) 100%);
}
.product-modal .modal-info::-webkit-scrollbar{width:7px}
.product-modal .modal-info::-webkit-scrollbar-track{background:transparent}
.product-modal .modal-info::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:20px}
.product-modal .modal-info::-webkit-scrollbar-thumb:hover{background:rgba(198,161,91,.38)}
.product-modal .modal-info .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 13px;
  padding:7px 11px;
  border:1px solid rgba(198,161,91,.20);
  border-radius:999px;
  background:rgba(198,161,91,.055);
  color:#c6a15b;
  font-size:9px;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.product-modal .modal-info .eyebrow::before{
  content:"";
  width:5px;height:5px;border-radius:50%;
  background:#c6a15b;
  box-shadow:0 0 12px rgba(198,161,91,.55);
}
.product-modal .modal-info h2{
  max-width:760px;
  margin:0 0 15px;
  font-weight:500;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.product-modal .modal-description{
  max-width:690px;
  margin:0 0 28px;
  color:#a7a39c;
  font-size:13px;
  line-height:1.85;
}
.product-modal .info-block{
  position:relative;
  padding:26px 0;
  border-top:1px solid rgba(255,255,255,.075);
}
.product-modal .info-block:last-child{padding-bottom:12px}
.product-modal .info-block h3{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:#e9e5dc;
  font-size:10px;
  font-weight:600;
  letter-spacing:.20em;
  line-height:1.35;
  text-transform:uppercase;
}
.product-modal .info-block h3::before{
  content:"";
  width:18px;height:1px;
  flex:0 0 18px;
  background:linear-gradient(90deg,#c6a15b,rgba(198,161,91,.08));
}

/* Paleta: elegante, compacta e visualmente integrada ao painel. */
.product-modal .modal-info > #colorBlock.product-color-block{
  padding:24px 0 29px;
  margin-top:2px;
}
.product-modal .modal-info > #colorBlock.product-color-block > h3{
  margin-bottom:20px;
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches{
  max-width:460px;
  grid-template-columns:repeat(3,minmax(72px,1fr));
  gap:22px 20px;
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option{
  min-height:78px;
  gap:9px;
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch{
  width:42px;height:42px;min-width:42px;min-height:42px;max-width:42px;max-height:42px;
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.025);
  box-shadow:0 8px 20px rgba(0,0,0,.20),inset 0 0 0 1px rgba(255,255,255,.035);
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch:hover{
  transform:translateY(-2px) scale(1.045);
  border-color:rgba(198,161,91,.62);
  box-shadow:0 10px 24px rgba(0,0,0,.25),0 0 0 3px rgba(198,161,91,.07);
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch.active{
  transform:translateY(-1px) scale(1.045);
  border-color:#c6a15b;
  box-shadow:0 0 0 2px #c6a15b,0 0 0 6px rgba(198,161,91,.11),0 10px 24px rgba(0,0,0,.25);
}
.product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-name{
  color:#aaa69f;
  font-size:8.5px;
  letter-spacing:.02em;
}

/* Informações principais/técnicas: leitura em formato de ficha premium. */
.product-modal #basicInfo,
.product-modal #technicalInfo{
  display:grid;
  grid-template-columns:minmax(105px,.72fr) minmax(0,1.28fr);
  margin:0;
  border:1px solid rgba(255,255,255,.065);
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,.018);
}
.product-modal #basicInfo dt,
.product-modal #technicalInfo dt{
  margin:0;
  padding:11px 13px;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.018);
  color:#817d76;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.45;
  text-transform:uppercase;
}
.product-modal #basicInfo dd,
.product-modal #technicalInfo dd{
  margin:0;
  padding:11px 13px;
  border-bottom:1px solid rgba(255,255,255,.055);
  color:#d4d0c8;
  font-size:10px;
  line-height:1.5;
}
.product-modal #basicInfo dt:nth-last-of-type(1),
.product-modal #basicInfo dd:nth-last-of-type(1),
.product-modal #technicalInfo dt:nth-last-of-type(1),
.product-modal #technicalInfo dd:nth-last-of-type(1){border-bottom:0}

/* Ações: hierarquia mais refinada sem mudar funcionamento. */
.product-modal .modal-actions{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:13px;
  padding:18px 0 28px;
}
.product-modal .product-quantity{
  min-width:116px;
  height:54px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:13px;
  background:rgba(255,255,255,.025);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.product-modal .product-quantity button{
  width:36px;height:36px;border-radius:9px;
  color:#c7c3bb;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.product-modal .product-quantity button:hover{background:rgba(198,161,91,.10);color:#c6a15b;transform:scale(1.04)}
.product-modal .product-action-stack{gap:9px}
.product-modal .product-action-stack .btn{
  min-height:54px;
  border-radius:12px;
  letter-spacing:.10em;
  font-size:9px;
}
.product-modal .product-action-stack .btn-gold{
  box-shadow:0 12px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.20);
}

/* Modelos e tamanhos seguem o mesmo sistema visual. */
.product-modal .required-help{
  margin:-7px 0 13px;
  color:#77736d;
  font-size:9px;
  line-height:1.5;
}
.product-modal .furo-options,
.product-modal .size-options{
  gap:8px;
}
.product-modal .furo-options button,
.product-modal .size-options button{
  min-height:42px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  color:#c9c5bd;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.product-modal .furo-options button:hover,
.product-modal .size-options button:hover{
  border-color:rgba(198,161,91,.48);
  background:rgba(198,161,91,.06);
  transform:translateY(-1px);
}

/* Desenhos técnicos: apresentação tipo galeria, sem alterar as imagens. */
.product-modal .technical-visuals{gap:14px}
.product-modal .technical-visual{
  border-color:rgba(255,255,255,.09);
  border-radius:15px;
  background:#f5f5f2;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.product-modal .technical-visual img{padding:12px}
.product-modal .technical-visual figcaption{
  padding:10px 12px;
  border-top:1px solid rgba(0,0,0,.07);
  color:#77736d;
  background:#f5f5f2;
  font-size:7px;
}
.product-modal .technical-visual:hover{
  border-color:rgba(198,161,91,.55);
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(0,0,0,.24);
}

/* Conteúdo incluído: lista limpa e sofisticada. */
.product-modal #includedInfo{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.product-modal #includedInfo li{
  position:relative;
  margin:0;
  padding:9px 12px 9px 28px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:10px;
  background:rgba(255,255,255,.018);
  color:#aaa69f;
  font-size:10px;
  line-height:1.5;
}
.product-modal #includedInfo li::before{
  content:"✓";
  position:absolute;
  left:11px;top:50%;
  transform:translateY(-50%);
  color:#c6a15b;
  font-size:10px;
}

@media(max-width:820px){
  .product-modal .modal-info{padding-top:28px;padding-bottom:42px}
  .product-modal .modal-actions{grid-template-columns:1fr;align-items:stretch}
  .product-modal .product-quantity{width:100%}
  .product-modal #basicInfo,
  .product-modal #technicalInfo{grid-template-columns:minmax(92px,.65fr) minmax(0,1.35fr)}
}
@media(max-width:520px){
  .product-modal .modal-info{padding-top:24px}
  .product-modal .modal-info .eyebrow{font-size:8px}
  .product-modal .modal-info h2{font-size:clamp(29px,8vw,43px)}
  .product-modal .info-block{padding:22px 0}
  .product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches{grid-template-columns:repeat(3,minmax(62px,1fr));gap:19px 8px}
  .product-modal .modal-info > #colorBlock.product-color-block > #colorSwatches > .color-option > .color-swatch{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px}
  .product-modal #basicInfo,
  .product-modal #technicalInfo{grid-template-columns:1fr;border-radius:12px}
  .product-modal #basicInfo dt,
  .product-modal #technicalInfo dt{padding-bottom:5px;border-bottom:0;color:#77736d}
  .product-modal #basicInfo dd,
  .product-modal #technicalInfo dd{padding-top:4px}
}


/* GRANDCASA — marca parceira: utiliza exatamente a logo fornecida. */
.brand-card--grandcasa{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.98),rgba(242,238,231,.96) 58%,rgba(224,216,202,.94) 100%) !important;
  border-color:rgba(190,145,72,.20) !important;
}
.brand-card--grandcasa::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,0) 52%,rgba(88,67,42,.08) 100%);
  pointer-events:none;
}
.brand-card--grandcasa > img{
  position:relative;
  z-index:2;
  display:block;
  width:88% !important;
  height:auto !important;
  max-width:88% !important;
  max-height:72% !important;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 8px 18px rgba(45,32,18,.14));
  transition:transform .45s ease,filter .45s ease;
}
.brand-card--grandcasa:hover > img,
.brand-card--grandcasa:focus-visible > img{
  transform:scale(1.025);
  filter:drop-shadow(0 10px 22px rgba(45,32,18,.20));
}
.brand-card--grandcasa .brand-card-cta{
  position:absolute;
  z-index:3;
  left:14px;
  right:14px;
  bottom:13px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#27231e;
  opacity:.86;
  text-align:center;
}
.brand-card--grandcasa .empty-product-notice{
  z-index:4;
  color:#27231e;
  background:rgba(255,255,255,.82);
  border-color:rgba(39,35,30,.12);
}
.brand-card--grandcasa:focus-visible{
  outline:2px solid rgba(200,168,107,.78);
  outline-offset:3px;
}
@media(max-width:600px){
  .brand-card--grandcasa > img{
    width:90% !important;
    max-width:90% !important;
  }
}

/* YALE — logo original fornecida pelo usuário. */
.brand-card--yale{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.98),rgba(242,238,231,.96) 58%,rgba(224,216,202,.94) 100%) !important;
  border-color:rgba(190,145,72,.20) !important;
}
.brand-card--yale::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,0) 52%,rgba(88,67,42,.08) 100%);
  pointer-events:none;
}
.brand-card--yale > img{
  position:relative;
  z-index:2;
  display:block;
  width:72% !important;
  height:auto !important;
  max-width:72% !important;
  max-height:72% !important;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 8px 18px rgba(45,32,18,.14));
  transition:transform .45s ease,filter .45s ease;
}
.brand-card--yale:hover > img,
.brand-card--yale:focus-visible > img{
  transform:scale(1.025);
  filter:drop-shadow(0 10px 22px rgba(45,32,18,.20));
}
.brand-card--yale .brand-card-cta{
  position:absolute;
  z-index:3;
  left:14px;
  right:14px;
  bottom:13px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#27231e;
  opacity:.86;
  text-align:center;
}
.brand-card--yale:focus-visible{
  outline:2px solid rgba(200,168,107,.78);
  outline-offset:3px;
}
@media(max-width:600px){
  .brand-card--yale > img{
    width:76% !important;
    max-width:76% !important;
  }
}

/* A FONTE ASSA ABLOY — logo original fornecida pelo usuário. */
.brand-card--afonte{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.98),rgba(242,238,231,.96) 58%,rgba(224,216,202,.94) 100%) !important;
  border-color:rgba(190,145,72,.20) !important;
}
.brand-card--afonte::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,0) 52%,rgba(88,67,42,.08) 100%);
  pointer-events:none;
}
.brand-card--afonte > img{
  position:relative;
  z-index:2;
  display:block;
  width:82% !important;
  height:auto !important;
  max-width:82% !important;
  max-height:72% !important;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 8px 18px rgba(45,32,18,.14));
  transition:transform .45s ease,filter .45s ease;
}
.brand-card--afonte:hover > img,
.brand-card--afonte:focus-visible > img{
  transform:scale(1.025);
  filter:drop-shadow(0 10px 22px rgba(45,32,18,.20));
}
.brand-card--afonte .brand-card-cta{
  position:absolute;
  z-index:3;
  left:14px;
  right:14px;
  bottom:13px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#27231e;
  opacity:.86;
  text-align:center;
}
.brand-card--afonte:focus-visible{
  outline:2px solid rgba(200,168,107,.78);
  outline-offset:3px;
}
@media(max-width:600px){
  .brand-card--afonte > img{
    width:86% !important;
    max-width:86% !important;
  }
}

/* LA FONTE — hero banner fornecido pelo cliente, usado sem alteração. */
.brand-showcase--afonte .brand-showcase-hero{
  background:#777;
}
.brand-showcase--afonte .brand-showcase-hero::before{
  background:url("../Todas as Imagens/Hero Banners/hero-afonte.webp") center/cover no-repeat;
  filter:blur(18px) saturate(.88) brightness(.84);
}
.brand-showcase--afonte .brand-showcase-hero-image{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.96) brightness(.98) contrast(1.01);
}
.brand-showcase--afonte .brand-showcase-hero-overlay{
  background:
    linear-gradient(to top,rgba(0,0,0,.68) 0%,rgba(0,0,0,.28) 20%,rgba(0,0,0,.04) 55%,rgba(0,0,0,0) 78%),
    linear-gradient(90deg,rgba(0,0,0,.04),rgba(0,0,0,0) 62%,rgba(0,0,0,.05));
}
.brand-showcase--afonte .brand-showcase-hero-content{
  left:0;
  right:0;
  bottom:clamp(26px,5vh,58px);
  width:100%;
  align-items:center;
  justify-content:flex-end;
  pointer-events:none;
}
.brand-showcase--afonte .brand-showcase-scroll{
  pointer-events:auto;
}
@media(max-width:600px){
  .brand-showcase--afonte .brand-showcase-hero-content{
    left:0;
    bottom:22px;
    width:100%;
  }
  .brand-showcase--afonte .brand-showcase-hero-image{
    object-position:center center;
  }
}

/* LA FONTE — correção: o hero fornecido também é o fundo do card da marca. */
.brand-card--afonte{
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.24) 52%,rgba(0,0,0,.70) 100%),
    url("../Todas as Imagens/Hero Banners/hero-afonte.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.14) !important;
}
.brand-card--afonte::before{
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.10) 48%,rgba(0,0,0,.58)) !important;
}
.brand-card--afonte > img{
  opacity:0 !important;
  pointer-events:none;
}
.brand-card--afonte .brand-card-cta{
  color:#fff !important;
  text-shadow:0 2px 18px rgba(0,0,0,.84);
}

/* LA FONTE — correção de carregamento/visibilidade do hero. */
.brand-showcase--afonte .brand-showcase-hero{
  position:relative;
  overflow:hidden;
  background:#777 !important;
}
.brand-showcase--afonte .brand-showcase-hero-image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:1 !important;
  visibility:visible !important;
}
.brand-showcase--afonte .brand-showcase-hero-overlay{
  z-index:2;
}
.brand-showcase--afonte .brand-showcase-hero-content{
  z-index:3;
}

/* GRANDCASA — hero banner fornecido pelo cliente no card de marca. */
.brand-card--grandcasa{
  background:
    linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,.60) 100%),
    url("../Todas as Imagens/Hero Banners/hero-grandcasa.webp") center/cover no-repeat !important;
  border-color:rgba(255,255,255,.16) !important;
}
.brand-card--grandcasa::before{
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.08) 50%,rgba(0,0,0,.50)) !important;
}
.brand-card--grandcasa > img{
  position:relative;
  z-index:2;
  width:62% !important;
  max-width:62% !important;
  max-height:62% !important;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.62));
}
.brand-card--grandcasa .brand-card-cta{
  color:#fff !important;
  text-shadow:0 2px 18px rgba(0,0,0,.84);
}
.brand-showcase--grandcasa .brand-showcase-hero{
  position:relative;
  overflow:hidden;
  background:#b88442 !important;
}
.brand-showcase--grandcasa .brand-showcase-hero::before{
  content:"";
  position:absolute;
  inset:-22px;
  background:url("../Todas as Imagens/Hero Banners/hero-grandcasa.webp") center/cover no-repeat;
  filter:blur(18px) saturate(.92) brightness(.84);
  z-index:0;
}
.brand-showcase--grandcasa .brand-showcase-hero-image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:1 !important;
  visibility:visible !important;
}
.brand-showcase--grandcasa .brand-showcase-hero-overlay{
  z-index:2;
  background:
    linear-gradient(to top,rgba(0,0,0,.66) 0%,rgba(0,0,0,.20) 25%,rgba(0,0,0,.02) 60%,rgba(0,0,0,0) 82%);
}
.brand-showcase--grandcasa .brand-showcase-hero-content{
  z-index:3;
  left:0;
  right:0;
  bottom:clamp(26px,5vh,58px);
  width:100%;
  align-items:center;
  justify-content:flex-end;
  pointer-events:none;
}
.brand-showcase--grandcasa .brand-showcase-scroll{
  pointer-events:auto;
}
@media(max-width:600px){
  .brand-card--grandcasa > img{
    width:66% !important;
    max-width:66% !important;
  }
  .brand-showcase--grandcasa .brand-showcase-hero-image{
    object-position:center center;
  }
}

/* ============================================================
   GRANDCASA + LA FONTE — padrão visual do card DSs
   Mantém a mesma estrutura/dimensão do card DSs e troca apenas
   o fundo pelo respectivo Hero Banner.
   ============================================================ */
.brand-card--grandcasa,
.brand-card--afonte{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  cursor:pointer;
  border-color:rgba(255,255,255,.12) !important;
  background-color:#121212 !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}

.brand-card--grandcasa{
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.14) 48%,rgba(0,0,0,.62) 100%),
    url("../Todas as Imagens/Hero Banners/hero-grandcasa.webp") !important;
}

.brand-card--afonte{
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.14) 48%,rgba(0,0,0,.64) 100%),
    url("../Todas as Imagens/Hero Banners/hero-afonte.webp") !important;
}

/* Mesmo tratamento estrutural do DSs: logo centralizada e contida. */
.brand-card--grandcasa > img,
.brand-card--afonte > img{
  position:relative;
  z-index:2;
  display:block;
  width:88% !important;
  height:88% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  opacity:1 !important;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.58));
  transition:transform .35s ease,filter .35s ease;
}

/* Remove os tratamentos antigos que deixavam os cards claros. */
.brand-card--grandcasa::before,
.brand-card--afonte::before{
  content:none !important;
  display:none !important;
}

.brand-card--grandcasa:hover,
.brand-card--afonte:hover{
  background-color:#121212 !important;
  border-color:rgba(200,168,107,.45) !important;
}

.brand-card--grandcasa:hover > img,
.brand-card--afonte:hover > img{
  transform:scale(1.02);
  filter:drop-shadow(0 9px 22px rgba(0,0,0,.68));
}

.brand-card--grandcasa .brand-card-cta,
.brand-card--afonte .brand-card-cta{
  position:absolute;
  z-index:3;
  left:14px;
  right:14px;
  bottom:13px;
  color:#fff !important;
  opacity:.94;
  text-align:center;
  text-shadow:0 2px 18px rgba(0,0,0,.88);
}

.brand-card--grandcasa:focus-visible,
.brand-card--afonte:focus-visible{
  outline:2px solid rgba(200,168,107,.78);
  outline-offset:3px;
}

@media(max-width:600px){
  .brand-card--grandcasa > img,
  .brand-card--afonte > img{
    width:88% !important;
    height:88% !important;
  }
}


/* YALE — utiliza exatamente o hero banner fornecido pelo usuário tanto no card quanto na vitrine. */
.brand-card--yale{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  cursor:pointer;
  background:#000 url("../Todas as Imagens/Hero Banners/hero-yale.png") center center / cover no-repeat !important;
  border-color:rgba(255,255,255,.14) !important;
}
.brand-card--yale::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.68) 100%);
  pointer-events:none;
}
.brand-card--yale > img{
  display:none !important;
}
.brand-card--yale .brand-card-cta{
  position:absolute;
  z-index:3;
  left:14px;
  right:14px;
  bottom:13px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
  opacity:.92;
  text-align:center;
  text-shadow:0 1px 10px rgba(0,0,0,.8);
}
.brand-card--yale .empty-product-notice{
  z-index:4;
}
.brand-card--yale:focus-visible{
  outline:2px solid rgba(255,210,50,.9);
  outline-offset:3px;
}
.brand-showcase--yale .brand-showcase-hero{
  background:#000;
}
.brand-showcase--yale .brand-showcase-hero-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  background:#000;
}
.brand-showcase--yale .brand-showcase-hero-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.04) 55%,rgba(0,0,0,.20));
}
.brand-showcase--yale .brand-showcase-hero-content{
  pointer-events:none;
}
.brand-showcase--yale .brand-showcase-scroll{
  pointer-events:auto;
}

/* === Account / cart hardening: clean, compact and mobile-first === */
.auth-panel{width:min(920px,calc(100vw - 28px));max-height:min(88vh,760px);overflow:auto;border-radius:28px}
.auth-copy{padding:42px 34px}
.auth-form-wrap{padding:38px 34px}
.auth-heading{margin-bottom:22px}
.auth-form{gap:13px}
.auth-form label{gap:7px}
.auth-form input{min-height:46px}
.auth-choice{gap:12px}
.auth-choice-card{min-height:104px;padding:22px;border-radius:18px}
.profile-panel{max-height:88vh;overflow:auto}
.profile-details{grid-template-columns:1fr 1fr}
@media(max-width:720px){
  .auth-panel{width:min(520px,calc(100vw - 20px));max-height:92vh}
  .auth-copy,.auth-form-wrap{padding:26px 22px}
  .auth-copy{display:none}
  .auth-form-wrap{width:100%}
  .auth-choice{grid-template-columns:1fr}
  .auth-choice-card{min-height:86px}
  .profile-details{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .auth-modal *, .profile-modal *{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* MARCAS PARCEIRAS — filtro escuro uniforme nos cards, seguindo o padrão visual DSs/ ZEN. */
.brands-grid .brand-card:not(.brand-card--dss):not(.brand-card--zen){
  background-color:rgba(0,0,0,.24) !important;
  background-blend-mode:multiply !important;
}

/* Intensidade um pouco maior nos cards fotográficos claros, mantendo logos e textos preservados. */
.brands-grid .brand-card--grandcasa,
.brands-grid .brand-card--yale,
.brands-grid .brand-card--3f{
  background-color:rgba(0,0,0,.28) !important;
}

/* === LOGO DAS MARCAS NO HERO — canto inferior esquerdo ===
   Usa exatamente a logo já existente no card da marca; nenhuma imagem nova é criada. */
.brand-showcase-corner-logo{
  position:absolute;
  left:clamp(22px,4vw,64px);
  bottom:clamp(22px,4vh,46px);
  z-index:5;
  width:min(22vw,260px);
  max-width:260px;
  max-height:82px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  pointer-events:none;
}
.brand-showcase-corner-logo img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:82px;
  height:auto;
  object-fit:contain;
  filter:brightness(0) invert(1) drop-shadow(0 8px 20px rgba(0,0,0,.48));
}
.brand-showcase-corner-logo .brand-showcase-corner-wordmark{
  display:block;
  color:#fff;
  font-size:clamp(28px,4vw,52px);
  line-height:.9;
  font-weight:800;
  letter-spacing:.04em;
  text-shadow:0 8px 20px rgba(0,0,0,.5);
}
.brand-showcase--has-corner-logo .brand-showcase-logo-wrap{
  display:none !important;
}
@media(max-width:720px){
  .brand-showcase-corner-logo{
    left:20px;
    bottom:20px;
    width:min(46vw,190px);
    max-height:62px;
  }
  .brand-showcase-corner-logo img{max-height:62px;}
  .brand-showcase-corner-logo .brand-showcase-corner-wordmark{font-size:32px;}
}

/* Qualidade — imagem de fundo fornecida pelo usuário, com filtro preto translúcido */
.quality-grid article:first-child {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #0d0d0d url("../Todas as Imagens/Qualidade/quality-card-bg.webp") center center / cover no-repeat !important;
}

.quality-grid article:first-child::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, .40) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.quality-grid article:first-child > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Confiança — utiliza a mesma imagem do card Qualidade, com filtro preto translúcido */
.quality-grid article:nth-child(3) {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #0d0d0d url("../Todas as Imagens/Qualidade/quality-card-bg.webp") center center / cover no-repeat !important;
}

.quality-grid article:nth-child(3)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, .40) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.quality-grid article:nth-child(3) > * {
  position: relative !important;
  z-index: 2 !important;
}

/* CORREÇÃO FINAL — MODAL ÁREA DO CLIENTE CENTRALIZADO E X CLICÁVEL */
.auth-modal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.auth-modal.open {
  display: flex !important;
}
.auth-panel {
  position: relative !important;
  z-index: 101 !important;
  margin: 0 !important;
  width: min(920px, calc(100vw - 40px)) !important;
  max-width: 920px !important;
  max-height: min(88dvh, 760px) !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
.auth-close {
  position: absolute !important;
  right: 18px !important;
  top: 18px !important;
  z-index: 1000 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.auth-backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: auto !important;
}
@media (max-width: 760px) {
  .auth-modal {
    padding: 12px !important;
  }
  .auth-panel {
    width: min(520px, calc(100vw - 24px)) !important;
    max-height: 94dvh !important;
    margin: 0 !important;
  }
  .auth-close {
    right: 14px !important;
    top: 14px !important;
  }
}

/* BUSCA — estado sem resultados e produtos semelhantes */
.empty-state--search{
  display:block!important;
  min-height:0;
  padding:28px;
  border:1px solid rgba(198,161,91,.30);
  background:linear-gradient(145deg,rgba(18,18,18,.97),rgba(8,8,8,.97));
  color:#f0eee9;
  text-transform:none;
  letter-spacing:normal;
}
.search-no-results{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}
.search-no-results>strong{font-size:18px;letter-spacing:.04em;text-transform:uppercase}
.search-no-results>span{font-size:13px;line-height:1.5;color:rgba(240,238,233,.72)}
.search-no-results__similar-title{margin-top:8px!important;color:#f0eee9!important;font-weight:700}
.search-similar-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}
.search-similar-card{appearance:none;border:1px solid rgba(198,161,91,.24);background:rgba(255,255,255,.035);color:#f0eee9;text-align:left;padding:14px;cursor:pointer;transition:.2s ease;display:flex;flex-direction:column;gap:5px}
.search-similar-card:hover{border-color:rgba(198,161,91,.65);background:rgba(198,161,91,.08);transform:translateY(-1px)}
.search-similar-card span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:rgba(240,238,233,.52)}
.search-similar-card strong{font-size:12px;line-height:1.35;font-weight:650}
@media(max-width:700px){.search-similar-grid{grid-template-columns:1fr}.empty-state--search{padding:22px 15px}}

/* Instagram pessoal: discreto, separado do Instagram da Designer e vinculado ao crédito do site. */
.footer-credit {
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.instagram-credit {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  color:#4f4f4f;
  opacity:.55;
  text-decoration:none;
  transition:color .2s ease, opacity .2s ease, transform .2s ease;
}
.instagram-credit svg {
  width:12px;
  height:12px;
}
.instagram-credit:hover {
  color:#8b8b8b;
  opacity:1;
  transform:translateY(-1px);
}


/* Secure customer identification */
.auth-security-note{display:block;margin:-4px 0 10px;color:rgba(255,255,255,.62);font-size:.78rem;line-height:1.5}

/* Simplified customer welcome step */
.auth-welcome{justify-content:center;text-align:center;padding-top:18px;padding-bottom:18px}
.auth-welcome .auth-heading{align-items:center}
.auth-welcome .eyebrow{margin-bottom:8px}
.auth-welcome .auth-submit{margin-top:10px}

/* HERO 01 — vídeo comercial Paris em tela cheia, sem imagem/fundo extra */
.hero-slide-1 {
  background: #000 !important;
  isolation: isolate !important;
}
.hero-slide-1 .hero-bg,
.hero-slide-1 .hero-product-stage,
.hero-slide-1 .hero-light-scene,
.hero-slide-1 picture,
.hero-slide-1 img,
.hero-slide-1 .hero-content {
  display: none !important;
}
.hero-slide-1::before,
.hero-slide-1::after {
  display: none !important;
  content: none !important;
}
.hero-slide-1 .hero-video-1 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #000 !important;
  filter: none !important;
  transform: none !important;
  pointer-events: none !important;
}


/* CORREÇÃO: restaurar textos e CTAs sobre o vídeo do primeiro hero */
.hero-slide-1 .hero-content {
  display: block !important;
  position: absolute !important;
  z-index: 3 !important;
  left: clamp(24px, 8vw, 120px) !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: min(700px, 82vw) !important;
  max-width: 700px !important;
  color: #fff !important;
  pointer-events: auto !important;
}
.hero-slide-1 .hero-content a,
.hero-slide-1 .hero-content button {
  position: relative;
  z-index: 4;
  pointer-events: auto !important;
}
.hero-slide-1::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.22) 48%, rgba(0,0,0,0) 78%) !important;
}
.hero-slide-1 .hero-video-1 {
  z-index: 0 !important;
}
@media (max-width: 700px) {
  .hero-slide-1 .hero-content {
    left: 24px !important;
    right: 24px !important;
    width: auto !important;
    max-width: none !important;
  }
  .hero-slide-1 .hero-content h1 {
    font-size: clamp(34px, 9vw, 48px) !important;
  }
}


/* Vinheta preta suave nas bordas do primeiro Hero Banner */
.hero-slide-1::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 0) 48%,
    rgba(0, 0, 0, 0.12) 68%,
    rgba(0, 0, 0, 0.34) 100%
  ) !important;
}

/* Vídeos do hero só são carregados após ação explícita do visitante */
.hero-video-play{position:absolute;z-index:5;right:24px;bottom:24px;border:1px solid rgba(255,255,255,.48);border-radius:999px;padding:10px 16px;color:#fff;background:rgba(0,0,0,.72);font-size:12px;letter-spacing:.04em;cursor:pointer}
.hero-video-play[hidden]{display:none!important}
.hero-video{background:#080808}


/* MENU FIXO — tipografia maior e mais legível */
@media (min-width: 951px) {
  .site-header .desktop-nav {
    font-size: 14px !important;
    gap: 17px !important;
  }
  .site-header .desktop-nav > a,
  .site-header .desktop-nav .products-nav-trigger {
    font-size: 14px !important;
  }
}


/* Vinheta reforçada no slide 1: mais escura e ampla, sem cobrir os textos */
.hero-slide-1::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: radial-gradient(
    ellipse at center,
    rgba(0,0,0,0.12) 18%,
    rgba(0,0,0,0.30) 42%,
    rgba(0,0,0,0.58) 68%,
    rgba(0,0,0,0.78) 100%
  ) !important;
}


/* RESPONSIVIDADE REFORCADA: smartphone, tablet e telas menores */
.site-header { box-sizing:border-box; }
.site-header .menu-btn {
  display:none;
  align-items:center; justify-content:center;
  width:42px; height:42px; flex:0 0 42px;
  border:1px solid rgba(255,255,255,.22); border-radius:8px;
  background:rgba(12,12,12,.92); color:#fff;
  font-size:25px; line-height:1; cursor:pointer;
}
@media (max-width: 950px) {
  .site-header {
    position:sticky; top:0; z-index:1000;
    display:flex; align-items:center; justify-content:space-between;
    gap:10px; padding:9px 14px;
    min-height:62px; width:100%;
  }
  .site-header .brand { min-width:0; flex:1 1 auto; }
  .site-header .brand-logo img { max-width:42px; height:auto; }
  .site-header .brand-name { font-size:13px; }
  .site-header .desktop-nav {
    display:none;
    position:absolute; top:100%; left:0; right:0;
    width:100%; max-height:calc(100dvh - 72px); overflow-y:auto;
    padding:12px 16px 18px; box-sizing:border-box;
    background:rgba(8,8,8,.98); border-top:1px solid rgba(255,255,255,.12);
    box-shadow:0 14px 28px rgba(0,0,0,.45);
    flex-direction:column; align-items:stretch; gap:0;
  }
  .site-header .desktop-nav.mobile-open { display:flex; }
  .site-header .desktop-nav > a,
  .site-header .desktop-nav .products-nav-trigger {
    display:flex; align-items:center; justify-content:space-between;
    width:100%; box-sizing:border-box; padding:13px 4px;
    font-size:15px; border-bottom:1px solid rgba(255,255,255,.10);
  }
  .site-header .desktop-nav .products-nav-item { width:100%; }
  .site-header .desktop-nav .products-dropdown {
    position:static; display:none; width:100%; max-height:none;
    overflow:visible; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:0; background:rgba(255,255,255,.045);
    padding:5px 10px; box-sizing:border-box;
  }
  .site-header .desktop-nav .products-nav-item:focus-within .products-dropdown,
  .site-header .desktop-nav .products-nav-item:hover .products-dropdown {
    display:block;
  }
  .site-header .header-actions { display:flex; align-items:center; gap:7px; flex:0 0 auto; }
  .site-header .header-actions .account-btn { display:none; }
  .site-header .header-actions .quote-btn { display:none; }
  .site-header .header-actions .icon-btn { width:38px; height:38px; }
  .site-header .menu-btn { display:flex; }
  body { overflow-x:hidden; }
  img, video, iframe { max-width:100%; }
  .hero, .hero-slider, .hero-slide { max-width:100%; }
  .hero-slide video, .hero-slide img { object-fit:cover; }
  .section, section { scroll-margin-top:76px; }
}
@media (max-width: 600px) {
  .site-header { padding:8px 10px; gap:6px; }
  .site-header .brand-logo img { max-width:36px; }
  .site-header .brand-name { font-size:12px; }
  .site-header .header-actions { gap:5px; }
  .site-header .header-actions .icon-btn { width:34px; height:34px; }
  .site-header .menu-btn { width:38px; height:38px; flex-basis:38px; font-size:23px; }
  .hero, .hero-slider, .hero-slide { min-height:0; }
  .hero-slide { height:clamp(420px, 78svh, 680px); }
  .hero-slide h1 { font-size:clamp(28px, 8vw, 44px); line-height:1.08; }
  .hero-slide p { font-size:14px; line-height:1.55; }
  .hero-slide .hero-content { width:100%; max-width:100%; padding:24px 18px; box-sizing:border-box; }
  .container, .section-inner, .catalog-container { width:100%; max-width:100%; padding-left:16px; padding-right:16px; box-sizing:border-box; }
  .products-grid, .product-grid, .brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .product-card, .brand-card { min-width:0; }
  .product-card img { max-width:100%; }
  .footer, footer { padding-left:16px; padding-right:16px; }
}
@media (max-width: 380px) {
  .site-header .brand-name { display:none; }
  .products-grid, .product-grid, .brand-grid { grid-template-columns:minmax(0,1fr); }
}
@media (min-width: 951px) and (max-width: 1200px) {
  .site-header { gap:12px; padding-left:18px; padding-right:18px; }
  .site-header .desktop-nav { gap:12px; }
  .site-header .desktop-nav > a, .site-header .products-nav-trigger { font-size:12px; }
}


/* =========================================================
   ACESSIBILIDADE — TELAS GRANDES / MONITORES / TV
   Aumenta legibilidade e área de toque sem alterar o layout
   de tablets e celulares.
   ========================================================= */
@media (min-width: 1500px) {
  body { font-size: 17px; }
  .site-header {
    height: 88px; top: 18px; left: 28px; right: 28px;
    padding: 0 28px; border-radius: 22px;
  }
  .brand { gap: 14px; min-width: 275px; }
  .brand-logo { width: 68px; height: 72px; flex-basis: 68px; }
  .brand-logo img { width: 68px; height: 72px; }
  .brand-name strong { font-size: 19px; }
  .brand-name small { font-size: 12px; letter-spacing: .16em; }
  .desktop-nav { gap: clamp(18px, 1.35vw, 30px); font-size: 15px; }
  .products-nav-trigger span { font-size: 14px; }
  .header-actions { gap: 12px; }
  .header-actions .icon-btn { width: 50px; height: 50px; font-size: 25px; }
  .account-btn { min-height: 52px; padding: 0 22px; font-size: 15px; font-weight: 600; }
  .quote-btn {
    min-height: 52px; padding: 0 25px; display: inline-flex;
    align-items: center; justify-content: center;
    font-size: 15px; font-weight: 700; border-radius: 999px;
  }
  .products-dropdown { width: 310px; padding: 16px; }
  .products-dropdown > a, .products-dropdown-group a { font-size: 14px; padding: 11px 12px; }
  .products-dropdown-group > span { font-size: 12px; padding: 7px 12px; }
  .section-kicker { font-size: 13px; }
  .section-title, .section-heading h2 { font-size: clamp(32px, 2.2vw, 46px); }
  .section-subtitle, .section-heading p { font-size: 18px; line-height: 1.65; }
  .btn, .button, .filter-btn { min-height: 48px; font-size: 15px; padding: 13px 22px; }
  .product-card h3, .product-info h3 { font-size: 17px; line-height: 1.45; }
  .product-card p, .product-info p { font-size: 15px; line-height: 1.6; }
  .product-card .price, .product-info .price { font-size: 17px; }
  .category-card h3 { font-size: 19px; }
  .category-card p { font-size: 15px; line-height: 1.5; }
  .hero-content h1 { font-size: clamp(42px, 4vw, 72px); }
  .hero-content p { font-size: clamp(17px, 1.25vw, 22px); line-height: 1.6; }
  .account-btn, .quote-btn, .icon-btn, .menu-btn { min-width: 48px; }
  :where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid #f0cf83; outline-offset: 4px;
  }
}
@media (min-width: 2100px) {
  .site-header { height: 104px; left: 42px; right: 42px; top: 24px; padding: 0 36px; }
  .brand { min-width: 320px; }
  .brand-logo { width: 82px; height: 86px; flex-basis: 82px; }
  .brand-logo img { width: 82px; height: 86px; }
  .brand-name strong { font-size: 22px; }
  .brand-name small { font-size: 13px; }
  .desktop-nav { font-size: 17px; gap: clamp(22px, 1.4vw, 36px); }
  .header-actions { gap: 16px; }
  .account-btn, .quote-btn { min-height: 60px; font-size: 17px; padding-left: 28px; padding-right: 28px; }
  .header-actions .icon-btn { width: 58px; height: 58px; font-size: 29px; }
  .products-dropdown { width: 350px; }
  .products-dropdown > a, .products-dropdown-group a { font-size: 16px; }
  .section-subtitle, .section-heading p { font-size: 20px; }
  .product-card h3, .product-info h3 { font-size: 19px; }
  .product-card p, .product-info p { font-size: 17px; }
  .category-card h3 { font-size: 22px; }
}


/* MENU FIXO — escala fluida por largura de tela (zoom do navegador em 100%) */
@media (min-width: 951px) {
  .site-header {
    height: clamp(78px, 5.2vw, 112px) !important;
    top: clamp(12px, 1.1vw, 24px) !important;
    left: clamp(18px, 2vw, 44px) !important;
    right: clamp(18px, 2vw, 44px) !important;
    padding-inline: clamp(20px, 2.2vw, 48px) !important;
    gap: clamp(12px, 1.4vw, 30px) !important;
  }
  .site-header .brand {
    min-width: clamp(220px, 19vw, 360px) !important;
    gap: clamp(10px, 1.1vw, 20px) !important;
  }
  .site-header .brand-logo,
  .site-header .brand-logo img {
    width: clamp(54px, 4.2vw, 88px) !important;
    height: clamp(56px, 4.5vw, 92px) !important;
    flex-basis: clamp(54px, 4.2vw, 88px) !important;
  }
  .site-header .brand-name strong {
    font-size: clamp(16px, 1.05vw, 23px) !important;
  }
  .site-header .brand-name small {
    font-size: clamp(10px, .65vw, 14px) !important;
  }
  .site-header .desktop-nav {
    gap: clamp(14px, 1.35vw, 32px) !important;
    font-size: clamp(13px, .82vw, 18px) !important;
    flex: 0 1 auto;
  }
  .site-header .desktop-nav > a,
  .site-header .desktop-nav .products-nav-trigger {
    font-size: clamp(13px, .82vw, 18px) !important;
    white-space: nowrap;
  }
  .site-header .products-nav-trigger span {
    font-size: clamp(11px, .72vw, 15px) !important;
  }
  .site-header .header-actions {
    gap: clamp(6px, .7vw, 16px) !important;
  }
  .site-header .header-actions .icon-btn {
    width: clamp(42px, 3.3vw, 62px) !important;
    height: clamp(42px, 3.3vw, 62px) !important;
    font-size: clamp(21px, 1.5vw, 30px) !important;
  }
  .site-header .account-btn,
  .site-header .quote-btn {
    min-height: clamp(44px, 3.5vw, 64px) !important;
    padding-inline: clamp(14px, 1.5vw, 30px) !important;
    font-size: clamp(13px, .9vw, 18px) !important;
    white-space: nowrap;
  }
  .site-header .products-dropdown {
    width: clamp(260px, 22vw, 380px) !important;
  }
  .site-header .products-dropdown > a,
  .site-header .products-dropdown-group a {
    font-size: clamp(12px, .8vw, 17px) !important;
    padding-block: clamp(9px, .65vw, 14px) !important;
  }
}
/* Em telas de celular/tablet estreito, o menu recolhido continua compacto e utilizável. */
@media (max-width: 950px) {
  .site-header { min-height: 68px !important; height: auto !important; }
}

/* CORREÇÃO: cabeçalho fixo encostado às bordas da janela */
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}


/* Ajuste solicitado: bloco de texto do slide Paris alinhado à mesma altura do slide 2 */
.hero-slide-1 .hero-content{
  top:auto!important;
  bottom:clamp(72px,10vh,112px)!important;
  left:7vw!important;
  right:auto!important;
  width:min(650px,calc(100vw - 14vw))!important;
  max-width:650px!important;
  transform:none!important;
}
@media (min-width:651px) and (max-width:1100px){
  .hero-slide-1 .hero-content{
    left:6vw!important;
    bottom:105px!important;
    width:min(590px,58vw)!important;
    max-width:590px!important;
  }
}
@media (max-width:650px){
  .hero-slide-1 .hero-content{
    top:auto!important;
    left:24px!important;
    right:24px!important;
    bottom:86px!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
  }
}
@media (max-width:380px){
  .hero-slide-1 .hero-content{left:18px!important;right:18px!important;bottom:76px!important;}
}


/* HERO — tipografia maior em monitores grandes; notebook e mobile preservados */
@media (min-width: 1500px) {
  .hero-slide .hero-kicker {
    font-size: clamp(11px, .78vw, 15px) !important;
    letter-spacing: .24em !important;
    margin-bottom: clamp(16px, 1.1vw, 24px) !important;
  }
  .hero-slide .eyebrow {
    font-size: clamp(12px, .82vw, 16px) !important;
    margin-bottom: clamp(12px, .8vw, 18px) !important;
  }
  .hero-slide h1 {
    font-size: clamp(58px, 5vw, 104px) !important;
    max-width: 900px !important;
    line-height: 1.02 !important;
  }
  .hero-slide .hero-luxury-copy {
    font-size: clamp(18px, 1.25vw, 25px) !important;
    max-width: 680px !important;
    line-height: 1.6 !important;
    margin-top: clamp(20px, 1.4vw, 30px) !important;
  }
  .hero-slide .hero-product-name {
    font-size: clamp(11px, .76vw, 15px) !important;
    max-width: 480px !important;
  }
  .hero-slide .hero-product-link-wrap {
    gap: clamp(16px, 1.2vw, 26px) !important;
    margin-top: clamp(26px, 1.7vw, 36px) !important;
  }
  .hero-slide .hero-product-link,
  .hero-slide .hero-product-link.btn,
  .hero-slide .btn-gold {
    min-width: clamp(158px, 10vw, 210px) !important;
    min-height: clamp(48px, 3.2vw, 64px) !important;
    height: auto !important;
    padding: 0 clamp(22px, 1.5vw, 32px) !important;
    font-size: clamp(11px, .78vw, 16px) !important;
  }
  .hero-slide .hero-actions {
    margin-top: clamp(16px, 1.1vw, 24px) !important;
  }
  .hero-slide .hero-ghost-link {
    font-size: clamp(11px, .76vw, 15px) !important;
  }
}
@media (min-width: 2100px) {
  .hero-slide-1 .hero-content {
    width: min(850px, 48vw) !important;
    max-width: 850px !important;
  }
}
