:root {
  --vc-blue: #0b6bb2;
  --vc-blue-dark: #08518b;
  --vc-ink: #1f2937;
  --vc-muted: #475569;
  --vc-border: #d9e2ec;
  --vc-surface: #f8fafc;
  --vc-white: #ffffff;
  --vc-success: #217a4a;
}

html:has(body.vc-shop-redesign),
body.vc-shop-redesign {
  max-width: 100%;
  overflow-x: clip;
  background: var(--vc-surface);
  color: var(--vc-ink);
}

.vc-shop-redesign .elementor-153 .elementor-element.elementor-element-89f2445 {
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 62px 24px 90px !important;
  background: var(--vc-blue-dark) !important;
}

.vc-shop-redesign .elementor-153 .elementor-element.elementor-element-89f2445::before,
.vc-shop-redesign .elementor-153 .elementor-element.elementor-element-89f2445::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.vc-shop-redesign .elementor-153 .elementor-element.elementor-element-89f2445::before {
  width: 330px;
  height: 330px;
  top: -190px;
  right: -90px;
  border: 70px solid rgba(255,255,255,.06);
}

.vc-shop-redesign .elementor-153 .elementor-element.elementor-element-89f2445::after {
  width: 210px;
  height: 210px;
  bottom: -150px;
  left: 8%;
  border: 45px solid rgba(255,255,255,.05);
}

.vc-shop-redesign .elementor-element-f37eb5d,
.vc-shop-redesign .elementor-element-bcffa97,
.vc-shop-redesign .elementor-element-bb27423 {
  position: relative;
  z-index: 1;
}

.vc-shop-eyebrow {
  display: block;
  margin: 0 auto 14px;
  color: var(--vc-white);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .09em;
  text-align: center;
  text-transform: uppercase;
  opacity: .82;
}

.vc-shop-redesign .elementor-element-f37eb5d {
  width: min(760px, 100%) !important;
}

.vc-shop-redesign .elementor-element-f37eb5d h1,
.vc-shop-redesign .elementor-element-f37eb5d h2 {
  margin: 0;
  color: var(--vc-white) !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  font-weight: 800 !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em;
}

.vc-shop-redesign .elementor-element-bcffa97 {
  width: min(680px, 100%) !important;
}

.vc-shop-redesign .elementor-element-bcffa97 p {
  margin: 0;
  color: var(--vc-white) !important;
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.6;
  opacity: .9;
}

.vc-shop-redesign .elementor-element-bb27423 {
  gap: 12px;
  margin-top: 26px !important;
}

.vc-shop-redesign .elementor-element-60a529b,
.vc-shop-redesign .elementor-element-7aba230 {
  width: auto !important;
}

.vc-shop-redesign .elementor-element-60a529b {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vc-shop-redesign .elementor-element-60a529b .elementor-heading-title,
.vc-shop-redesign .elementor-element-7aba230 .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 24px !important;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 8px !important;
  color: var(--vc-white) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-shadow: none !important;
  transform: none !important;
}

.vc-shop-redesign .elementor-element-60a529b .elementor-heading-title {
  background: var(--vc-blue) !important;
}

.vc-shop-redesign .elementor-element-7aba230 .elementor-button {
  background: transparent !important;
}

.vc-shop-redesign .elementor-element-60a529b .elementor-heading-title:hover,
.vc-shop-redesign .elementor-element-7aba230 .elementor-button:hover {
  background: var(--vc-white) !important;
  color: var(--vc-blue-dark) !important;
}

.vc-shop-redesign .elementor-153 .elementor-element.elementor-element-a24e390 {
  width: min(1240px, calc(100% - 48px));
  margin: 24px auto 0;
  padding: 0 0 72px !important;
  border-radius: 14px 14px 0 0;
  background: transparent;
}

.vc-shop-redesign .elementor-element-660da6c {
  z-index: 3;
  width: min(860px, calc(100% - 32px)) !important;
  margin: 0 auto 66px !important;
  padding: 20px !important;
  border: 1px solid var(--vc-border);
  border-radius: 14px;
  background: var(--vc-white);
  box-shadow: 0 16px 38px rgba(15,50,79,.10);
}

.vc-shop-redesign .elementor-element-660da6c .jet-ajax-search__form {
  gap: 10px;
}

