/* Marcenaria Santos | Catálogo v1.9.3
   Interface editorial para móveis, com navegação de gestão integrada e
   regras escopadas para evitar interferência do tema WordPress. */

.cmp-catalog,
.cmp-manager,
.cmp-access-card,
.cmp-access-shell {
  --cmp-bg: #f8f7f4;
  --cmp-surface: #ffffff;
  --cmp-surface-soft: #faf9f6;
  --cmp-text: #242922;
  --cmp-text-2: #3e483c;
  --cmp-muted: #738070;
  --cmp-line: #e2e5de;
  --cmp-line-strong: #cdd3c8;
  --cmp-primary: #40533b;
  --cmp-primary-dark: #293d29;
  --cmp-primary-soft: #edf1e9;
  --cmp-success: #2d693e;
  --cmp-success-soft: #eaf4e9;
  --cmp-danger: #af4a3a;
  --cmp-danger-soft: #fff0ec;
  --cmp-radius: 20px;
  --cmp-radius-sm: 12px;
  --cmp-shadow: 0 12px 30px rgba(28, 44, 24, .045);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  color: var(--cmp-text) !important;
  line-height: 1.45 !important;
  box-sizing: border-box !important;
}

.cmp-catalog *, .cmp-catalog *::before, .cmp-catalog *::after,
.cmp-manager *, .cmp-manager *::before, .cmp-manager *::after,
.cmp-access-card *, .cmp-access-card *::before, .cmp-access-card *::after,
.cmp-access-shell *, .cmp-access-shell *::before, .cmp-access-shell *::after {
  box-sizing: border-box !important;
}

.cmp-catalog h2, .cmp-catalog h3, .cmp-catalog p,
.cmp-manager h2, .cmp-manager h3, .cmp-manager h4, .cmp-manager p,
.cmp-access-card p, .cmp-access-shell p {
  margin: 0 !important;
}

.cmp-catalog button, .cmp-manager button,
.cmp-catalog input, .cmp-manager input,
.cmp-catalog select, .cmp-manager select,
.cmp-catalog textarea, .cmp-manager textarea {
  font: inherit !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.cmp-catalog [hidden], .cmp-manager [hidden] { display: none !important; }

/* ---------- estrutura ---------- */
.cmp-catalog,
.cmp-manager {
  width: 100% !important;
  background: var(--cmp-bg) !important;
  border: 1px solid #e5e8e1 !important;
  border-radius: 22px !important;
  padding: 22px !important;
}

.cmp-eyebrow,
.cmp-step-label {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  padding: 5px 9px !important;
  margin: 0 0 8px !important;
  border-radius: 999px !important;
  border: 1px solid #dce5d7 !important;
  background: var(--cmp-primary-soft) !important;
  color: var(--cmp-primary-dark) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.cmp-catalog__hero,
.cmp-manager__header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 0 0 18px !important;
  margin: 0 !important;
}

.cmp-catalog__hero h2,
.cmp-manager__header h2 {
  margin: 0 0 5px !important;
  color: var(--cmp-text) !important;
  font-size: clamp(26px, 3vw, 36px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
  font-weight: 800 !important;
}

.cmp-catalog__hero p,
.cmp-manager__header p,
.cmp-manager-panel__top p,
.cmp-form-section__intro p,
.cmp-image-uploader__info p {
  color: var(--cmp-muted) !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

.cmp-catalog__count {
  flex: 0 0 auto !important;
  min-width: 168px !important;
  padding: 12px 15px !important;
  background: var(--cmp-surface) !important;
  border: 1px solid var(--cmp-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--cmp-shadow) !important;
}
.cmp-catalog__count strong { display:block !important; font-size:24px !important; line-height:1.05 !important; color:var(--cmp-text) !important; }
.cmp-catalog__count span { display:block !important; margin-top:3px !important; color:var(--cmp-muted) !important; font-size:12px !important; }

/* ---------- botões ---------- */
.cmp-btn {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 9px 15px !important;
  border-radius: 11px !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background .15s ease, border-color .15s ease, transform .12s ease !important;
}
.cmp-btn:hover { transform: translateY(-1px) !important; }
.cmp-btn--primary { background:var(--cmp-primary) !important; border-color:var(--cmp-primary) !important; color:#fff !important; }
.cmp-btn--primary:hover { background:var(--cmp-primary-dark) !important; border-color:var(--cmp-primary-dark) !important; }
.cmp-btn--secondary { background:var(--cmp-primary-soft) !important; border-color:#dce5d7 !important; color:var(--cmp-primary-dark) !important; }
.cmp-btn--ghost { background:var(--cmp-surface) !important; border-color:var(--cmp-line) !important; color:var(--cmp-text-2) !important; }
.cmp-btn--full { width:100% !important; }
.cmp-btn--large { min-height:44px !important; padding:10px 18px !important; font-size:14px !important; }

/* ---------- campos ---------- */
.cmp-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  margin: 0 !important;
  min-width: 0 !important;
}
.cmp-field label { margin:0 !important; color:var(--cmp-text-2) !important; font-size:12.5px !important; font-weight:800 !important; line-height:1.3 !important; }
.cmp-field label em { color:var(--cmp-danger) !important; font-size:10.5px !important; font-style:normal !important; font-weight:800 !important; margin-left:3px !important; }
.cmp-field small, .cmp-muted-note, .cmp-inline-help { color:var(--cmp-muted) !important; font-size:11.5px !important; line-height:1.4 !important; }

.cmp-field input,
.cmp-field select,
.cmp-field textarea,
.cmp-sort-form select,
.cmp-manager-search input,
.cmp-manager-search select {
  appearance: none !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  border: 1px solid var(--cmp-line-strong) !important;
  border-radius: 10px !important;
  background: var(--cmp-surface) !important;
  color: var(--cmp-text) !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 13px !important;
}
.cmp-field textarea { min-height:84px !important; resize:vertical !important; }
.cmp-field input::placeholder, .cmp-field textarea::placeholder, .cmp-manager-search input::placeholder { color:#8b9786 !important; opacity:1 !important; }
.cmp-field input:focus, .cmp-field select:focus, .cmp-field textarea:focus,
.cmp-sort-form select:focus, .cmp-manager-search input:focus, .cmp-manager-search select:focus {
  border-color:var(--cmp-primary) !important;
  box-shadow:0 0 0 3px rgba(64,83,59,.12) !important;
}

.cmp-two-cols { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
.cmp-three-cols { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; }
.cmp-form-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
.cmp-field--span-2 { grid-column:span 2 !important; }

/* ---------- vitrine / filtros ---------- */
.cmp-catalog__layout { display:grid !important; grid-template-columns:minmax(248px,280px) minmax(0,1fr) !important; gap:20px !important; }
.cmp-filter-panel {
  position:sticky !important; top:20px !important; align-self:start !important;
  padding:16px !important; margin:0 !important;
  background:var(--cmp-surface) !important; border:1px solid var(--cmp-line) !important;
  border-radius:16px !important; box-shadow:var(--cmp-shadow) !important;
}
.cmp-filter-panel__heading { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; margin:0 0 12px !important; }
.cmp-filter-panel h3 { margin:0 !important; font-size:18px !important; line-height:1.2 !important; color:var(--cmp-text) !important; }
.cmp-filter-panel .cmp-eyebrow { margin-bottom:4px !important; }
.cmp-filter-form { margin:0 !important; padding:0 !important; }
.cmp-filter-form > .cmp-field { margin-bottom:10px !important; }
.cmp-filter-group { margin:0 !important; padding:11px 0 !important; border-top:1px solid var(--cmp-line) !important; }
.cmp-filter-group__title { display:block !important; margin:0 0 7px !important; color:var(--cmp-text) !important; font-size:12.5px !important; font-weight:900 !important; }
.cmp-filter-group__title small { color:var(--cmp-muted) !important; font-size:10.5px !important; font-weight:700 !important; }
.cmp-filter-panel .cmp-two-cols .cmp-field { gap:5px !important; }
.cmp-filter-panel .cmp-field input, .cmp-filter-panel .cmp-field select { min-height:38px !important; padding:8px 10px !important; }
.cmp-filter-actions { display:grid !important; gap:8px !important; margin:0 !important; padding:12px 0 0 !important; border-top:1px solid var(--cmp-line) !important; }
.cmp-filter-toggle { display:none !important; }

.cmp-results-toolbar { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; margin:0 0 12px !important; padding:10px 12px !important; background:var(--cmp-surface) !important; border:1px solid var(--cmp-line) !important; border-radius:12px !important; }
.cmp-results-toolbar__summary { color:var(--cmp-muted) !important; font-size:12.5px !important; }
.cmp-results-toolbar__summary strong { color:var(--cmp-text) !important; }
.cmp-sort-form { display:flex !important; align-items:center !important; gap:7px !important; margin:0 !important; }
.cmp-sort-form label { color:var(--cmp-muted) !important; font-size:12px !important; font-weight:800 !important; }
.cmp-sort-form select { width:auto !important; min-width:150px !important; min-height:36px !important; padding:7px 10px !important; }

.cmp-product-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; }
.cmp-card { margin:0 !important; overflow:hidden !important; background:var(--cmp-surface) !important; border:1px solid var(--cmp-line) !important; border-radius:16px !important; box-shadow:0 7px 22px rgba(15,23,42,.055) !important; }
.cmp-card__image { appearance:none !important; display:block !important; width:100% !important; aspect-ratio:4/3 !important; margin:0 !important; padding:0 !important; border:0 !important; background:#f0f2ed !important; overflow:hidden !important; position:relative !important; cursor:zoom-in !important; }
.cmp-card__image:disabled { cursor:default !important; }
.cmp-card__image img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.cmp-card__placeholder { width:100% !important; height:100% !important; display:flex !important; align-items:center !important; justify-content:center !important; color:var(--cmp-muted) !important; font-size:12px !important; font-weight:800 !important; }
.cmp-card__zoom { position:absolute !important; right:10px !important; bottom:10px !important; width:30px !important; height:30px !important; display:grid !important; place-items:center !important; border-radius:50% !important; background:rgba(255,255,255,.95) !important; color:var(--cmp-text) !important; }
.cmp-card__body { padding:14px !important; }
.cmp-card__categories { display:flex !important; flex-wrap:wrap !important; gap:5px !important; margin:0 0 8px !important; }
.cmp-card__categories span { padding:4px 7px !important; border-radius:999px !important; background:var(--cmp-primary-soft) !important; color:var(--cmp-primary-dark) !important; font-size:10px !important; font-weight:800 !important; }
.cmp-card h3 { margin:0 0 6px !important; color:var(--cmp-text) !important; font-size:16px !important; line-height:1.25 !important; font-weight:800 !important; }
.cmp-card__description { min-height:36px !important; margin:0 0 12px !important; color:var(--cmp-muted) !important; font-size:12px !important; line-height:1.45 !important; }
.cmp-card__bottom { display:flex !important; flex-direction:column !important; gap:9px !important; }
.cmp-card__price { color:var(--cmp-text) !important; font-size:21px !important; line-height:1.1 !important; font-weight:900 !important; }
.cmp-card__dimensions { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:6px !important; }
.cmp-card__dimensions span { padding:6px 4px !important; border:1px solid var(--cmp-line) !important; border-radius:8px !important; background:var(--cmp-surface-soft) !important; color:var(--cmp-muted) !important; text-align:center !important; font-size:10.5px !important; }
.cmp-card__dimensions b { color:var(--cmp-text) !important; }

/* ---------- paginação / estados ---------- */
.cmp-pagination { display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:center !important; gap:6px !important; margin:18px 0 0 !important; }
.cmp-pagination a, .cmp-pagination span { min-width:34px !important; height:34px !important; padding:0 8px !important; display:grid !important; place-items:center !important; border:1px solid var(--cmp-line) !important; border-radius:9px !important; background:var(--cmp-surface) !important; color:var(--cmp-text-2) !important; text-decoration:none !important; font-size:12px !important; font-weight:800 !important; }
.cmp-pagination .is-current { background:var(--cmp-primary) !important; border-color:var(--cmp-primary) !important; color:#fff !important; }
.cmp-pagination > span:not(.is-current) { border:0 !important; background:transparent !important; }
.cmp-empty-state { padding:32px 20px !important; margin:0 !important; text-align:center !important; background:var(--cmp-surface) !important; border:1px dashed var(--cmp-line-strong) !important; border-radius:14px !important; }
.cmp-empty-state__icon { width:44px !important; height:44px !important; display:grid !important; place-items:center !important; margin:0 auto 10px !important; border-radius:50% !important; background:var(--cmp-primary-soft) !important; color:var(--cmp-primary) !important; }
.cmp-empty-state h3 { margin:0 0 5px !important; color:var(--cmp-text) !important; font-size:17px !important; }
.cmp-empty-state p { max-width:500px !important; margin:0 auto 12px !important; color:var(--cmp-muted) !important; font-size:12.5px !important; }
.cmp-empty-state--small { padding:26px 18px !important; }

/* ---------- lightbox ---------- */
.cmp-lightbox { position:fixed !important; inset:0 !important; z-index:999999 !important; display:grid !important; place-items:center !important; padding:22px !important; }
.cmp-lightbox__backdrop { appearance:none !important; position:absolute !important; inset:0 !important; margin:0 !important; padding:0 !important; border:0 !important; background:rgba(8,13,24,.78) !important; }
.cmp-lightbox__dialog { position:relative !important; z-index:1 !important; max-width:min(1000px,94vw) !important; max-height:90vh !important; }
.cmp-lightbox__dialog img { max-width:100% !important; max-height:88vh !important; display:block !important; border-radius:14px !important; background:#fff !important; }
.cmp-lightbox__close { appearance:none !important; position:absolute !important; right:-12px !important; top:-12px !important; width:36px !important; height:36px !important; margin:0 !important; padding:0 !important; display:grid !important; place-items:center !important; border:0 !important; border-radius:50% !important; background:#fff !important; color:var(--cmp-text) !important; font-size:23px !important; cursor:pointer !important; }
body.cmp-no-scroll { overflow:hidden !important; }

/* ---------- painel gerenciador ---------- */
.cmp-manager-tabs { display:flex !important; gap:6px !important; margin:0 0 14px !important; padding:0 !important; overflow-x:auto !important; border-bottom:1px solid var(--cmp-line-strong) !important; }
.cmp-manager-tabs a { display:inline-flex !important; align-items:center !important; min-height:38px !important; margin:0 0 -1px !important; padding:8px 13px !important; border:1px solid transparent !important; border-bottom:0 !important; border-radius:10px 10px 0 0 !important; background:transparent !important; color:var(--cmp-muted) !important; text-decoration:none !important; white-space:nowrap !important; font-size:12.5px !important; font-weight:800 !important; }
.cmp-manager-tabs a.is-active { background:var(--cmp-surface) !important; border-color:var(--cmp-line-strong) !important; color:var(--cmp-primary-dark) !important; box-shadow:inset 0 3px 0 var(--cmp-primary) !important; }

.cmp-manager-panel { margin:0 !important; padding:0 !important; background:var(--cmp-surface) !important; border:1px solid var(--cmp-line) !important; border-radius:16px !important; box-shadow:var(--cmp-shadow) !important; overflow:hidden !important; }
.cmp-manager-panel__top { display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:14px !important; margin:0 !important; padding:18px 20px 0 !important; }
.cmp-manager-panel__top h3 { margin:0 0 3px !important; color:var(--cmp-text) !important; font-size:18px !important; line-height:1.25 !important; font-weight:800 !important; }

/* Busca e filtro do gerenciamento: compactos e separados do cabeçalho */
.cmp-manager-search { display:flex !important; align-items:center !important; gap:8px !important; flex-wrap:wrap !important; margin:0 !important; padding:14px 20px 16px !important; }
.cmp-manager-search__input { flex:1 1 260px !important; display:flex !important; align-items:center !important; gap:7px !important; min-height:40px !important; padding:0 11px !important; margin:0 !important; border:1px solid var(--cmp-line-strong) !important; border-radius:10px !important; background:var(--cmp-surface-soft) !important; color:var(--cmp-muted) !important; }
.cmp-manager-search__input span { flex:none !important; font-size:16px !important; }
.cmp-manager-search__input input { flex:1 !important; min-height:36px !important; padding:7px 0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
.cmp-manager-search select { width:auto !important; min-width:155px !important; min-height:40px !important; background:var(--cmp-surface-soft) !important; }

/* Lista de produtos: leitura em linha, não tabela */
.cmp-admin-product-list { margin:0 20px 18px !important; border:1px solid var(--cmp-line) !important; border-radius:13px !important; overflow:hidden !important; background:var(--cmp-line) !important; }
.cmp-admin-product-row { display:grid !important; grid-template-columns:52px minmax(190px,1fr) minmax(105px,auto) minmax(210px,auto) auto auto !important; grid-template-areas:"thumb main price dims status actions" !important; align-items:center !important; gap:14px !important; margin:0 !important; padding:12px !important; background:var(--cmp-surface) !important; border-bottom:1px solid var(--cmp-line) !important; }
.cmp-admin-product-row:last-child { border-bottom:0 !important; }
.cmp-admin-product-row:hover { background:#fbfcfa !important; }
.cmp-admin-product__thumb { grid-area:thumb !important; width:52px !important; height:52px !important; overflow:hidden !important; display:grid !important; place-items:center !important; border:1px solid var(--cmp-line) !important; border-radius:9px !important; background:#f0f2ed !important; }
.cmp-admin-product__thumb img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.cmp-admin-product__thumb span { color:var(--cmp-muted) !important; font-size:9.5px !important; font-weight:700 !important; text-align:center !important; }
.cmp-admin-product__main { grid-area:main !important; min-width:0 !important; }
.cmp-admin-product__main > strong { display:block !important; overflow:hidden !important; text-overflow:ellipsis !important; color:var(--cmp-text) !important; font-size:13.5px !important; font-weight:800 !important; line-height:1.3 !important; }
.cmp-admin-product__main > small { display:block !important; margin-top:2px !important; color:#8b9786 !important; font-size:10.5px !important; }
.cmp-admin-product__cats { display:flex !important; flex-wrap:wrap !important; gap:4px !important; margin-top:5px !important; }
.cmp-admin-product__cats span { padding:2px 7px !important; border-radius:999px !important; background:var(--cmp-primary-soft) !important; color:var(--cmp-primary-dark) !important; font-size:9.5px !important; font-weight:800 !important; }
.cmp-admin-product__price { grid-area:price !important; white-space:nowrap !important; }
.cmp-admin-product__dims { grid-area:dims !important; white-space:nowrap !important; }
.cmp-admin-product__price small, .cmp-admin-product__dims small { display:block !important; margin-bottom:2px !important; color:#8b9786 !important; font-size:9.5px !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.04em !important; }
.cmp-admin-product__price strong { color:var(--cmp-text) !important; font-size:13px !important; }
.cmp-admin-product__dims span { color:var(--cmp-muted) !important; font-size:11px !important; }
.cmp-admin-product__dims b { color:var(--cmp-text-2) !important; font-weight:800 !important; }
.cmp-admin-product__status { grid-area:status !important; }
.cmp-status { display:inline-flex !important; align-items:center !important; gap:5px !important; margin:0 !important; padding:5px 8px !important; border-radius:999px !important; font-size:10.5px !important; font-weight:900 !important; white-space:nowrap !important; }
.cmp-status::before { content:"" !important; width:6px !important; height:6px !important; border-radius:50% !important; background:currentColor !important; }
.cmp-status--active { background:var(--cmp-success-soft) !important; color:var(--cmp-success) !important; }
.cmp-status--inactive { background:#f1f5f9 !important; color:#64748b !important; }
.cmp-row-actions { grid-area:actions !important; display:flex !important; align-items:center !important; justify-content:flex-end !important; gap:4px !important; flex-wrap:wrap !important; }
.cmp-row-actions form { margin:0 !important; padding:0 !important; }
.cmp-mini-action { appearance:none !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:30px !important; height:auto !important; margin:0 !important; padding:6px 8px !important; border:1px solid transparent !important; border-radius:8px !important; background:transparent !important; color:var(--cmp-primary-dark) !important; text-decoration:none !important; font-size:10.5px !important; font-weight:800 !important; cursor:pointer !important; }
.cmp-mini-action:hover { background:var(--cmp-primary-soft) !important; border-color:#dce5d7 !important; }
.cmp-mini-action--danger { color:var(--cmp-danger) !important; }
.cmp-mini-action--danger:hover { background:var(--cmp-danger-soft) !important; border-color:#ffd4cf !important; }
.cmp-pagination--manager { margin:0 20px 18px !important; }

/* ---------- cadastro guiado / wizard ---------- */
.cmp-product-editor { padding:0 !important; }
.cmp-product-editor > .cmp-manager-panel__top { padding:18px 20px 12px !important; }
.cmp-product-editor .cmp-step-label { margin-bottom:6px !important; }
.cmp-product-form { margin:0 !important; padding:0 !important; }

/* Etapas iguais na organização da referência: círculo + linha + rótulo, sem cards gigantes */
.cmp-form-steps { display:flex !important; align-items:flex-start !important; gap:0 !important; margin:0 20px 20px !important; padding:0 2px 4px !important; overflow-x:auto !important; }
.cmp-form-step {
  all: unset !important;
  box-sizing:border-box !important;
  position:relative !important;
  flex:1 0 88px !important;
  min-width:88px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  padding:0 4px !important;
  cursor:pointer !important;
  text-align:center !important;
}
.cmp-form-step::before { content:"" !important; position:absolute !important; top:15px !important; left:-50% !important; width:100% !important; height:2px !important; background:var(--cmp-line-strong) !important; z-index:0 !important; }
.cmp-form-step:first-child::before { display:none !important; }
.cmp-form-step.is-complete::before { background:var(--cmp-primary) !important; }
.cmp-form-step > span { position:relative !important; z-index:1 !important; width:32px !important; height:32px !important; display:grid !important; place-items:center !important; margin:0 !important; border:2px solid var(--cmp-line-strong) !important; border-radius:50% !important; background:var(--cmp-surface) !important; color:var(--cmp-muted) !important; font-size:12px !important; font-weight:900 !important; }
.cmp-form-step > strong { display:none !important; }
.cmp-form-step > small { display:block !important; margin:0 !important; color:#8b9786 !important; font-size:10.5px !important; font-weight:800 !important; line-height:1.25 !important; white-space:nowrap !important; }
.cmp-form-step.is-active > span { border-color:var(--cmp-primary) !important; background:var(--cmp-primary-soft) !important; color:var(--cmp-primary-dark) !important; box-shadow:0 0 0 4px var(--cmp-primary-soft) !important; }
.cmp-form-step.is-complete > span { border-color:var(--cmp-primary) !important; background:var(--cmp-primary) !important; color:#fff !important; }
.cmp-form-step.is-active > small, .cmp-form-step.is-complete > small { color:var(--cmp-text-2) !important; }

.cmp-form-panels { margin:0 !important; padding:0 !important; }
.cmp-form-section { margin:0 !important; padding:0 20px 18px !important; border:0 !important; }
.cmp-step-panel[hidden] { display:none !important; }
.cmp-form-section__intro { display:flex !important; align-items:flex-start !important; gap:10px !important; margin:0 0 14px !important; }
.cmp-form-section__intro > span { flex:none !important; width:24px !important; height:24px !important; display:grid !important; place-items:center !important; margin:1px 0 0 !important; border-radius:7px !important; background:var(--cmp-primary-soft) !important; color:var(--cmp-primary-dark) !important; font-size:11px !important; font-weight:900 !important; }
.cmp-form-section__intro h4 { margin:0 0 2px !important; color:var(--cmp-text) !important; font-size:15px !important; line-height:1.3 !important; font-weight:800 !important; }
.cmp-form-section__intro p { font-size:12px !important; }

.cmp-input-prefix, .cmp-input-suffix { display:flex !important; align-items:stretch !important; min-height:40px !important; overflow:hidden !important; border:1px solid var(--cmp-line-strong) !important; border-radius:10px !important; background:var(--cmp-surface) !important; }
.cmp-input-prefix:focus-within, .cmp-input-suffix:focus-within { border-color:var(--cmp-primary) !important; box-shadow:0 0 0 3px rgba(64,83,59,.12) !important; }
.cmp-input-prefix span, .cmp-input-suffix span { flex:none !important; display:flex !important; align-items:center !important; margin:0 !important; padding:0 10px !important; background:var(--cmp-surface-soft) !important; color:var(--cmp-muted) !important; font-size:11.5px !important; font-weight:800 !important; }
.cmp-input-prefix span { border-right:1px solid var(--cmp-line) !important; }
.cmp-input-suffix span { border-left:1px solid var(--cmp-line) !important; }
.cmp-input-prefix input, .cmp-input-suffix input { flex:1 !important; min-height:38px !important; margin:0 !important; padding:8px 10px !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }

.cmp-switch { display:flex !important; align-items:center !important; gap:9px !important; min-height:40px !important; margin:0 !important; padding:8px 10px !important; border:1px solid var(--cmp-line-strong) !important; border-radius:10px !important; background:var(--cmp-surface-soft) !important; cursor:pointer !important; }
.cmp-switch input { position:absolute !important; opacity:0 !important; width:0 !important; height:0 !important; }
.cmp-switch span { flex:none !important; width:38px !important; height:22px !important; position:relative !important; margin:0 !important; border-radius:999px !important; background:#afbaaa !important; }
.cmp-switch span::after { content:"" !important; position:absolute !important; width:16px !important; height:16px !important; left:3px !important; top:3px !important; border-radius:50% !important; background:#fff !important; box-shadow:0 1px 3px rgba(0,0,0,.18) !important; transition:transform .15s ease !important; }
.cmp-switch input:checked + span { background:var(--cmp-primary) !important; }
.cmp-switch input:checked + span::after { transform:translateX(16px) !important; }
.cmp-switch b { color:var(--cmp-text-2) !important; font-size:12px !important; font-weight:800 !important; }

.cmp-image-uploader { display:grid !important; grid-template-columns:140px 1fr !important; gap:18px !important; align-items:center !important; }
.cmp-image-uploader__preview { width:140px !important; height:140px !important; display:grid !important; place-items:center !important; overflow:hidden !important; margin:0 !important; padding:8px !important; border:1px dashed var(--cmp-line-strong) !important; border-radius:12px !important; background:var(--cmp-surface-soft) !important; color:var(--cmp-muted) !important; text-align:center !important; }
.cmp-image-uploader__preview img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.cmp-image-uploader__preview strong { display:block !important; color:var(--cmp-text-2) !important; font-size:12px !important; }
.cmp-image-uploader__preview span { display:block !important; margin-top:3px !important; font-size:10.5px !important; }
.cmp-image-uploader__info input[type=file] { position:absolute !important; left:-9999px !important; }
.cmp-image-uploader__info p { margin:7px 0 3px !important; max-width:520px !important; font-size:12px !important; }
.cmp-image-uploader__info small { color:var(--cmp-muted) !important; font-size:11px !important; }

.cmp-category-checks { display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
.cmp-category-checks label { display:inline-flex !important; align-items:center !important; gap:7px !important; min-height:34px !important; margin:0 !important; padding:7px 11px !important; border:1px solid var(--cmp-line-strong) !important; border-radius:999px !important; background:var(--cmp-surface-soft) !important; cursor:pointer !important; }
.cmp-category-checks input { width:15px !important; height:15px !important; margin:0 !important; accent-color:var(--cmp-primary) !important; }
.cmp-category-checks span { color:var(--cmp-text-2) !important; font-size:11.5px !important; font-weight:800 !important; }
.cmp-category-checks label:has(input:checked) { border-color:#b0c2a7 !important; background:var(--cmp-primary-soft) !important; }
.cmp-inline-help { padding:11px 13px !important; border:1px solid #dce5d7 !important; border-radius:10px !important; background:#f6f9f3 !important; color:var(--cmp-text-2) !important; }
.cmp-inline-help strong { color:var(--cmp-text) !important; }

.cmp-step-panel__actions { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; margin:18px 0 0 !important; padding:14px 0 0 !important; border-top:1px solid var(--cmp-line) !important; }
.cmp-step-panel__hint { color:#8b9786 !important; font-size:10.5px !important; font-weight:800 !important; }
.cmp-form-footer { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:14px !important; flex-wrap:wrap !important; margin:18px 0 0 !important; padding:13px 14px !important; border:1px solid var(--cmp-line) !important; border-radius:12px !important; background:var(--cmp-surface-soft) !important; }
.cmp-form-footer strong { display:block !important; color:var(--cmp-text) !important; font-size:12.5px !important; }
.cmp-form-footer span { display:block !important; margin-top:2px !important; color:var(--cmp-muted) !important; font-size:10.5px !important; }
.cmp-form-footer__actions { display:flex !important; align-items:center !important; gap:8px !important; }

/* ---------- categorias ---------- */
.cmp-category-layout { display:grid !important; grid-template-columns:minmax(270px,.82fr) minmax(0,1.18fr) !important; gap:14px !important; }
.cmp-category-layout .cmp-manager-panel { padding-bottom:18px !important; }
.cmp-simple-form { display:flex !important; flex-direction:column !important; gap:12px !important; margin:0 !important; padding:14px 20px 0 !important; }
.cmp-simple-form .cmp-btn { align-self:flex-start !important; }
.cmp-category-list { margin:14px 20px 0 !important; border:1px solid var(--cmp-line) !important; border-radius:12px !important; overflow:hidden !important; }
.cmp-category-item { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; margin:0 !important; padding:11px 12px !important; border-bottom:1px solid var(--cmp-line) !important; background:var(--cmp-surface) !important; }
.cmp-category-item:last-child { border-bottom:0 !important; }
.cmp-category-item strong { display:block !important; color:var(--cmp-text) !important; font-size:12.5px !important; }
.cmp-category-item small { display:block !important; margin-top:2px !important; color:var(--cmp-muted) !important; font-size:10.5px !important; }
.cmp-category-item__right { display:flex !important; align-items:center !important; gap:10px !important; color:var(--cmp-muted) !important; font-size:10.5px !important; }
.cmp-category-item__right form { margin:0 !important; }
.cmp-action-link { appearance:none !important; margin:0 !important; padding:5px 7px !important; border:0 !important; background:transparent !important; color:var(--cmp-primary-dark) !important; text-decoration:none !important; font-size:10.5px !important; font-weight:800 !important; cursor:pointer !important; }
.cmp-action-link--danger { color:var(--cmp-danger) !important; }
.cmp-action-link:disabled { opacity:.4 !important; cursor:not-allowed !important; }
.cmp-muted-note { margin:9px 20px 0 !important; }

/* ---------- acesso e avisos ---------- */
.cmp-access-card { max-width:620px !important; margin:0 !important; padding:20px !important; border:1px solid var(--cmp-line) !important; border-radius:16px !important; background:var(--cmp-surface) !important; box-shadow:var(--cmp-shadow) !important; }
.cmp-access-card strong { display:block !important; margin-bottom:5px !important; color:var(--cmp-text) !important; font-size:18px !important; }
.cmp-access-card p { margin:0 0 12px !important; color:var(--cmp-muted) !important; font-size:12.5px !important; }
.cmp-access-card--error { border-color:#f0c5c0 !important; background:#fffafa !important; }
.cmp-notice { margin:0 0 12px !important; padding:10px 12px !important; border:1px solid transparent !important; border-radius:10px !important; font-size:12px !important; font-weight:800 !important; }
.cmp-notice--success { background:var(--cmp-success-soft) !important; border-color:#ccebd5 !important; color:var(--cmp-success) !important; }
.cmp-notice--error { background:var(--cmp-danger-soft) !important; border-color:#ffd4cf !important; color:var(--cmp-danger) !important; }

/* ---------- responsivo ---------- */
@media (max-width: 1120px) {
  .cmp-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .cmp-admin-product-row { grid-template-columns:52px minmax(180px,1fr) minmax(100px,auto) auto !important; grid-template-areas:"thumb main price status" "thumb dims dims actions" !important; row-gap:8px !important; }
}

@media (max-width: 820px) {
  .cmp-catalog, .cmp-manager { padding:18px !important; }
  .cmp-catalog__hero, .cmp-manager__header { align-items:flex-start !important; flex-direction:column !important; }
  .cmp-catalog__count { width:100% !important; }
  .cmp-catalog__layout { grid-template-columns:1fr !important; }
  .cmp-filter-panel { position:static !important; }
  .cmp-filter-toggle { display:inline-flex !important; appearance:none !important; min-height:34px !important; margin:0 !important; padding:7px 10px !important; border:1px solid #dce5d7 !important; border-radius:9px !important; background:var(--cmp-primary-soft) !important; color:var(--cmp-primary-dark) !important; font-size:11px !important; font-weight:800 !important; cursor:pointer !important; }
  .cmp-filter-form { display:none !important; }
  .cmp-filter-panel.is-open .cmp-filter-form { display:block !important; }
  .cmp-results-toolbar { align-items:flex-start !important; flex-direction:column !important; }
  .cmp-sort-form { width:100% !important; }
  .cmp-sort-form select { flex:1 !important; }
  .cmp-category-layout { grid-template-columns:1fr !important; }
  .cmp-three-cols, .cmp-form-grid { grid-template-columns:1fr !important; }
  .cmp-field--span-2 { grid-column:auto !important; }
}

@media (max-width: 680px) {
  .cmp-admin-product-row { grid-template-columns:48px minmax(0,1fr) auto !important; grid-template-areas:"thumb main status" "price price price" "dims dims dims" "actions actions actions" !important; gap:7px 10px !important; }
  .cmp-admin-product__thumb { width:48px !important; height:48px !important; }
  .cmp-row-actions { justify-content:flex-start !important; }
  .cmp-manager-search { align-items:stretch !important; flex-direction:column !important; }
  .cmp-manager-search__input, .cmp-manager-search select, .cmp-manager-search .cmp-btn { width:100% !important; flex:none !important; }
  .cmp-image-uploader { grid-template-columns:1fr !important; }
  .cmp-form-steps { margin-left:14px !important; margin-right:14px !important; }
  .cmp-form-section { padding-left:14px !important; padding-right:14px !important; }
  .cmp-product-editor > .cmp-manager-panel__top { padding-left:14px !important; padding-right:14px !important; }
  .cmp-form-footer { align-items:stretch !important; flex-direction:column !important; }
  .cmp-form-footer__actions { width:100% !important; }
  .cmp-form-footer__actions .cmp-btn { flex:1 !important; }
}

@media (max-width: 540px) {
  .cmp-catalog, .cmp-manager { padding:14px !important; border-radius:16px !important; }
  .cmp-product-grid { grid-template-columns:1fr !important; }
  .cmp-two-cols { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
  .cmp-form-step { flex-basis:76px !important; min-width:76px !important; }
  .cmp-form-step > small { font-size:9.5px !important; }
  .cmp-step-panel__actions { flex-wrap:wrap !important; }
  .cmp-step-panel__hint { order:-1 !important; width:100% !important; text-align:center !important; }
  .cmp-category-item { align-items:flex-start !important; flex-direction:column !important; }
  .cmp-category-item__right { width:100% !important; justify-content:space-between !important; }
}

/* --------------------------------------------------------------------------
   V1.4 — Identidade premium, vitrine editorial e gerenciamento unificado.
   Mantém-se escopado a .cmp-* para que a vitrine não altere o tema da loja.
   -------------------------------------------------------------------------- */
.cmp-catalog,
.cmp-manager,
.cmp-access-shell {
  max-width: 1480px !important;
  margin: 0 auto !important;
  background: var(--cmp-bg) !important;
  border: 0 !important;
  border-radius: 20px !important;
  font-size: 15px !important;
  -webkit-font-smoothing: antialiased;
}
.cmp-catalog,
.cmp-manager { padding: 0 28px 36px !important; }
.cmp-catalog a:focus-visible,
.cmp-manager a:focus-visible,
.cmp-access-shell a:focus-visible,
.cmp-catalog button:focus-visible,
.cmp-manager button:focus-visible,
.cmp-access-shell button:focus-visible {
  outline: 3px solid #b0bda7 !important; outline-offset: 3px !important;
}
.cmp-visually-hidden {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; border: 0 !important;
  overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important;
}
.cmp-brandbar {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  flex-wrap: wrap !important; gap: 20px !important; padding: 22px 0 !important;
  border-bottom: 1px solid var(--cmp-line) !important;
}
.cmp-brandbar__brand { display: inline-flex !important; align-items: center !important; gap: 12px !important; text-decoration: none !important; }
.cmp-brandbar__logo {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 49px !important; height: 49px !important; flex: 0 0 49px !important; overflow: hidden !important;
  border-radius: 15px !important; background: var(--cmp-primary) !important; color: #fff !important;
  font: 700 19px/1 Georgia, 'Times New Roman', serif !important; letter-spacing: -.07em !important;
}
.cmp-brandbar__logo--image { background: transparent !important; }
.cmp-brandbar__logo img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.cmp-brandbar__copy { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.cmp-brandbar__copy strong { color: var(--cmp-text) !important; font-size: 19px !important; font-weight: 750 !important; letter-spacing: -.035em !important; line-height: 1.2 !important; }
.cmp-brandbar__copy small { color: var(--cmp-muted) !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: .19em !important; }
.cmp-brandbar__actions { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 28px !important; }
.cmp-brandbar__explore { color: var(--cmp-text-2) !important; font-size: 13px !important; font-weight: 650 !important; text-decoration: none !important; transition: color .2s !important; }
.cmp-brandbar__explore:hover { color: var(--cmp-primary) !important; }
.cmp-admin-entry {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important;
  min-width: 112px !important; min-height: 42px !important; padding: 10px 16px !important;
  border: 1px solid var(--cmp-line-strong) !important; border-radius: 100px !important;
  background: #fff !important; box-shadow: 0 2px 5px rgba(30,45,32,.035) !important;
  color: var(--cmp-text) !important; text-decoration: none !important; font-size: 13px !important; font-weight: 750 !important;
  transition: border-color .18s, background .18s, transform .18s !important;
}
.cmp-admin-entry:hover { background: var(--cmp-primary-soft) !important; border-color: #9cae97 !important; transform: translateY(-1px) !important; }
.cmp-admin-entry svg { width: 19px !important; height: 19px !important; }

/* Hero com busca em destaque, com visual sóbrio em vez de banner genérico. */
.cmp-catalog__hero {
  display: grid !important; grid-template-columns: minmax(0, 1.45fr) minmax(220px, .55fr) !important;
  align-items: stretch !important; gap: 20px !important; margin: 24px 0 38px !important; padding: 0 !important;
  border-radius: 22px !important; overflow: hidden !important;
  background: #eaece4 !important;
}
.cmp-catalog__hero-main { min-width: 0 !important; padding: clamp(29px,5vw,57px) clamp(24px,5vw,68px) !important; }
.cmp-catalog .cmp-catalog__hero .cmp-eyebrow {
  margin: 0 0 15px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: transparent !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .20em !important;
}
.cmp-catalog__hero h2 {
  max-width: 690px !important; margin: 0 0 15px !important;
  font: 500 clamp(35px, 4.4vw, 64px)/1.075 Georgia, 'Times New Roman', serif !important;
  letter-spacing: -.052em !important; color: #2d392a !important;
}
.cmp-catalog__hero p { max-width: 530px !important; font-size: clamp(13px, 1.22vw, 16px) !important; line-height: 1.65 !important; color: #64705c !important; }
.cmp-hero-search {
  display: flex !important; align-items: center !important; gap: 12px !important;
  max-width: 665px !important; margin: 26px 0 0 !important; padding: 6px 6px 6px 17px !important;
  border: 1px solid #d8dfd3 !important; border-radius: 12px !important; background: #fff !important;
  box-shadow: 0 9px 28px rgba(30,45,28,.06) !important; color: var(--cmp-muted) !important;
}
.cmp-hero-search > svg { flex: 0 0 19px !important; }
.cmp-hero-search input[type=search] {
  flex: 1 1 auto !important; min-width: 0 !important; width: 100% !important; min-height: 41px !important;
  padding: 6px 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important; outline: 0 !important;
  color: var(--cmp-text) !important; font-size: 13px !important;
}
.cmp-hero-search input::placeholder { color: #959d90 !important; }
.cmp-hero-search button {
  display: inline-flex !important; align-items: center !important; gap: 10px !important; justify-content: center !important;
  flex: 0 0 auto !important; min-height: 41px !important; padding: 9px 17px !important;
  border: 0 !important; border-radius: 9px !important; background: var(--cmp-primary) !important;
  color: #fff !important; font-size: 13px !important; font-weight: 800 !important; cursor: pointer !important;
}
.cmp-hero-search button:hover { background: var(--cmp-primary-dark) !important; }
.cmp-hero-search button svg { width: 17px !important; height: 17px !important; }
.cmp-catalog__hero-aside {
  position: relative !important; display: flex !important; flex-direction: column !important; justify-content: flex-end !important;
  gap: 9px !important; padding: 42px 35px !important; overflow: hidden !important; background: #dae0d3 !important;
}
.cmp-catalog__hero-aside:before {
  content: '' !important; position: absolute !important; width: 320px !important; height: 320px !important;
  border: 1px solid rgba(66,85,61,.17) !important; border-radius: 50% !important; left: 42% !important; top: -160px !important;
  box-shadow: 0 0 0 40px rgba(255,255,255,.07), 0 0 0 90px rgba(255,255,255,.09) !important;
}
.cmp-hero-aside__label { position: relative !important; color: #687b62 !important; letter-spacing: .18em !important; font-size: 10px !important; font-weight: 800 !important; }
.cmp-catalog__hero-aside strong { position: relative !important; font: 500 clamp(74px,8vw,112px)/.9 Georgia,serif !important; letter-spacing: -.07em !important; color: #405a3b !important; }
.cmp-catalog__hero-aside strong span { font: 400 35px/1 Georgia,serif !important; vertical-align: top !important; }
.cmp-catalog__hero-aside p { position: relative !important; color: #536750 !important; font-size: 13px !important; line-height: 1.4 !important; }
.cmp-hero-aside__line { position: relative !important; display: block !important; height: 1px !important; width: 80px !important; margin-top: 15px !important; background: #9bab96 !important; }

/* Resultado / navegação de categorias / filtro */
.cmp-catalog__layout { grid-template-columns: minmax(232px,265px) minmax(0,1fr) !important; gap: 30px !important; }
.cmp-filter-panel { padding: 21px !important; border-color: #e7e7e1 !important; box-shadow: none !important; border-radius: 15px !important; }
.cmp-filter-panel__label, .cmp-results-title__eyebrow { display: block !important; margin: 0 0 5px !important; color: #889780 !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .13em !important; }
.cmp-filter-panel__heading { margin-bottom: 21px !important; }
.cmp-filter-panel h3 { display: flex !important; align-items: center !important; gap: 9px !important; font-size: 19px !important; letter-spacing: -.035em !important; }
.cmp-filter-panel h3 svg { width: 20px !important; height: 20px !important; color: var(--cmp-primary) !important; }
.cmp-active-count { display: inline-grid !important; place-items: center !important; min-width: 21px !important; height: 21px !important; border-radius: 50% !important; background: var(--cmp-primary) !important; color: #fff !important; font-size: 10px !important; }
.cmp-filter-panel .cmp-field input, .cmp-filter-panel .cmp-field select { background: #fafbf8 !important; }
.cmp-filter-panel .cmp-field label { color: #4d5b4a !important; }
.cmp-filter-group { padding: 16px 0 !important; }
.cmp-filter-actions { margin-top: 5px !important; padding-top: 19px !important; }
.cmp-results-title { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 12px !important; margin-bottom: 20px !important; }
.cmp-results-title h3 { font: 500 clamp(28px,2.8vw,37px)/1.1 Georgia,serif !important; letter-spacing: -.04em !important; color: var(--cmp-text) !important; }
.cmp-results-title__total { color: var(--cmp-muted) !important; font-size: 12px !important; white-space: nowrap !important; }
.cmp-quick-categories { display: flex !important; align-items: center !important; gap: 7px !important; flex-wrap: wrap !important; margin: 0 0 18px !important; }
.cmp-quick-categories a { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 34px !important; padding: 7px 13px !important; border: 1px solid #e1e5de !important; border-radius: 50px !important; background: white !important; color: #5c6958 !important; text-decoration: none !important; font-size: 12px !important; font-weight: 650 !important; transition: background .18s,color .18s !important; }
.cmp-quick-categories a.is-current,.cmp-quick-categories a:hover { border-color: var(--cmp-primary) !important; background: var(--cmp-primary) !important; color: #fff !important; }
.cmp-results-toolbar { margin-bottom: 19px !important; padding: 0 0 11px !important; border: 0 !important; border-bottom: 1px solid var(--cmp-line) !important; border-radius: 0 !important; background: transparent !important; }
.cmp-sort-form select { min-width: 168px !important; border-color: #e3e5df !important; background: white !important; }
.cmp-product-grid { gap: 19px !important; }
.cmp-card { display: flex !important; flex-direction: column !important; border-color: #e7e9e2 !important; border-radius: 14px !important; box-shadow: 0 3px 10px rgba(32,45,27,.025) !important; transition: transform .22s, box-shadow .22s !important; }
.cmp-card:hover { transform: translateY(-3px) !important; box-shadow: 0 14px 33px rgba(32,45,27,.09) !important; }
.cmp-card__image { aspect-ratio: 1.15 !important; background: #f0f0ec !important; }
.cmp-card__image img { transition: transform .32s !important; }
.cmp-card:hover .cmp-card__image img { transform: scale(1.035) !important; }
.cmp-card__placeholder { display: flex !important; flex-direction: column !important; gap: 8px !important; color: #9aa293 !important; }
.cmp-card__placeholder svg { width: 33px !important; height: 33px !important; }
.cmp-card__zoom { width: 36px !important; height: 36px !important; right: 12px !important; bottom: 12px !important; box-shadow: 0 2px 9px rgba(0,0,0,.07) !important; }
.cmp-card__zoom svg { width: 18px !important; height: 18px !important; }
.cmp-card__body { display: flex !important; flex-direction: column !important; flex-grow: 1 !important; padding: 19px !important; }
.cmp-card__categories { margin-bottom: 11px !important; }
.cmp-card__categories span { padding: 5px 9px !important; background: #edf1e9 !important; font-size: 10px !important; letter-spacing: .025em !important; }
.cmp-card h3 { margin-bottom: 8px !important; font-size: 16.5px !important; line-height: 1.35 !important; letter-spacing: -.02em !important; }
.cmp-card__description { margin-bottom: 17px !important; font-size: 12px !important; line-height: 1.6 !important; }
.cmp-card__bottom { margin-top: auto !important; gap: 16px !important; padding-top: 14px !important; border-top: 1px solid #f0f0ec !important; }
.cmp-card__price { color: #354932 !important; font-size: 22px !important; letter-spacing: -.045em !important; }
.cmp-card__dimensions { gap: 4px !important; }
.cmp-card__dimensions span { padding: 8px 3px !important; border-color: #edefe9 !important; background: #f8f9f6 !important; border-radius: 7px !important; font-size: 10px !important; }
.cmp-btn { min-height: 42px !important; padding: 10px 17px !important; border-radius: 10px !important; }
.cmp-btn--secondary { border-color: #dce5d7 !important; }
.cmp-btn--ghost { border-color: #e2e6df !important; }
.cmp-btn--primary { color: white !important; }
.cmp-btn--primary:hover { color: white !important; }

/* Painel: topo simples, indicadores e edição por etapas. */
.cmp-manager-topbar { display: flex !important; align-items: center !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 13px !important; padding: 22px 0 !important; margin-bottom: 30px !important; border-bottom: 1px solid var(--cmp-line) !important; }
.cmp-manager-topbar > a, .cmp-manager-topbar > div > a { display: inline-flex !important; align-items: center !important; gap: 8px !important; color: var(--cmp-text-2) !important; text-decoration: none !important; font-size: 12px !important; font-weight: 800 !important; }
.cmp-manager-topbar > div { display: inline-flex !important; align-items: center !important; gap: 22px !important; }
.cmp-manager-topbar > div > span { color: var(--cmp-muted) !important; font-size: 12px !important; }
.cmp-manager-topbar svg { width: 17px !important; height: 17px !important; }
.cmp-manager__header { padding-bottom: 22px !important; align-items: center !important; }
.cmp-manager__header h2 { font: 500 clamp(32px,3.6vw,45px)/1.12 Georgia,serif !important; letter-spacing: -.05em !important; margin-bottom: 9px !important; }
.cmp-manager__header p { max-width: 620px !important; font-size: 14px !important; line-height: 1.6 !important; }
.cmp-manager-metrics { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 14px !important; margin: 5px 0 25px !important; }
.cmp-manager-metric { display: flex !important; align-items: center !important; gap: 14px !important; padding: 18px 20px !important; border: 1px solid #e8ebe4 !important; border-radius: 14px !important; background: #fff !important; }
.cmp-manager-metric__icon { display: inline-grid !important; place-items: center !important; flex: 0 0 45px !important; height: 45px !important; border-radius: 12px !important; background: #edf1e9 !important; color: #4e694a !important; }
.cmp-manager-metric__icon svg { width: 23px !important; height: 23px !important; }
.cmp-manager-metric small { display: block !important; color: var(--cmp-muted) !important; font-size: 12px !important; margin-bottom: 3px !important; }
.cmp-manager-metric strong { display: block !important; color: var(--cmp-text) !important; font-size: 25px !important; line-height: 1.15 !important; letter-spacing: -.05em !important; }
.cmp-manager-tabs { gap: 6px !important; margin: 0 0 22px !important; border-bottom-color: #deded9 !important; }
.cmp-manager-tabs a { align-items: center !important; gap: 9px !important; min-height: 44px !important; padding: 11px 16px !important; font-size: 13px !important; }
.cmp-manager-tabs a svg { width: 17px !important; height: 17px !important; }
.cmp-manager-tabs a.is-active { border-color: #e4e6df !important; box-shadow: inset 0 2px 0 var(--cmp-primary) !important; }
.cmp-manager-panel { border-color: #e5e9e1 !important; border-radius: 16px !important; box-shadow: 0 8px 20px rgba(30,45,27,.025) !important; }
.cmp-manager-panel__top { padding: 24px 25px 0 !important; }
.cmp-manager-panel__top h3 { font-size: 21px !important; letter-spacing: -.035em !important; }
.cmp-manager-panel__top p { font-size: 13px !important; line-height: 1.55 !important; }
.cmp-manager-search { padding: 20px 25px !important; }
.cmp-manager-search__input { background: #fbfcfa !important; }
.cmp-admin-product-list { margin: 0 25px 24px !important; }
.cmp-admin-product-row { padding: 17px 15px !important; gap: 12px !important; }
.cmp-admin-product__thumb { width: 57px !important; height: 57px !important; background: #f0f2ed !important; }
.cmp-admin-product__main > strong { font-size: 13.5px !important; }
.cmp-mini-action { padding: 7px 8px !important; font-size: 11px !important; }
.cmp-product-editor .cmp-form-steps { background: #fafbf8 !important; }
.cmp-field input:focus, .cmp-field textarea:focus, .cmp-field select:focus { box-shadow: 0 0 0 3px rgba(64,83,59,.11) !important; }
.cmp-image-uploader { background: #fbfcf9 !important; border-radius: 13px !important; }
.cmp-image-uploader__preview { width: 160px !important; height: 160px !important; border-color: #cfdaca !important; }
.cmp-remove-photo { display: flex !important; align-items: center !important; gap: 8px !important; margin-top: 9px !important; color: var(--cmp-danger) !important; font-size: 12px !important; font-weight: 650 !important; }
.cmp-remove-photo input { accent-color: var(--cmp-danger) !important; }
.cmp-image-uploader.is-dragging { outline: 2px dashed var(--cmp-primary) !important; outline-offset: -4px !important; background: #eaf1e7 !important; }
.cmp-category-layout { gap: 20px !important; }
.cmp-category-list { margin: 18px 20px 0 !important; }
.cmp-category-item { padding: 15px 13px !important; }
.cmp-category-item strong { font-size: 13px !important; }
.cmp-category-item__right { flex-wrap: wrap !important; }
.cmp-notice { margin: 0 0 18px !important; padding: 15px !important; font-size: 13px !important; }

/* Login integrado — sem desviar para uma página administrativa sem estilo. */
.cmp-access-shell { min-height: 530px !important; padding: 0 26px 36px !important; }
.cmp-access-nav { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 15px !important; padding: 22px 0 !important; border-bottom: 1px solid var(--cmp-line) !important; }
.cmp-access-nav a { display: inline-flex !important; align-items: center !important; gap: 7px !important; color: var(--cmp-text-2) !important; text-decoration: none !important; font-size: 13px !important; font-weight: 750 !important; }
.cmp-access-nav svg { width: 18px !important; height: 18px !important; }
.cmp-access-nav > span { color: var(--cmp-muted) !important; font-size: 12px !important; font-weight: 650 !important; }
.cmp-access-card { width: 100% !important; max-width: 455px !important; margin: 55px auto 0 !important; padding: 33px !important; border-color: #e7eae2 !important; border-radius: 18px !important; box-shadow: 0 18px 45px rgba(30,45,27,.065) !important; }
.cmp-access-card__symbol { display: inline-grid !important; place-items: center !important; width: 47px !important; height: 47px !important; margin-bottom: 21px !important; border-radius: 12px !important; background: #edf1e9 !important; color: var(--cmp-primary) !important; }
.cmp-access-card h2 { margin: 0 0 8px !important; font: 500 33px/1.14 Georgia,serif !important; letter-spacing: -.05em !important; }
.cmp-access-card > p { margin-bottom: 26px !important; font-size: 13px !important; line-height: 1.6 !important; }
.cmp-access-card .cmp-eyebrow { border: 0 !important; background: transparent !important; padding: 0 !important; margin-bottom: 11px !important; }
.cmp-access-card form { margin: 0 !important; }
.cmp-access-card form p { margin: 0 0 16px !important; }
.cmp-access-card form label { display: block !important; margin: 0 0 6px !important; font-size: 12px !important; font-weight: 750 !important; color: var(--cmp-text-2) !important; }
.cmp-access-card form input[type=text],.cmp-access-card form input[type=password] { display: block !important; width: 100% !important; height: 45px !important; padding: 11px 13px !important; border: 1px solid var(--cmp-line-strong) !important; border-radius: 9px !important; background: #fcfdfa !important; font-size: 14px !important; color: var(--cmp-text) !important; }
.cmp-access-card .login-remember label { display: flex !important; align-items: center !important; gap: 8px !important; color: var(--cmp-muted) !important; font-weight: 500 !important; }
.cmp-access-card .login-remember input { accent-color: var(--cmp-primary) !important; }
.cmp-access-card .login-submit input[type=submit] { display: block !important; width: 100% !important; min-height: 47px !important; margin: 7px 0 0 !important; border: 0 !important; border-radius: 9px !important; background: var(--cmp-primary) !important; color: white !important; font-weight: 800 !important; cursor: pointer !important; }
.cmp-access-card .login-submit input[type=submit]:hover { background: var(--cmp-primary-dark) !important; }
.cmp-access-card__lost { display: block !important; margin-top: 17px !important; color: var(--cmp-primary) !important; text-align: center !important; font-size: 12px !important; text-decoration: none !important; font-weight: 700 !important; }
.cmp-access-footnote { margin: 19px 0 0 !important; text-align: center !important; color: var(--cmp-muted) !important; font-size: 11px !important; }
.cmp-access-card--error { border-color: #efc7bd !important; }

/* Layout adaptativo por largura real do dispositivo. */
@media(max-width: 1120px) {
  .cmp-catalog__hero { grid-template-columns: minmax(0,1fr) 240px !important; }
  .cmp-catalog__layout { grid-template-columns: 235px minmax(0,1fr) !important; gap: 17px !important; }
  .cmp-card__body { padding: 15px !important; }
  .cmp-admin-product-row { grid-template-columns: 57px minmax(0,1fr) minmax(90px,auto) auto !important; }
}
@media(max-width: 850px) {
  .cmp-catalog,.cmp-manager { padding: 0 20px 28px !important; }
  .cmp-catalog__hero { grid-template-columns: minmax(0,1fr) !important; margin: 18px 0 28px !important; }
  .cmp-catalog__hero-main { padding: 36px !important; }
  .cmp-catalog__hero-aside { display: none !important; }
  .cmp-catalog__layout { grid-template-columns: minmax(0,1fr) !important; }
  .cmp-filter-panel { position: static !important; }
  .cmp-filter-toggle { display: inline-flex !important; align-items: center !important; min-width: 125px !important; min-height: 37px !important; justify-content: center !important; }
  .cmp-filter-panel.is-open .cmp-filter-form { display: block !important; }
  .cmp-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .cmp-manager__header { flex-direction: row !important; align-items: center !important; }
  .cmp-manager-metric { padding: 15px !important; }
  .cmp-admin-product-row { grid-template-areas: "thumb main price status" "thumb dims dims actions" !important; }
}
@media(max-width: 610px) {
  .cmp-brandbar { padding: 15px 0 !important; }
  .cmp-brandbar__logo { width: 42px !important; height: 42px !important; flex-basis: 42px !important; border-radius: 11px !important; }
  .cmp-brandbar__copy strong { font-size: 15px !important; }
  .cmp-brandbar__copy small { font-size: 8px !important; letter-spacing: .10em !important; }
  .cmp-brandbar__actions { margin-left: auto !important; }
  .cmp-brandbar__explore { display: none !important; }
  .cmp-admin-entry { min-width: 42px !important; min-height: 42px !important; padding: 10px !important; }
  .cmp-admin-entry span { display: none !important; }
  .cmp-catalog__hero-main { padding: 29px 22px !important; }
  .cmp-catalog__hero h2 { font-size: clamp(32px,8vw,47px) !important; }
  .cmp-hero-search { gap: 8px !important; padding-left: 12px !important; margin-top: 21px !important; }
  .cmp-hero-search button { padding: 11px !important; font-size: 0 !important; }
  .cmp-hero-search button svg { width: 21px !important; height: 21px !important; }
  .cmp-hero-search input { font-size: 12px !important; }
  .cmp-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 11px !important; }
  .cmp-card__body { padding: 12px !important; }
  .cmp-card h3 { font-size: 13px !important; }
  .cmp-card__description { display: none !important; }
  .cmp-card__price { font-size: 17px !important; }
  .cmp-card__dimensions { grid-template-columns: 1fr !important; }
  .cmp-card__dimensions span { font-size: 10px !important; padding: 5px !important; }
  .cmp-results-title h3 { font-size: 30px !important; }
  .cmp-manager__header { align-items: flex-start !important; flex-direction: column !important; }
  .cmp-manager-metrics { gap: 7px !important; }
  .cmp-manager-metric { display: block !important; padding: 12px !important; }
  .cmp-manager-metric__icon { width: 34px !important; height: 34px !important; margin-bottom: 8px !important; }
  .cmp-manager-metric__icon svg { width: 18px !important; height: 18px !important; }
  .cmp-manager-metric strong { font-size: 20px !important; }
  .cmp-manager-metric small { font-size: 10px !important; }
  .cmp-manager-topbar > div > span { display: none !important; }
  .cmp-manager-tabs a { min-height: 42px !important; padding: 9px 12px !important; }
  .cmp-manager-tabs a svg { display: none !important; }
  .cmp-access-shell { padding: 0 16px 22px !important; }
  .cmp-access-card { margin-top: 29px !important; padding: 24px !important; }
}
@media(max-width: 360px) {
  .cmp-catalog, .cmp-manager { padding: 0 12px 22px !important; }
  .cmp-card__dimensions { gap: 2px !important; }
  .cmp-card__price { font-size: 16px !important; }
  .cmp-manager-metric { padding: 8px !important; }
}
@media(prefers-reduced-motion: reduce) {
  .cmp-catalog *, .cmp-manager *, .cmp-access-shell * { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ================================================================
   v1.5 — Tela integral (Elementor Canvas), editoria mais compacta,
   vitrine com aproveitamento real do espaço e exemplo ilustrado.
   ================================================================ */

/* Não depende de cabeçalho ou rodapé do Elementor. Rompe qualquer
   limite herdado de um container interno e ocupa a largura da janela. */
.cmp-catalog,
.cmp-manager,
.cmp-access-shell {
  --cmp-bg: #f8f9f5;
  --cmp-primary: #304a38;
  --cmp-primary-dark: #213628;
  --cmp-primary-soft: #edf3eb;
  --cmp-text: #27372b;
  --cmp-text-2: #4e604f;
  --cmp-muted: #748173;
  --cmp-line: #e1e7df;
  width: 100vw !important;
  min-height: 100vh !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 clamp(18px,3.4vw,76px) 36px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f8f9f5 !important;
}
@supports (width: 100dvw) {
  .cmp-catalog,.cmp-manager,.cmp-access-shell {
    width: 100dvw !important;
    margin-left: calc(50% - 50dvw) !important;
    margin-right: calc(50% - 50dvw) !important;
  }
}
/* Compatibilidade: evita os 15 px de 100vw incluindo a barra de rolagem. */
html:has(.cmp-catalog),
html:has(.cmp-manager),
html:has(.cmp-access-shell) { overflow-x: clip; }
.cmp-catalog a,.cmp-manager a,.cmp-access-shell a { -webkit-tap-highlight-color: transparent; }
.cmp-catalog__layout,.cmp-catalog__hero,.cmp-brandbar,.cmp-sitefoot,
.cmp-manager-topbar,.cmp-manager__header,.cmp-manager-metrics,
.cmp-manager-tabs,.cmp-manager-panel,.cmp-demo-manager-note { max-width: 1980px !important; margin-left: auto !important; margin-right: auto !important; }

/* Navegação própria: substitui visualmente header inexistente no Canvas. */
.cmp-brandbar {
  min-height: 88px !important;
  padding: 16px 0 !important;
  margin: 0 auto !important;
  gap: 20px !important;
  border-bottom-color: #e0e7dc !important;
}
.cmp-brandbar__brand { gap: 13px !important; }
.cmp-brandbar__logo { width: 52px !important; height: 52px !important; flex-basis: 52px !important; border-radius: 13px !important; background: #314a38 !important; }
.cmp-brandbar__copy strong { font-size: 19px !important; }
.cmp-brandbar__copy small { color: #6e806c !important; }
.cmp-brandbar__actions { gap: clamp(12px, 2vw, 34px) !important; }
.cmp-brandbar__explore { font-size: 13px !important; }
.cmp-admin-entry { min-width: 104px !important; min-height: 43px !important; border-color: #cbd7ca !important; box-shadow: 0 3px 9px rgba(32,55,33,.04) !important; }

/* Hero: headline útil, busca grande e ilustração de produto no lugar
   de um bloco vazio consumindo metade da primeira dobra. */
.cmp-catalog__hero {
  grid-template-columns: minmax(0,1.5fr) minmax(310px,.5fr) !important;
  align-items: stretch !important;
  min-height: 333px !important;
  margin-top: 24px !important;
  margin-bottom: 34px !important;
  gap: 0 !important;
  border: 1px solid #e1e9dc !important;
  border-radius: 20px !important;
  background: #ecf0e8 !important;
  box-shadow: 0 9px 30px rgba(47,70,47,.025) !important;
}
.cmp-catalog__hero-main {
  padding: clamp(27px,3.6vw,57px) clamp(28px,4.1vw,75px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
}
.cmp-catalog .cmp-catalog__hero .cmp-eyebrow { font-size: 10px !important; letter-spacing: .22em !important; color: #587058 !important; margin-bottom: 11px !important; }
.cmp-catalog__hero h2 {
  max-width: 920px !important;
  font-size: clamp(38px,3.5vw,63px) !important;
  line-height: 1.075 !important;
  letter-spacing: -.057em !important;
  margin-bottom: 12px !important;
}
.cmp-catalog__hero p { max-width: 620px !important; line-height: 1.55 !important; margin: 0 !important; }
.cmp-hero-search { max-width: 810px !important; width: 100% !important; margin-top: 23px !important; min-height: 58px !important; border-radius: 13px !important; padding: 5px 6px 5px 17px !important; }
.cmp-hero-search input[type=search] { min-height: 44px !important; font-size: 13.5px !important; }
.cmp-hero-search button { min-height: 44px !important; padding: 10px 20px !important; }
.cmp-catalog__hero-aside {
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 24px 19px !important;
  background: linear-gradient(145deg,#3b5942,#283e2e) !important;
  color: #eaf2e8 !important;
}
.cmp-catalog__hero-aside::before {
  top: -78px !important; left: 33% !important;
  width: 390px !important; height: 390px !important;
  border-color: rgba(255,255,255,.15) !important;
  box-shadow: 0 0 0 47px rgba(255,255,255,.03),0 0 0 96px rgba(255,255,255,.025) !important;
}
.cmp-hero-art { position: relative !important; z-index: 1 !important; display: flex !important; align-items: center !important; justify-content: center !important; flex: 1 1 auto !important; min-height: 175px !important; opacity: .9 !important; }
.cmp-hero-art svg { display: block !important; width: min(100%,350px) !important; max-height: 202px !important; height: auto !important; color: #d8e8d6 !important; }
.cmp-hero-aside__stat { position: relative !important; z-index: 1 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 15px !important; padding: 17px 4px 0 !important; border-top: 1px solid rgba(255,255,255,.19) !important; }
.cmp-hero-aside__label { font-size: 10px !important; white-space: nowrap !important; color: #d1e2cf !important; letter-spacing: .13em !important; }
.cmp-hero-aside__number { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 11px !important; text-align: right !important; }
.cmp-catalog__hero-aside .cmp-hero-aside__number strong { display: block !important; margin: 0 !important; font: 500 47px/.94 Georgia,serif !important; color: #fff !important; letter-spacing: -.065em !important; }
.cmp-catalog__hero-aside .cmp-hero-aside__number p { max-width: 91px !important; margin: 0 !important; color: #dbebd6 !important; font-size: 11px !important; text-align: left !important; line-height: 1.22 !important; }

/* A listagem agora expande para 4 colunas em monitores grandes. */
.cmp-catalog__layout {
  display: grid !important;
  grid-template-columns: clamp(225px, 17vw, 268px) minmax(0,1fr) !important;
  gap: clamp(21px,2.35vw,44px) !important;
}
.cmp-filter-panel { padding: 21px 19px !important; border-radius: 15px !important; box-shadow: none !important; }
.cmp-filter-panel__heading { margin-bottom: 20px !important; }
.cmp-catalog__results { min-width: 0 !important; }
.cmp-results-title { align-items: center !important; margin-bottom: 17px !important; }
.cmp-results-title h3 { font-size: clamp(28px,2.5vw,38px) !important; }
.cmp-results-title__eyebrow { color: #698166 !important; }
.cmp-results-toolbar { margin-bottom: 15px !important; }
.cmp-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: clamp(14px,1.45vw,23px) !important; }
@media(min-width: 1700px) { .cmp-product-grid:not(.cmp-product-grid--single) { grid-template-columns: repeat(4,minmax(0,1fr)) !important; } }
.cmp-card { border-radius: 16px !important; overflow: hidden !important; box-shadow: 0 5px 15px rgba(31,49,31,.033) !important; }
.cmp-card__image { aspect-ratio: 1.29 !important; background: #e9e9df !important; }
.cmp-card__body { padding: 18px !important; }
.cmp-card__demo {
  position: absolute !important; z-index: 2 !important; left: 13px !important; top: 13px !important;
  padding: 8px 10px !important; border: 1px solid #d9d6c5 !important; border-radius: 6px !important;
  color: #516341 !important; background: rgba(251,249,238,.94) !important;
  font: 800 9px/1.1 Inter,system-ui,sans-serif !important; letter-spacing: .08em !important;
  box-shadow: 0 4px 10px rgba(30,45,26,.05) !important;
}
.cmp-card__mdf {
  position: absolute !important; z-index: 2 !important; right: 13px !important; top: 13px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 8px 11px !important; border: 1px solid rgba(255,255,255,.44) !important; border-radius: 6px !important;
  color: #fff !important; background: rgba(54,74,49,.94) !important;
  font: 900 10px/1.1 Inter,system-ui,sans-serif !important; letter-spacing: .065em !important;
  box-shadow: 0 4px 12px rgba(30,45,26,.16) !important;
}
/* Com um único produto, transforme o card em destaque horizontal,
   sem renderizar uma coluna minúscula no canto. */
.cmp-product-grid--single { grid-template-columns: minmax(0,980px) !important; align-items: stretch !important; }
.cmp-product-grid--single .cmp-card { display: grid !important; grid-template-columns: minmax(0,1.08fr) minmax(270px,.92fr) !important; min-height: 310px !important; }
.cmp-product-grid--single .cmp-card__image { height: 100% !important; min-height: 310px !important; aspect-ratio: auto !important; }
.cmp-product-grid--single .cmp-card__body { padding: clamp(22px,2.4vw,37px) !important; }
.cmp-product-grid--single .cmp-card h3 { font: 500 clamp(25px,2vw,33px)/1.17 Georgia,serif !important; letter-spacing: -.035em !important; }
.cmp-product-grid--single .cmp-card__description { max-width: 355px !important; font-size: 13px !important; line-height: 1.75 !important; }
.cmp-product-grid--single .cmp-card__price { font-size: 29px !important; }
.cmp-product-grid--single .cmp-card__dimensions span { padding: 8px !important; }
.cmp-sitefoot {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 14px !important; margin: clamp(35px,4vw,66px) 0 0 !important; padding: 20px 0 0 !important;
  border-top: 1px solid var(--cmp-line) !important; color: #859181 !important;
  font-size: 11.5px !important;
}
.cmp-sitefoot span span { padding: 0 3px !important; }

/* Gerenciamento também herda o canvas integral. */
.cmp-manager-topbar { min-height: 82px !important; margin-bottom: 25px !important; padding: 18px 0 !important; }
.cmp-manager__header { padding-bottom: 15px !important; }
.cmp-manager__header h2 { font-size: clamp(32px,3.2vw,48px) !important; }
.cmp-manager-metrics { gap: clamp(10px,1.3vw,19px) !important; }
.cmp-manager-metric { padding: 19px 24px !important; }
.cmp-manager-panel__top:has(.cmp-create-demo-form) { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 20px !important; }
.cmp-create-demo-form { flex: 0 0 auto !important; margin: 0 !important; }
.cmp-demo-manager-note {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 25px !important; padding: 14px 19px !important; margin-bottom: 22px !important;
  border: 1px solid #dedfc9 !important; border-radius: 13px !important; background: #f5f5e9 !important;
}
.cmp-demo-manager-note > div { display: flex !important; flex-direction: column !important; gap: 3px !important; }
.cmp-demo-manager-note strong { color: #41573d !important; font-size: 12px !important; }
.cmp-demo-manager-note span { color: #63705b !important; font-size: 12px !important; }
.cmp-demo-manager-note a { display: inline-flex !important; align-items: center !important; gap: 6px !important; flex: 0 0 auto !important; font-size: 12px !important; color: #37553c !important; text-decoration: none !important; font-weight: 750 !important; }
.cmp-demo-manager-note a svg { width: 15px !important; height: 15px !important; }
.cmp-demo-inline { display: inline !important; margin-left: 4px !important; padding: 3px 6px !important; border-radius: 4px !important; background: #f3f3dd !important; color: #6b7241 !important; font: 800 9px/1.2 Inter,system-ui,sans-serif !important; letter-spacing: .06em !important; }
.cmp-demo-field { padding: 14px !important; background: #f8f9f2 !important; border: 1px solid #e7e8da !important; border-radius: 10px !important; }
.cmp-demo-image-hint { margin-top: 12px !important; font-size: 12px !important; color: #667763 !important; }
.cmp-access-shell { padding-bottom: 70px !important; }
.cmp-access-nav { max-width: 1980px !important; margin-left: auto !important; margin-right: auto !important; }

/* Telas intermediárias: sem forçar 3 cards espremidos. */
@media (max-width: 1399px) {
  .cmp-catalog__hero { grid-template-columns: minmax(0,1.45fr) minmax(270px,.55fr) !important; }
  .cmp-catalog__hero-main { padding: 35px 40px !important; }
  .cmp-catalog__hero h2 { font-size: clamp(37px,4vw,54px) !important; }
  .cmp-catalog__layout { grid-template-columns: 242px minmax(0,1fr) !important; gap: 24px !important; }
  .cmp-product-grid:not(.cmp-product-grid--single) { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width: 1060px) {
  .cmp-catalog__hero { min-height: 310px !important; }
  .cmp-catalog__hero-main { padding: 31px !important; }
  .cmp-product-grid:not(.cmp-product-grid--single) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .cmp-product-grid--single { grid-template-columns: minmax(0,1fr) !important; }
  .cmp-product-grid--single .cmp-card { grid-template-columns: minmax(0,1fr) !important; }
  .cmp-product-grid--single .cmp-card__image { min-height: 280px !important; max-height: 360px !important; }
}
@media (max-width: 850px) {
  .cmp-catalog,.cmp-manager,.cmp-access-shell { padding: 0 20px 30px !important; }
  .cmp-catalog__hero { display: grid !important; grid-template-columns: minmax(0,1fr) !important; min-height: 0 !important; margin-top: 17px !important; margin-bottom: 26px !important; }
  .cmp-catalog__hero-main { padding: clamp(28px,5vw,40px) !important; }
  .cmp-catalog__hero-aside { display: none !important; }
  .cmp-catalog__layout { grid-template-columns: minmax(0,1fr) !important; }
  .cmp-filter-panel { position: static !important; }
  .cmp-filter-toggle { display: inline-flex !important; }
  .cmp-filter-form { display: none !important; }
  .cmp-filter-panel.is-open .cmp-filter-form { display: block !important; }
  .cmp-product-grid:not(.cmp-product-grid--single) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 610px) {
  .cmp-catalog,.cmp-manager,.cmp-access-shell { padding: 0 14px 25px !important; }
  .cmp-brandbar { min-height: 75px !important; padding: 13px 0 !important; }
  .cmp-brandbar__logo { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
  .cmp-brandbar__copy strong { font-size: 15px !important; }
  .cmp-admin-entry { min-width: 42px !important; width: 42px !important; }
  .cmp-catalog__hero { border-radius: 14px !important; }
  .cmp-catalog__hero-main { padding: 29px 23px !important; }
  .cmp-catalog__hero h2 { font-size: clamp(33px,8vw,44px) !important; }
  .cmp-catalog__hero p { font-size: 12.5px !important; }
  .cmp-hero-search { min-height: 51px !important; gap: 8px !important; padding-left: 12px !important; }
  .cmp-hero-search input[type=search] { font-size: 12px !important; }
  .cmp-hero-search button { min-height: 41px !important; padding: 8px 11px !important; }
  .cmp-filter-panel { padding: 17px !important; }
  .cmp-product-grid:not(.cmp-product-grid--single) { gap: 12px !important; }
  .cmp-product-grid--single .cmp-card__image { min-height: 230px !important; max-height: 350px !important; }
  .cmp-product-grid--single .cmp-card__body { padding: 18px !important; }
  .cmp-product-grid--single .cmp-card h3 { font-size: 24px !important; }
  .cmp-product-grid--single .cmp-card__price { font-size: 23px !important; }
  .cmp-product-grid--single .cmp-card__description { display: block !important; }
  .cmp-demo-manager-note { align-items: flex-start !important; flex-direction: column !important; gap: 11px !important; }
  .cmp-manager-panel__top:has(.cmp-create-demo-form) { align-items: flex-start !important; flex-direction: column !important; }
  .cmp-sitefoot { align-items: flex-start !important; flex-direction: column !important; gap: 6px !important; }
}
@media (max-width: 380px) {
  .cmp-catalog,.cmp-manager,.cmp-access-shell { padding: 0 11px 21px !important; }
  .cmp-product-grid:not(.cmp-product-grid--single) { grid-template-columns: minmax(0,1fr) !important; }
}


/* =======================================================================
   v1.6.0 | Isolamento visual dos filtros para temas e Elementor Canvas
   Motivo: alguns temas reintroduzem margins/paddings/gaps em labels e
   controls, gerando dezenas de pixels entre o rótulo e o campo. Evitamos
   resets globais para não alterar formulários ou widgets fora do catálogo.
   ======================================================================= */

/* O Elementor pode envolver o shortcode em contêineres com fontes/valores
   globais próprios. Todos os controles críticos ganham estilo explícito. */
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel,
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel form,
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-group,
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-two-cols,
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-field {
  box-sizing: border-box !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel {
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-panel__heading {
  margin: 0 0 14px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-panel__label {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 0 5px !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  row-gap: 0 !important;
  align-items: start !important;
  align-content: start !important;
}
/* CSS Grid coloca sempre rótulo imediatamente sobre seu input, eliminando
   dependência de margens verticais que o Elementor ou tema adicionem. */
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form .cmp-field {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: auto 40px !important;
  align-content: start !important;
  align-items: start !important;
  justify-items: stretch !important;
  row-gap: 7px !important;
  column-gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  position: static !important;
  float: none !important;
  transform: none !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form > .cmp-field {
  margin: 0 0 15px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form .cmp-field > label {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  color: var(--cmp-text-2) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  position: static !important;
  float: none !important;
  transform: none !important;
  align-self: end !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form .cmp-field > :is(input, select) {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  line-height: 1.2 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  padding: 0 11px !important;
  margin: 0 !important;
  border: 1px solid var(--cmp-line-strong) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--cmp-text) !important;
  text-indent: 0 !important;
  box-shadow: none !important;
  outline-offset: 1px !important;
  float: none !important;
  position: static !important;
  transform: none !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form .cmp-field > :is(input, select):focus-visible {
  outline: 2px solid var(--cmp-primary) !important;
  outline-offset: 2px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-group {
  display: block !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  border-top: 1px solid var(--cmp-line) !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-group__title {
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  padding: 0 !important;
  margin: 0 0 9px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: var(--cmp-text) !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-two-cols {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  align-items: start !important;
  align-content: start !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-actions {
  display: grid !important;
  gap: 8px !important;
  padding: 14px 0 0 !important;
  margin: 1px 0 0 !important;
  border-top: 1px solid var(--cmp-line) !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-actions > * {
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}
/* A marca sem logo mantém um monograma legível mesmo em telas pequenas. */
html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar__copy strong {
  font-size: clamp(16px,1.4vw,20px) !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}
@media (max-width: 850px) {
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form { display: none !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel.is-open .cmp-filter-form { display: block !important; }
}
@media (max-width: 420px) {
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel { padding: 14px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-group { padding: 11px 0 !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-two-cols { column-gap: 9px !important; }
}

/* Mantém busca principal, ordenação e formulários de gestão alinhados mesmo
   quando o tema aplica margens aos elementos nativos de formulário. */
html body .cmp-catalog[data-cmp-catalog] .cmp-hero-search > input[type="search"],
html body .cmp-catalog[data-cmp-catalog] .cmp-hero-search > button,
html body .cmp-catalog[data-cmp-catalog] .cmp-sort-form > :is(label, select) {
  margin: 0 !important;
  transform: none !important;
  float: none !important;
  min-width: 0 !important;
  align-self: center !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-hero-search > input[type="search"] {
  flex: 1 1 auto !important;
  height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  line-height: normal !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-sort-form > select {
  min-width: 145px !important;
  max-width: 230px !important;
  min-height: 37px !important;
  height: 37px !important;
  padding: 0 10px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-form-grid .cmp-field {
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-content: start !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-form-grid .cmp-field > label {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-form-grid .cmp-field > :is(input,select,textarea) {
  margin: 0 !important;
  float: none !important;
  transform: none !important;
}
html body .cmp-access-shell .cmp-access-card form :is(input[type="text"],input[type="password"]) {
  margin: 0 !important;
  padding: 10px 12px !important;
}
html body .cmp-access-shell .cmp-access-card form label {
  display: block !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

/* ======================================================================
   Marcenaria Santos v1.7 | Ficha completa, galeria, WhatsApp e ritmo visual
   Regras deliberadamente escopadas: o tema/Elementor não determina margens
   ou a distribuição das medidas, mesmo em Canvas/containers aninhados.
   ====================================================================== */

/* Os filtros têm ritmo regular sem "espaço fantasma" de widgets/temas. */
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel {
  padding: 17px 16px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-panel__heading {
  margin: 0 0 12px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form {
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important;
  justify-items: stretch !important;
  align-items: start !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form > .cmp-field {
  margin: 0 0 11px !important;
  padding: 0 !important;
  min-height: 0 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form .cmp-field {
  grid-template-rows: auto 37px !important;
  gap: 5px !important;
  height: auto !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form .cmp-field > label {
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form .cmp-field > :is(input,select) {
  height: 37px !important;
  min-height: 37px !important;
  max-height: 37px !important;
  margin: 0 !important;
  padding: 0 10px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-group {
  padding: 9px 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  border-top: 1px solid var(--cmp-line) !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-group__title {
  margin: 0 0 7px !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-two-cols {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  column-gap: 9px !important;
  row-gap: 0 !important;
  margin: 0 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-actions {
  margin: 0 !important;
  padding: 12px 0 0 !important;
  gap: 7px !important;
}

/* Medidas: três cartões do mesmo tamanho, SEM flex-wrap herdado nem centralização
   acidental do último; idêntico nos cards do desktop e do celular. */
html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-card__dimensions.cmp-measure-grid-v17 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: 34px !important;
  place-content: stretch !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: 7px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-card__dimensions.cmp-measure-grid-v17 > span {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  flex: initial !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 4px 3px !important;
  margin: 0 !important;
  gap: 3px !important;
  white-space: nowrap !important;
  text-align: center !important;
  font-size: clamp(9px,.75vw,11px) !important;
  line-height: 1.2 !important;
  border: 1px solid #e0e6dd !important;
  background: #f7f9f6 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-card__dimensions.cmp-measure-grid-v17 > span b {
  display: inline !important;
  flex: none !important;
  margin: 0 !important;
}
/* Corrige espaçamentos vindos do tema nos links/títulos dos cards. */
html body .cmp-catalog[data-cmp-catalog] .cmp-card {
  cursor: pointer !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card h3 > a {
  display: inline !important;
  color: inherit !important;
  font: inherit !important;
  text-decoration: none !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card h3 > a:hover { color: var(--cmp-primary) !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-card__image { cursor: pointer !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-card__description {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 0 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 7px !important;
  width: 100% !important;
  padding: 12px 0 0 !important;
  margin: 0 !important;
  border-top: 1px solid #edf0e9 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card__actions > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 115px !important;
  min-width: 0 !important;
  min-height: 39px !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  gap: 5px !important;
  white-space: nowrap !important;
  border-radius: 9px !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card__actions > a svg { flex: none !important; width: 16px !important; height: 16px !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-whatsapp {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #177347 !important;
  color: #fff !important;
  border: 1px solid #177347 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-whatsapp:hover,
html body .cmp-catalog[data-cmp-catalog] .cmp-whatsapp:focus-visible {
  color: #fff !important;
  border-color: #105938 !important;
  background: #105938 !important;
}

/* Ficha individual: não redireciona para o CPT oculto; mantém o shortcode e
   uma URL permanente do catálogo com ?cmp_produto=<slug>. */
html body .cmp-catalog[data-cmp-catalog] .cmp-breadcrumb {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin: 0 auto 19px !important;
  max-width: 1780px !important;
  padding: 2px 0 !important;
  font-size: 12px !important;
  color: var(--cmp-muted) !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-breadcrumb a { color: var(--cmp-primary) !important; text-decoration: none !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-detail {
  display: grid !important;
  grid-template-columns: minmax(0,1.04fr) minmax(320px,.96fr) !important;
  gap: clamp(23px,3.6vw,66px) !important;
  max-width: 1780px !important;
  align-items: start !important;
  margin: 0 auto 30px !important;
  padding: 29px !important;
  background: #fff !important;
  border: 1px solid var(--cmp-line) !important;
  border-radius: 20px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery {
  position: relative !important;
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__main,
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__empty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  min-height: 300px !important;
  aspect-ratio: 1.32 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f0f3ed !important;
  border: 1px solid var(--cmp-line) !important;
  border-radius: 15px !important;
  cursor: zoom-in !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__main img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
  object-fit: contain !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__zoom {
  position: absolute !important;
  bottom: 14px !important;
  right: 14px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 8px 11px !important;
  font-size: 11px !important;
  background: rgba(255,255,255,.95) !important;
  border: 1px solid var(--cmp-line) !important;
  color: var(--cmp-text) !important;
  border-radius: 8px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__zoom svg { width: 15px !important; height: 15px !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__empty {
  cursor: default !important; flex-direction: column !important; gap: 12px !important;
  color: var(--cmp-muted) !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__empty svg { width: 35px !important; height: 35px !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__thumbs {
  display: flex !important;
  gap: 9px !important;
  overflow-x: auto !important;
  padding: 4px 2px 8px !important;
  margin: 0 !important;
  scrollbar-width: thin !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__thumb {
  flex: 0 0 90px !important;
  width: 90px !important;
  height: 76px !important;
  padding: 3px !important;
  border: 2px solid var(--cmp-line) !important;
  border-radius: 9px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #fafaf8 !important;
  cursor: pointer !important;
  transition: border-color .2s !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__thumb.is-active,
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__thumb:hover { border-color: var(--cmp-primary) !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__thumb img {
  width: 100% !important; height: 100% !important; display: block !important; object-fit: cover !important; border-radius: 5px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-demo {
  position: absolute !important; top: 14px !important; left: 14px !important; z-index: 3 !important;
  display: block !important; padding: 8px !important;
  font-size: 10px !important; font-weight: 900 !important; letter-spacing: .07em !important;
  background: #fbf8eb !important; color: #44563e !important; border-radius: 6px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-mdf {
  position: absolute !important; top: 14px !important; right: 14px !important; z-index: 3 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 9px 11px !important;
  font-size: 10px !important; font-weight: 900 !important; letter-spacing: .065em !important;
  background: rgba(54,74,49,.95) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.44) !important; border-radius: 6px !important;
  box-shadow: 0 4px 12px rgba(30,45,26,.16) !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-info { min-width: 0 !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-info h1 {
  margin: 6px 0 13px !important;
  padding: 0 !important;
  color: var(--cmp-primary-dark) !important;
  font: 500 clamp(30px,3vw,48px)/1.1 Georgia,serif !important;
  letter-spacing: -.04em !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-price {
  margin: 0 0 23px !important;
  color: var(--cmp-primary-dark) !important;
  font: 800 clamp(29px,2.7vw,40px)/1.15 Inter,system-ui,sans-serif !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-measures {
  margin: 0 0 22px !important;
  padding: 19px !important;
  border: 1px solid var(--cmp-line) !important;
  border-radius: 12px !important;
  background: #f8faf7 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-info h2 {
  margin: 0 0 12px !important; color: var(--cmp-text-2) !important;
  font-size: 16px !important; font-weight: 850 !important; line-height: 1.3 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-measures .cmp-measure-grid-v17 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 9px !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-measures .cmp-measure-grid-v17 > span {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  min-height: 68px !important;
  padding: 10px 5px !important;
  margin: 0 !important;
  color: var(--cmp-text-2) !important;
  font-size: 13px !important;
  white-space: normal !important;
  background: #fff !important;
  border: 1px solid var(--cmp-line) !important;
  border-radius: 9px !important;
  text-align: center !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-measures .cmp-measure-grid-v17 > span b {
  color: var(--cmp-muted) !important; font-size: 10px !important; text-transform: uppercase !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-whatsapp--detail {
  display: inline-flex !important;
  min-height: 49px !important;
  width: 100% !important;
  padding: 11px 17px !important;
  margin: 0 0 22px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-whatsapp--detail svg { width: 20px !important; height: 20px !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-desc {
  margin: 0 0 18px !important; padding: 20px 0 0 !important;
  border-top: 1px solid var(--cmp-line) !important;
  color: var(--cmp-text-2) !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-desc p,
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-desc li {
  font-size: 14px !important; line-height: 1.75 !important;
  color: var(--cmp-text-2) !important; margin: 0 0 12px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-desc ul { padding-left: 20px !important; margin: 9px 0 !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-back {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  color: var(--cmp-primary) !important; font-size: 13px !important; font-weight: 750 !important;
  text-decoration: none !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-back svg { width: 15px !important; height: 15px !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-not-found { max-width: 1100px !important; margin: 45px auto !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-detail-not-found h1 { font: 500 32px/1.2 Georgia,serif !important; margin: 0 0 15px !important; }

/* Galeria no cadastro: imagens existentes com remoção individual e prévia de novos arquivos. */
html body .cmp-manager[data-cmp-manager] .cmp-extra-gallery {
  margin: 16px 0 0 !important; padding: 20px !important;
  background: #f9faf7 !important; border: 1px solid var(--cmp-line) !important; border-radius: 13px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-extra-gallery h4 {
  margin: 0 0 5px !important; font-size: 15px !important; font-weight: 800 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-extra-gallery p,
html body .cmp-manager[data-cmp-manager] .cmp-extra-gallery small {
  display: block !important; margin: 0 0 12px !important; color: var(--cmp-muted) !important; font-size: 12px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-extra-gallery input[type=file] { display: block !important; max-width: 100% !important; margin: 10px 0 !important; }
html body .cmp-manager[data-cmp-manager] .cmp-gallery-upload { display: inline-flex !important; cursor: pointer !important; }
html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview,
html body .cmp-manager[data-cmp-manager] .cmp-extra-gallery__saved {
  display: grid !important; grid-template-columns: repeat(auto-fill,minmax(100px,1fr)) !important;
  gap: 10px !important; margin: 13px 0 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-gallery-saved,
html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview__item {
  display: flex !important; flex-direction: column !important;
  gap: 6px !important; margin: 0 !important; padding: 6px !important;
  border: 1px solid var(--cmp-line) !important; border-radius: 9px !important; background: white !important;
  min-width: 0 !important; font-size: 10px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-gallery-saved img,
html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview__item img {
  width: 100% !important; height: 88px !important; object-fit: cover !important; border-radius: 5px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-gallery-saved span { display: flex !important; align-items: center !important; gap: 5px !important; }
html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview__item span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview__error { color: #9c4131 !important; font-size: 11px !important; }
@media (max-width: 1050px) {
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 22px !important; padding: 18px !important; }
}
@media (max-width: 800px) {
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-filter-form { display: none !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel.is-open .cmp-filter-form { display: grid !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail { grid-template-columns: minmax(0,1fr) !important; gap: 19px !important; padding: 13px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail-gallery__main { aspect-ratio: 1.25 !important; min-height: 210px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail-info h1 { font-size: 29px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail-price { font-size: 28px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-measure-grid-v17 > span { font-size: 10.5px !important; }
}
@media (max-width: 420px) {
  html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-measure-grid-v17 { gap: 5px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-measure-grid-v17 > span { font-size: 10px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail { padding: 11px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail-measures { padding: 12px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail-measures .cmp-measure-grid-v17 { gap: 5px !important; }
  html body .cmp-catalog[data-cmp-catalog] .cmp-card__actions > a { flex-basis: 100px !important; padding: 8px 6px !important; }
}
/* Garantia: nenhuma regra do Elementor encolhe as medidas na ficha. */
html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-detail-measures .cmp-measure-grid-v17 > span {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 10px 4px !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}
/* Navegação da galeria ampliada (mostrada somente quando há 2+ fotos). */
html body .cmp-catalog[data-cmp-catalog] .cmp-lightbox__nav {
  appearance: none !important;
  position: absolute !important;
  z-index: 3 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 41px !important;
  height: 50px !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.95) !important;
  color: var(--cmp-primary-dark) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 35px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-lightbox__nav[hidden] { display: none !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-lightbox__nav--prev { left: 11px !important; }
html body .cmp-catalog[data-cmp-catalog] .cmp-lightbox__nav--next { right: 11px !important; }
/* Um único seletor elegante de arquivos: rótulo + miniaturas, sem input duplo. */
html body .cmp-manager[data-cmp-manager] .cmp-extra-gallery input[type=file]#cmp_gallery {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  opacity: 0 !important;
}
/* Aba de WhatsApp no painel frontal: configuração disponível ao administrador. */
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__form {
  display: grid !important;
  gap: 22px !important;
  max-width: 830px !important;
  margin: 0 !important;
  padding: 23px 21px 28px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__form .cmp-field {
  display: grid !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__form label {
  font-size: 13px !important; font-weight: 800 !important; margin: 0 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__form input[type=tel] {
  display: block !important; width: 100% !important; max-width: 450px !important;
  min-height: 46px !important; padding: 10px 13px !important; margin: 0 !important;
  border: 1px solid var(--cmp-line-strong) !important; border-radius: 9px !important;
  box-shadow: none !important; color: var(--cmp-text) !important; background: #fff !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__form small {
  display: block !important; font-size: 11px !important; color: var(--cmp-muted) !important; line-height: 1.6 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__example {
  margin: 0 !important; padding: 19px !important; border-radius: 11px !important;
  border: 1px solid var(--cmp-line) !important; background: #f7f9f4 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__example strong { font-size: 13px !important; }
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__example p {
  margin: 9px 0 !important; overflow-wrap: anywhere !important;
  font-size: 13px !important; color: var(--cmp-text-2) !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__example p span { font-weight: 700 !important; }
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__actions {
  display: flex !important; flex-wrap: wrap !important; gap: 10px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-front-settings__actions > * {
  display: inline-flex !important; min-height: 43px !important; align-items: center !important;
  gap: 7px !important; margin: 0 !important; padding: 10px 17px !important;
}


/* ================================================================
   v1.7.2 — limpeza do texto de login e reforço do atalho mobile.
   ================================================================ */
@media (max-width: 610px) {
  html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar__brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar__copy {
    min-width: 0 !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar__copy strong {
    display: block !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar__copy small {
    display: none !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-admin-entry {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    gap: 0 !important;
    flex: 0 0 44px !important;
    overflow: hidden !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-admin-entry svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-admin-entry span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}


/* ================================================================
   v1.8.0 — revisão responsiva completa do catálogo e do painel.
   ================================================================ */

/* Busca: mantém altura/largura estáveis mesmo após filtrar. */
html body .cmp-catalog[data-cmp-catalog] .cmp-hero-search,
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-form,
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-form .cmp-field,
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-form .cmp-two-cols,
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-form .cmp-field input[type="search"],
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-form .cmp-field input[type="text"],
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-form .cmp-field input[type="number"],
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-form .cmp-field select,
html body .cmp-catalog[data-cmp-catalog] .cmp-hero-search input[type="search"] {
  min-width: 0 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-hero-search input[type="search"] {
  flex: 1 1 0% !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 44px !important;
  font-size: 14px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-filter-form .cmp-field input[type="search"] {
  width: 100% !important;
  max-width: 100% !important;
  font-size: 13.5px !important;
}

/* Medidas do card e da ficha: força três colunas reais e elimina qualquer
   herança de flex, float ou largura fixa do tema/Elementor. */
html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-card__dimensions.cmp-measure-grid-v17,
html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-detail-measures .cmp-measure-grid-v17 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  place-items: stretch !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  flex: none !important;
  float: none !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-card__dimensions.cmp-measure-grid-v17 > span,
html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-detail-measures .cmp-measure-grid-v17 > span {
  grid-column: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  flex: none !important;
  float: none !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-detail-measures .cmp-measure-grid-v17 > span {
  min-height: 70px !important;
}

/* Switches/toggles do painel: evita sobreposição do texto no desktop e no mobile. */
html body .cmp-manager[data-cmp-manager] .cmp-switch {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  align-items: center !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 10px 12px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-switch span {
  width: 38px !important;
  min-width: 38px !important;
  margin: 0 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-switch b {
  display: block !important;
  min-width: 0 !important;
  white-space: normal !important;
  line-height: 1.35 !important;
  font-size: 12.5px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-field--status,
html body .cmp-manager[data-cmp-manager] .cmp-demo-field {
  align-self: start !important;
}

/* Upload e prévias da galeria. */
html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview {
  min-height: 88px !important;
  align-items: start !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview__empty {
  display: block !important;
  grid-column: 1 / -1 !important;
  padding: 10px 12px !important;
  border: 1px dashed var(--cmp-line-strong) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--cmp-muted) !important;
  font-size: 12px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview__item,
html body .cmp-manager[data-cmp-manager] .cmp-gallery-saved {
  overflow: hidden !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview__item img,
html body .cmp-manager[data-cmp-manager] .cmp-gallery-saved img {
  background: #f2f4ef !important;
}

/* Painel mobile: tudo alinhado e legível. */
@media (max-width: 900px) {
  html body .cmp-manager[data-cmp-manager] .cmp-manager__header,
  html body .cmp-manager[data-cmp-manager] .cmp-manager-panel__top,
  html body .cmp-manager[data-cmp-manager] .cmp-manager-topbar {
    display: grid !important;
    gap: 12px !important;
    align-items: start !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-manager-metrics {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-manager-search {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 10px !important;
    padding: 14px 16px 16px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-manager-search__input,
  html body .cmp-manager[data-cmp-manager] .cmp-manager-search select,
  html body .cmp-manager[data-cmp-manager] .cmp-manager-search .cmp-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-manager-panel,
  html body .cmp-manager[data-cmp-manager] .cmp-admin-product-list {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-image-uploader {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 14px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-image-uploader__preview {
    width: 100% !important;
    max-width: 220px !important;
    height: 180px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-form-grid,
  html body .cmp-manager[data-cmp-manager] .cmp-three-cols,
  html body .cmp-manager[data-cmp-manager] .cmp-category-layout {
    grid-template-columns: minmax(0,1fr) !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-field--span-2 {
    grid-column: auto !important;
  }
}

@media (max-width: 680px) {
  /* Evita zoom do iPhone ao focar campos. */
  html body .cmp-catalog[data-cmp-catalog] input,
  html body .cmp-catalog[data-cmp-catalog] select,
  html body .cmp-catalog[data-cmp-catalog] textarea,
  html body .cmp-catalog[data-cmp-catalog] button,
  html body .cmp-manager[data-cmp-manager] input,
  html body .cmp-manager[data-cmp-manager] select,
  html body .cmp-manager[data-cmp-manager] textarea,
  html body .cmp-manager[data-cmp-manager] button,
  html body .cmp-access-shell input,
  html body .cmp-access-shell select,
  html body .cmp-access-shell textarea,
  html body .cmp-access-shell button {
    font-size: 16px !important;
  }

  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel {
    padding: 14px !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-group {
    padding: 9px 0 !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-form > .cmp-field {
    margin-bottom: 8px !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-filter-panel .cmp-two-cols {
    column-gap: 8px !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-product-grid,
  html body .cmp-catalog[data-cmp-catalog] .cmp-product-grid:not(.cmp-product-grid--single) {
    grid-template-columns: minmax(0,1fr) !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-card__dimensions.cmp-measure-grid-v17,
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-detail-measures .cmp-measure-grid-v17 {
    gap: 6px !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-card .cmp-card__dimensions.cmp-measure-grid-v17 > span,
  html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-detail-measures .cmp-measure-grid-v17 > span {
    font-size: 11px !important;
    padding: 8px 4px !important;
  }
  html body .cmp-manager[data-cmp-manager] {
    padding: 0 12px 24px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-manager-tabs {
    gap: 5px !important;
    padding-bottom: 1px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-manager-tabs a {
    min-height: 36px !important;
    padding: 8px 11px !important;
    font-size: 12px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-manager-metrics {
    grid-template-columns: minmax(0,1fr) !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-manager-panel__top,
  html body .cmp-manager[data-cmp-manager] .cmp-manager-search,
  html body .cmp-manager[data-cmp-manager] .cmp-form-section,
  html body .cmp-manager[data-cmp-manager] .cmp-form-footer,
  html body .cmp-manager[data-cmp-manager] .cmp-step-panel__actions {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-form-section {
    gap: 14px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-form-section__intro {
    display: grid !important;
    grid-template-columns: 34px minmax(0,1fr) !important;
    gap: 10px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-step-panel__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    align-items: stretch !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-step-panel__actions .cmp-btn,
  html body .cmp-manager[data-cmp-manager] .cmp-form-footer .cmp-btn {
    width: 100% !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-form-footer {
    display: grid !important;
    gap: 10px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-admin-product-row {
    grid-template-columns: 52px minmax(0,1fr) !important;
    grid-template-areas:
      "thumb main"
      "thumb dims"
      "price price"
      "status status"
      "actions actions" !important;
    gap: 10px !important;
    padding: 12px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-admin-product-row__actions {
    justify-content: stretch !important;
    flex-wrap: wrap !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-admin-product-row__actions .cmp-btn {
    flex: 1 1 120px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-gallery-preview,
  html body .cmp-manager[data-cmp-manager] .cmp-extra-gallery__saved {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}


/* ==================================================================
   v1.9.0: canonical layouts / Elementor Canvas integration
   These elements also include critical inline styles, so page-builders
   cannot silently turn the 3-column metrics into 2+1 or overlap toggles.
   ================================================================== */
html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar--aligned {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) max-content !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar--aligned .cmp-brandbar__brand {
  width: max-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-self: start !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar--aligned .cmp-brandbar__actions {
  display: flex !important;
  justify-self: end !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-left: auto !important;
  width: max-content !important;
  max-width: 100% !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-metrics,
html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-metrics {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: 6px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-metrics > .cmp-metrics__chip,
html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-metrics > .cmp-metrics__chip {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 36px !important;
  padding: 5px 2px !important;
  margin: 0 !important;
  border: 1px solid #e0e6dd !important;
  border-radius: 8px !important;
  background: #f7f9f6 !important;
  text-align: center !important;
  float: none !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-metrics__chip strong,
html body .cmp-catalog[data-cmp-catalog] .cmp-metrics__chip span {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #536451 !important;
  font-size: clamp(9px,.8vw,11px) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-metrics__chip strong {
  color: #233b28 !important;
  font-weight: 850 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-metrics > .cmp-metrics__chip {
  flex-direction: column !important;
  min-height: 68px !important;
  gap: 5px !important;
  background: white !important;
  border-radius: 9px !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-metrics__chip strong {
  font-size: 10px !important;
  text-transform: uppercase !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-detail .cmp-metrics__chip span {
  font-size: 13px !important;
  font-weight: 650 !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card__actions,
html body .cmp-catalog[data-cmp-catalog] .cmp-card__actions--two {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card__actions--two {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
html body .cmp-catalog[data-cmp-catalog] .cmp-card__actions > a {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 10px 6px !important;
  gap: 4px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-toggle {
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  position: relative !important;
  cursor: pointer !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-toggle .cmp-toggle__input {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-toggle .cmp-toggle__graphic {
  display: block !important;
  grid-column: 1 !important;
  width: 42px !important;
  height: 24px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-toggle .cmp-toggle__text {
  display: block !important;
  grid-column: 2 !important;
  min-width: 0 !important;
  width: auto !important;
  line-height: 1.35 !important;
  color: #314235 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  text-align: left !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-toggle .cmp-toggle__track {
  transition: fill .16s ease !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-toggle .cmp-toggle__thumb {
  transition: transform .16s ease !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-toggle .cmp-toggle__input:checked + .cmp-toggle__graphic .cmp-toggle__track {
  fill: #304a38 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-toggle .cmp-toggle__input:checked + .cmp-toggle__graphic .cmp-toggle__thumb {
  transform: translateX(18px) !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-toggle .cmp-toggle__input:focus-visible + .cmp-toggle__graphic {
  outline: 2px solid #304a38 !important;
  outline-offset: 3px !important;
  border-radius: 16px !important;
}
@media (max-width: 610px) {
  html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar--aligned {
    grid-template-columns: minmax(0,1fr) max-content !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar--aligned .cmp-brandbar__explore {
    display: none !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-brandbar--aligned .cmp-admin-entry {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
  }
  html body .cmp-catalog[data-cmp-catalog] .cmp-metrics__chip strong,
  html body .cmp-catalog[data-cmp-catalog] .cmp-metrics__chip span {
    font-size: 11px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-toggle .cmp-toggle__text {
    font-size: 13px !important;
  }
}

/* Indicador do material no painel de produtos. */
.cmp-mdf-inline { display:inline-flex !important; align-items:center !important; padding:2px 6px !important; border-radius:999px !important; background:#e8efe5 !important; color:#40543b !important; font-size:9px !important; font-weight:900 !important; letter-spacing:.045em !important; vertical-align:middle !important; }


/* ======================================================================
   v1.9.3 | Opções do produto refeitas para desktop e mobile.
   O checkbox real cobre todo o cartão: o clique não depende do tema,
   do label do navegador nem de JavaScript para alterar o estado.
   ====================================================================== */
html body .cmp-manager[data-cmp-manager] .cmp-price-field .cmp-input-prefix {
  max-width: 520px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-product-options {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-product-options__heading {
  display: grid !important;
  gap: 3px !important;
  margin: 0 0 9px !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-product-options__heading > strong {
  color: var(--cmp-text-2) !important;
  font-size: 12.5px !important;
  font-weight: 850 !important;
  line-height: 1.3 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-product-options__heading > small {
  margin: 0 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-product-options__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-card {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-card__eyebrow {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--cmp-muted) !important;
  font-size: 10.5px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}
html body .cmp-manager[data-cmp-manager] label.cmp-option-toggle {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 11px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 76px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 12px 13px !important;
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  border: 1px solid var(--cmp-line-strong) !important;
  border-radius: 12px !important;
  background: var(--cmp-surface-soft) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  float: none !important;
  transform: none !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
html body .cmp-manager[data-cmp-manager] label.cmp-option-toggle:hover {
  border-color: #b9c4b4 !important;
  background: #f7f8f4 !important;
}
html body .cmp-manager[data-cmp-manager] label.cmp-option-toggle.is-checked {
  border-color: #9fb39a !important;
  background: #f3f7f1 !important;
}
html body .cmp-manager[data-cmp-manager] label.cmp-option-toggle > input.cmp-option-toggle__input[type="checkbox"] {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  opacity: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  clip: auto !important;
  clip-path: none !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-toggle__control {
  display: block !important;
  grid-column: 1 !important;
  z-index: 1 !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #b9c4b5 !important;
  box-shadow: inset 0 0 0 1px rgba(48,74,56,.08) !important;
  transition: background .16s ease, box-shadow .16s ease !important;
  pointer-events: none !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-toggle__control::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 3px !important;
  top: 3px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.22) !important;
  transform: translateX(0) !important;
  transition: transform .16s ease !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-toggle__content {
  display: grid !important;
  grid-column: 2 !important;
  gap: 2px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-toggle__text {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #314235 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-toggle__content > small {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--cmp-muted) !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-toggle__input:checked + .cmp-option-toggle__control,
html body .cmp-manager[data-cmp-manager] label.cmp-option-toggle.is-checked .cmp-option-toggle__control {
  background: #3f7b4e !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.05) !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-toggle__input:checked + .cmp-option-toggle__control::after,
html body .cmp-manager[data-cmp-manager] label.cmp-option-toggle.is-checked .cmp-option-toggle__control::after {
  transform: translateX(18px) !important;
}
html body .cmp-manager[data-cmp-manager] .cmp-option-toggle__input:focus-visible + .cmp-option-toggle__control {
  outline: 3px solid rgba(63,123,78,.22) !important;
  outline-offset: 3px !important;
}
@media (max-width: 980px) {
  html body .cmp-manager[data-cmp-manager] .cmp-product-options__grid {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }
  html body .cmp-manager[data-cmp-manager] label.cmp-option-toggle {
    min-height: 68px !important;
    height: auto !important;
  }
}
@media (max-width: 760px) {
  html body .cmp-manager[data-cmp-manager] .cmp-price-field .cmp-input-prefix {
    max-width: none !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-form-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-field--span-2 {
    grid-column: auto !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-product-options {
    margin-top: 2px !important;
  }
  html body .cmp-manager[data-cmp-manager] label.cmp-option-toggle {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 64px !important;
    padding: 10px 11px !important;
  }
  html body .cmp-manager[data-cmp-manager] .cmp-option-toggle__text {
    font-size: 12.5px !important;
  }
}