.vc-shop-redesign .elementor-element-660da6c .jet-ajax-search__fields-holder {
  min-height: 54px;
  border: 1px solid var(--vc-border);
  border-radius: 8px;
  background: var(--vc-white);
}

.vc-shop-redesign .elementor-element-660da6c .jet-ajax-search__field {
  color: var(--vc-ink) !important;
  font-size: 15px;
}

.vc-shop-redesign .elementor-element-660da6c .jet-ajax-search__submit {
  min-width: 125px;
  min-height: 54px;
  border-radius: 8px !important;
  background: var(--vc-blue) !important;
  color: var(--vc-white) !important;
  font-weight: 700;
}

.vc-shop-redesign .elementor-element-660da6c .jet-ajax-search__submit:hover {
  background: var(--vc-blue-dark) !important;
}

.vc-shop-redesign .elementor-element-0c298ef h2 {
  margin: 0;
  color: var(--vc-ink);
  font-size: clamp(30px, 4vw, 44px) !important;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.vc-shop-redesign .elementor-element-e99e906 {
  margin-bottom: 36px !important;
}

.vc-shop-redesign .elementor-element-e99e906 .elementor-heading-title {
  color: var(--vc-muted) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.vc-shop-count {
  margin: 10px 0 4px;
  color: var(--vc-muted);
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

.vc-shop-redesign .elementor-element-7d1a6e9 .jet-listing-grid__items {
  margin: -12px !important;
}

.vc-shop-redesign .elementor-element-7d1a6e9 .jet-listing-grid__item {
  padding: 12px !important;
}

.vc-shop-redesign .elementor-153 .jet-listing-item .elementor-element-00302ac {
  height: 100%;
  max-width: 100% !important;
  overflow: hidden;
  border: 1px solid var(--vc-border) !important;
  border-radius: 14px !important;
  background: var(--vc-white) !important;
  box-shadow: 0 5px 18px rgba(15,50,79,.05);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.vc-shop-redesign .elementor-153 .jet-listing-item .elementor-element-00302ac:hover {
  transform: translateY(-3px);
  border-color: var(--vc-blue) !important;
  box-shadow: 0 13px 30px rgba(15,50,79,.10);
}

.vc-shop-redesign .jet-listing-item .elementor-element-ae169ca {
  min-height: 330px !important;
  max-height: 330px !important;
  padding: 22px 22px 8px;
  background: var(--vc-white);
}

.vc-shop-redesign .jet-listing-item .elementor-element-ae169ca img {
  width: 100%;
  max-width: 100%;
  max-height: 300px !important;
  object-fit: contain;
}

.vc-shop-redesign .jet-listing-item .elementor-element-2a98a09 {
  gap: 9px !important;
  padding: 18px 22px 24px !important;
  border-top: 1px solid var(--vc-border);
  border-radius: 0 !important;
  background: var(--vc-white) !important;
}

.vc-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 10px;
  margin-bottom: 3px;
}

.vc-card-meta span {
  display: inline-flex;
  padding: 5px 8px;
  border: 1px solid var(--vc-border);
  border-radius: 999px;
  background: var(--vc-surface);
  color: var(--vc-success);
  font-size: 10px;
  font-weight: 750;
  line-height: 1;
}

.vc-card-meta small {
  color: var(--vc-muted);
  font-size: 10px;
  font-weight: 600;
}

.vc-shop-redesign .jet-listing-item .elementor-element-302f142 .jet-listing-dynamic-field__content {
  min-height: 0 !important;
  color: var(--vc-ink) !important;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.35 !important;
}

.vc-shop-redesign .jet-listing-item .elementor-element-3fa187a .jet-listing-dynamic-field__content,
.vc-shop-redesign .jet-listing-item .elementor-element-3fa187a p {
  min-height: 4.65em !important;
  max-height: 4.65em !important;
  color: var(--vc-muted) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  text-align: left !important;
  -webkit-line-clamp: 3 !important;
}

.vc-shop-redesign .jet-listing-item .elementor-element-844105a {
  min-height: 48px !important;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid var(--vc-border);
}

.vc-shop-redesign .jet-listing-item .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 9px;
  color: var(--vc-blue-dark) !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 1.2;
}

.vc-shop-redesign .jet-listing-item .price del {
  color: var(--vc-muted);
  font-size: 12px;
  font-weight: 500;
  opacity: .8;
}

.vc-shop-redesign .jet-listing-item .price ins {
  color: var(--vc-blue-dark) !important;
  text-decoration: none;
}

.vc-shop-redesign .jet-listing-item .jet-engine-listing-overlay-link:focus-visible,
.vc-shop-redesign a:focus-visible,
.vc-shop-redesign button:focus-visible,
.vc-shop-redesign input:focus-visible {
  outline: 3px solid rgba(11,107,178,.28);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .vc-shop-redesign .elementor-153 .elementor-element.elementor-element-89f2445 {
    min-height: 0;
    padding: 54px 20px 96px !important;
  }

  .vc-shop-redesign .elementor-element-f37eb5d h1,
  .vc-shop-redesign .elementor-element-f37eb5d h2 {
    font-size: 34px !important;
  }

  .vc-shop-redesign .elementor-element-bb27423 {
    flex-direction: column !important;
    align-items: stretch;
  }

  .vc-shop-redesign .elementor-element-60a529b,
  .vc-shop-redesign .elementor-element-7aba230,
  .vc-shop-redesign .elementor-element-60a529b .elementor-heading-title,
  .vc-shop-redesign .elementor-element-7aba230 .elementor-button {
    width: 100% !important;
  }

  .vc-shop-redesign .elementor-153 .elementor-element.elementor-element-a24e390 {
    width: calc(100% - 28px);
    margin-top: -54px;
    padding-bottom: 48px !important;
  }

  .vc-shop-redesign .elementor-element-660da6c {
    width: 100% !important;
    margin-bottom: 52px !important;
    padding: 12px !important;
  }

  .vc-shop-redesign .jet-ajax-search__form {
    display: flex;
    flex-direction: column;
  }

  .vc-shop-redesign .jet-ajax-search__submit {
    width: 100%;
  }

  .vc-shop-redesign .elementor-element-7d1a6e9 .jet-listing-grid__items {
    margin: 0 !important;
  }

  .vc-shop-redesign .elementor-element-7d1a6e9 .jet-listing-grid__item {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 18px !important;
  }

  .vc-shop-redesign .jet-listing-item.single-jet-engine.elementor-page-115 > .elementor,
  .vc-shop-redesign .jet-listing-item .elementor-element-00302ac {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .vc-shop-redesign .jet-listing-item .elementor-element-ae169ca {
    min-height: 290px !important;
    max-height: 290px !important;
  }

  .vc-shop-redesign .jet-listing-item .elementor-element-ae169ca img {
    max-height: 265px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vc-shop-redesign * { transition: none !important; }
}

/* Versão 2: catálogo editorial com paginação real */
.vc-shop-redesign .elementor-153 .elementor-element.elementor-element-89f2445 {
  align-items: flex-start !important;
  min-height: 0 !important;
  padding: 44px max(24px, calc((100vw - 1160px) / 2)) 50px !important;
}

.vc-shop-redesign .elementor-element-f37eb5d,
.vc-shop-redesign .elementor-element-bcffa97 {
  width: min(900px, 100%) !important;
  align-self: flex-start !important;
}

.vc-shop-redesign .elementor-element-bcffa97 {
  width: min(720px, 100%) !important;
}

.vc-shop-redesign .elementor-element-f37eb5d h1,
.vc-shop-redesign .elementor-element-f37eb5d h2,
.vc-shop-redesign .elementor-element-bcffa97 .elementor-widget-container,
.vc-shop-redesign .elementor-element-bcffa97 p { text-align: left !important; }

.vc-shop-redesign .elementor-element-bb27423 { justify-content: flex-start !important; }

.vc-shop-benefits { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:22px; }
.vc-shop-benefits span { display:inline-flex; align-items:center; gap:7px; color:var(--vc-white); font-size:12px; font-weight:650; opacity:.9; }
.vc-shop-benefits span::before { content:"✓"; font-weight:800; }

.vc-catalog { width:100%; }
.vc-shop-search-active .vc-shop-count { display:none!important; }
.vc-catalog-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--vc-border); }
.vc-catalog-head div { display:grid; gap:4px; }
.vc-catalog-head span { color:var(--vc-blue-dark); font-size:11px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.vc-catalog-head strong { color:var(--vc-ink); font-size:20px; }
.vc-catalog-head p { margin:0; color:var(--vc-muted); font-size:13px; }
.vc-catalog-head small { color:var(--vc-muted); font-size:13px; }
.vc-catalog-head small a { color:var(--vc-blue-dark); font-weight:700; }
.vc-catalog-empty { grid-column:1/-1; padding:48px 24px; border:1px dashed var(--vc-border); border-radius:14px; background:var(--vc-white); text-align:center; }
.vc-catalog-empty strong { display:block; color:var(--vc-ink); font-size:20px; }
.vc-catalog-empty p { color:var(--vc-muted); }
.vc-catalog-empty a { color:var(--vc-blue-dark); font-weight:700; }

.vc-category-nav { display:flex; gap:8px; margin:0 0 28px; padding-bottom:4px; overflow-x:auto; scrollbar-width:thin; }
.vc-category-nav a { flex:0 0 auto; padding:9px 13px; border:1px solid var(--vc-border); border-radius:8px; background:var(--vc-white); color:var(--vc-muted); font-size:12px; font-weight:650; text-decoration:none; }
.vc-category-nav a:hover,
.vc-category-nav a.is-active { border-color:var(--vc-blue); background:var(--vc-blue); color:var(--vc-white); }

.vc-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.vc-product-card { display:grid; grid-template-columns:190px minmax(0,1fr); min-width:0; overflow:hidden; border:1px solid var(--vc-border); border-radius:14px; background:var(--vc-white); box-shadow:0 5px 18px rgba(15,50,79,.05); transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.vc-product-card:hover { transform:translateY(-3px); border-color:var(--vc-blue); box-shadow:0 13px 30px rgba(15,50,79,.10); }
.vc-product-image { display:flex; align-items:center; justify-content:center; min-height:290px; padding:18px; border-right:1px solid var(--vc-border); background:var(--vc-surface); }
.vc-product-image img { width:100%; height:250px; object-fit:contain; }
.vc-product-body { display:flex; flex-direction:column; min-width:0; padding:20px; }
.vc-product-flags { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.vc-product-flags span { padding:5px 8px; border:1px solid var(--vc-border); border-radius:999px; background:var(--vc-surface); color:var(--vc-success); font-size:10px; font-weight:750; }
.vc-product-flags small { color:var(--vc-muted); font-size:10px; font-weight:600; }
.vc-product-card h3 { margin:0 0 9px; font-size:17px; line-height:1.34; }
.vc-product-card h3 a { color:var(--vc-ink); text-decoration:none; }
.vc-product-card > .vc-product-body > p { margin:0 0 18px; color:var(--vc-muted); font-size:13px; line-height:1.55; }
.vc-product-buy { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:14px; border-top:1px solid var(--vc-border); }
.vc-product-price { color:var(--vc-blue-dark); font-size:20px; font-weight:800; line-height:1.15; }
.vc-product-price del { display:block; color:var(--vc-muted); font-size:11px; font-weight:500; opacity:.8; }
.vc-product-price ins { color:var(--vc-blue-dark); text-decoration:none; }
.vc-product-button { flex:0 0 auto; padding:10px 12px; border-radius:8px; background:var(--vc-blue); color:var(--vc-white)!important; font-size:12px; font-weight:700; text-decoration:none!important; }
.vc-product-button:hover { background:var(--vc-blue-dark); }

.vc-pagination { display:flex; justify-content:center; gap:8px; margin-top:38px; }
.vc-pagination a { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid var(--vc-border); border-radius:8px; background:var(--vc-white); color:var(--vc-ink); font-weight:700; text-decoration:none; }
.vc-pagination a:hover,
.vc-pagination a.is-current { border-color:var(--vc-blue); background:var(--vc-blue); color:var(--vc-white); }

@media (min-width:768px) and (max-width:1050px) { .vc-product-grid { grid-template-columns:1fr; } }

@media (max-width:767px) {
  .vc-shop-redesign .elementor-153 .elementor-element.elementor-element-89f2445 { padding:38px 20px 44px!important; }
  .vc-shop-redesign .elementor-element-f37eb5d,
  .vc-shop-redesign .elementor-element-bcffa97 { width:100%!important; }
  .vc-catalog-head { align-items:flex-start; flex-direction:column; }
  .vc-product-grid { grid-template-columns:1fr; }
  .vc-product-card { grid-template-columns:1fr; }
  .vc-product-image { min-height:275px; border-right:0; border-bottom:1px solid var(--vc-border); }
  .vc-product-image img { height:240px; }
}
