/* SocialRedirect skin for the existing CodeIgniter catalog and checkout flow. */
body.engajame-flow {
  --engaja-pink: #ff2b85;
  --engaja-pink-dark: #e8176e;
  --engaja-pink-soft: #fff0f6;
  --engaja-ink: #101016;
  --engaja-muted: #737789;
  --engaja-line: #e7e7ed;
  min-height: 100vh;
  color: var(--engaja-ink) !important;
  font-family: "Plus Jakarta Sans", "Manrope", system-ui, sans-serif !important;
  background-color: #fafafa !important;
  background-image: linear-gradient(rgba(70,77,96,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(70,77,96,.055) 1px, transparent 1px) !important;
  background-size: 55px 55px !important;
}
body.engajame-flow :where(button, input, textarea, select) { font-family: inherit !important; }
body.engajame-flow .sf-theme-toggle { display: none !important; }

body.engajame-catalog .header,
body.engajame-checkout .header.fixed-top {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  min-height: 72px !important;
  padding: 10px max(16px, calc((100vw - 1000px) / 2)) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--engaja-line) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 8px 24px rgba(31,35,50,.045) !important;
  backdrop-filter: blur(14px);
}
body.engajame-catalog .header .logo img,
body.engajame-catalog .sidebar .logo img,
body.engajame-checkout .site-logo {
  width: 150px !important;
  height: 42px !important;
  max-width: 150px !important;
  object-fit: contain !important;
}
body.engajame-catalog .header .nav a,
body.engajame-checkout .header .nav-link { color: #5f6372 !important; font-size: 12px !important; font-weight: 700 !important; }
body.engajame-catalog .carrinho-badge { color: #fff !important; background: var(--engaja-pink) !important; }

body.engajame-catalog .sfcat-page { padding: 24px 16px 80px !important; background: transparent !important; }
body.engajame-catalog #sfcat-app { width: min(100%, 632px) !important; max-width: 632px !important; margin: 0 auto !important; }
body.engajame-catalog .sfcat-hero,
body.engajame-catalog .sfcat-filter-shell,
body.engajame-catalog .sfcat-section,
body.engajame-catalog .sfcat-seo-panel,
body.engajame-catalog .sfcat-faq {
  border: 1px solid var(--engaja-line) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 14px 38px rgba(24,29,48,.06) !important;
}
body.engajame-catalog .sfcat-hero { display: block !important; padding: 28px !important; }
body.engajame-catalog .sfcat-hero-side { margin-top: 18px !important; }
body.engajame-catalog .sfcat-kicker,
body.engajame-catalog .sfcat-ribbon,
body.engajame-catalog .sfcat-filter-clear.active { color: var(--engaja-pink-dark) !important; background: var(--engaja-pink-soft) !important; }
body.engajame-catalog .sfcat-title { color: var(--engaja-ink) !important; font-size: clamp(28px, 6vw, 38px) !important; line-height: 1.06 !important; letter-spacing: -.04em !important; }
body.engajame-catalog .sfcat-category-line,
body.engajame-catalog .sfcat-description { color: var(--engaja-muted) !important; }
body.engajame-catalog .sfcat-badge { color: #626677 !important; border: 1px solid var(--engaja-line) !important; background: #fff !important; }
body.engajame-catalog .sfcat-trust-grid { border-color: #ffd3e4 !important; background: #fff8fb !important; }
body.engajame-catalog .sfcat-help-btn { color: #fff !important; background: linear-gradient(110deg, #ff2d87, #fb2780) !important; box-shadow: 0 8px 18px rgba(255,43,133,.2) !important; }

body.engajame-catalog .sfcat-filter-shell { margin-top: 18px !important; padding: 20px !important; }
body.engajame-catalog .sfcat-filter-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; }
body.engajame-catalog .sfcat-filter-btn { min-height: 108px !important; border: 2px solid var(--engaja-line) !important; border-radius: 16px !important; background: #fff !important; }
body.engajame-catalog .sfcat-filter-btn:hover,
body.engajame-catalog .sfcat-filter-btn.active { border-color: var(--engaja-pink) !important; background: #fff9fb !important; }
body.engajame-catalog .sfcat-filter-icon { color: #fff !important; background: var(--engaja-pink) !important; }

body.engajame-catalog .sfcat-layout { display: block !important; margin-top: 18px !important; }
body.engajame-catalog .sfcat-sidebar { display: none !important; }
body.engajame-catalog .sfcat-content { width: 100% !important; }
body.engajame-catalog .sfcat-section { margin-bottom: 16px !important; padding: 22px !important; }
body.engajame-catalog .sfcat-section-title { color: var(--engaja-ink) !important; font-size: 22px !important; }
body.engajame-catalog .sfcat-section-desc { color: var(--engaja-muted) !important; }
body.engajame-catalog .sfcat-services { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; }
body.engajame-catalog .sfcat-service { min-width: 0 !important; }
body.engajame-catalog .sfcat-service-btn { min-height: 150px !important; border: 2px solid var(--engaja-line) !important; border-radius: 16px !important; background: #fff !important; box-shadow: none !important; }
body.engajame-catalog .sfcat-service-btn:hover { transform: translateY(-2px) !important; border-color: var(--engaja-pink) !important; box-shadow: 0 10px 28px rgba(41,45,61,.07) !important; }
body.engajame-catalog .sfcat-service-qty,
body.engajame-catalog .sfcat-price,
body.engajame-catalog .sfcat-plus { color: var(--engaja-pink-dark) !important; }
body.engajame-catalog .sfcat-plus { border-color: #ffd0e2 !important; background: var(--engaja-pink-soft) !important; }
body.engajame-catalog .sfcat-modal-card { border-radius: 22px !important; }
body.engajame-catalog .sfcat-btn-confirm { background: var(--engaja-pink) !important; }

body.engajame-checkout,
body.engajame-cart { --primary-custom: #ff2b85 !important; --primary-btn: #ff2b85 !important; }
body.engajame-checkout .checkout-form { padding-top: 26px !important; }
body.engajame-checkout .checkout-form > .container { width: min(100%, 632px) !important; max-width: 632px !important; margin-inline: auto !important; }
body.engajame-checkout .checkout-wrap { display: block !important; }
body.engajame-checkout .checkout-left,
body.engajame-checkout .checkout-right { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
body.engajame-checkout .checkout-form .card {
  border: 1px solid var(--engaja-line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 14px 38px rgba(24,29,48,.06) !important;
}
body.engajame-checkout .checkout-steps-header { border-color: #ffd0e2 !important; background: #fff7fa !important; }
body.engajame-checkout .step-indicator.active,
body.engajame-checkout .btn-primary,
body.engajame-checkout .btn-submit { border-color: var(--engaja-pink) !important; background: var(--engaja-pink) !important; }
body.engajame-checkout input:focus,
body.engajame-checkout textarea:focus { border-color: var(--engaja-pink) !important; box-shadow: 0 0 0 3px rgba(255,43,133,.12) !important; }

.sr-orders-page {
  min-height: calc(100vh - 72px);
  display: grid;
  place-items: start center;
  padding: 48px 18px 80px;
}
.sr-orders-card {
  width: min(100%, 590px);
  padding: 34px;
  border: 1px solid var(--engaja-line);
  border-radius: 24px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 46px rgba(24,29,48,.08);
}
.sr-orders-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--engaja-pink-dark);
  background: var(--engaja-pink-soft);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sr-orders-card h1 { margin: 18px 0 8px; color: var(--engaja-ink); font-size: clamp(30px, 7vw, 42px); line-height: 1.05; letter-spacing: -.04em; }
.sr-orders-card > p { margin: 0; color: var(--engaja-muted); font-size: 15px; line-height: 1.65; }
.sr-orders-form { margin-top: 26px; }
.sr-orders-form label { display: block; margin-bottom: 8px; color: #555b6e; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.sr-orders-input { position: relative; }
.sr-orders-input i { position: absolute; top: 50%; left: 16px; color: var(--engaja-pink); transform: translateY(-50%); }
.sr-orders-input input { width: 100%; min-height: 54px; padding: 0 16px 0 46px; border: 1.5px solid var(--engaja-line); border-radius: 15px; color: var(--engaja-ink); background: #fff; outline: 0; }
.sr-orders-input input:focus { border-color: var(--engaja-pink); box-shadow: 0 0 0 4px rgba(255,43,133,.1); }
.sr-orders-form .btn-submit { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 14px; border: 0; border-radius: 15px; color: #fff; background: linear-gradient(100deg, #ff2b85, #f72078); font-weight: 800; box-shadow: 0 12px 24px rgba(255,43,133,.2); }
.sr-orders-form .btn-submit:disabled { opacity: .65; cursor: wait; }
.sr-orders-card .alert-message { margin-top: 16px; padding: 13px 15px; border: 1px solid #ffd0dc; border-radius: 13px; color: #9f1239; background: #fff1f5; font-size: 13px; }
.sr-orders-results { margin-top: 18px; }
.sr-orders-back { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; color: #676b79; font-size: 13px; font-weight: 700; text-decoration: none !important; }

body.engajame-cart .checkout-container { width: min(100%, 632px) !important; max-width: 632px !important; margin-inline: auto !important; padding-top: 26px !important; }
body.engajame-cart .checkout-grid { display: block !important; }
body.engajame-cart .checkout-left,
body.engajame-cart .checkout-right {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 14px !important;
  border: 1px solid var(--engaja-line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 14px 38px rgba(24,29,48,.06) !important;
}
body.engajame-cart .btn-finalizar,
body.engajame-cart .btn-ir-checkout { border-color: var(--engaja-pink) !important; background: var(--engaja-pink) !important; }
body.engajame-cart input:focus { border-color: var(--engaja-pink) !important; box-shadow: 0 0 0 3px rgba(255,43,133,.12) !important; }

@media (max-width: 720px) {
  .sr-orders-page { padding: 24px 10px 56px; }
  .sr-orders-card { padding: 22px 18px; border-radius: 19px; }
  .sr-orders-card h1 { font-size: 32px; }
  body.engajame-catalog .header { padding-inline: 12px !important; }
  body.engajame-catalog .header .nav { display: none !important; }
  body.engajame-catalog .sfcat-page { padding-inline: 10px !important; }
  body.engajame-catalog .sfcat-hero,
  body.engajame-catalog .sfcat-filter-shell,
  body.engajame-catalog .sfcat-section { padding: 17px !important; border-radius: 18px !important; }
  body.engajame-catalog .sfcat-services { grid-template-columns: 1fr !important; }
  body.engajame-checkout .checkout-form > .container { padding-inline: 10px !important; }
  body.engajame-cart .checkout-container { padding-inline: 10px !important; }
}

/* ==========================================================
   Fluxo SocialRedirect v4
   Hierarquia do Engaja.me com a funcionalidade do catálogo.
========================================================== */
body.engajame-flow {
  --engaja-pink: #ff2b85;
  --engaja-pink-dark: #ec1e76;
  --engaja-pink-soft: #fff1f7;
  --engaja-ink: #101016;
  --engaja-muted: #767a8c;
  --engaja-line: #e8e8ee;
  overflow-x: hidden !important;
  color: var(--engaja-ink) !important;
  font-family: "Plus Jakarta Sans", "Manrope", system-ui, sans-serif !important;
  background-color: #fbfbfc !important;
  background-image:
    linear-gradient(rgba(67, 73, 91, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 73, 91, .05) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
}

body.engajame-flow .compra-segura,
body.engajame-flow .hdr-compra-segura,
body.engajame-flow .aviso,
body.engajame-flow #float-layer,
body.engajame-flow .sf-theme-toggle { display: none !important; }

.sr-step-badge {
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  color: var(--engaja-pink-dark) !important;
  background: var(--engaja-pink-soft) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}

/* Catálogo: o cabeçalho passa a seguir a mesma linguagem da página inicial. */
body.engajame-catalog { padding-top: 0 !important; }
body.engajame-catalog .header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  min-height: 70px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 10px max(16px, calc((100vw - 960px) / 2)) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(226, 227, 233, .92) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 8px 28px rgba(24, 29, 48, .045) !important;
  backdrop-filter: blur(14px) !important;
}
body.engajame-catalog .header .menu-toggle,
body.engajame-catalog .header .nav { display: none !important; }
body.engajame-catalog .header .logo {
  flex: 0 0 auto !important;
  margin: 0 auto 0 0 !important;
}
body.engajame-catalog .header .logo img {
  width: 142px !important;
  height: 40px !important;
  max-width: 142px !important;
}
body.engajame-catalog .header .top-icons {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body.engajame-catalog .header .top-icons > a,
body.engajame-catalog .header .user-menu-wrapper > a {
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 14px !important;
  border: 1px solid var(--engaja-line) !important;
  border-radius: 999px !important;
  color: #343743 !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.engajame-catalog .header .top-icons a span:not(.carrinho-badge),
body.engajame-catalog .header .user-menu-wrapper a span { display: inline !important; }
body.engajame-catalog .header .carrinho-badge {
  top: -6px !important;
  right: -3px !important;
  left: auto !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  color: #fff !important;
  background: var(--engaja-pink) !important;
}

body.engajame-catalog .sfcat-page {
  padding: 18px 12px 56px !important;
  background: transparent !important;
}
body.engajame-catalog #sfcat-app {
  width: min(100%, 600px) !important;
  max-width: 600px !important;
}
body.engajame-catalog .sfcat-hero { display: none !important; }

.sr-flow-network {
  min-height: 74px;
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid var(--engaja-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 8px 24px rgba(24, 29, 48, .04);
}
.sr-flow-network-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg, #ff3c91, #ff1f79);
  box-shadow: 0 9px 18px rgba(255, 43, 133, .2);
  font-size: 21px;
}
.sr-flow-network-copy { min-width: 0; display: grid; gap: 2px; }
.sr-flow-network-copy small {
  color: #8a8ea0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.sr-flow-network-copy strong {
  overflow: hidden;
  color: var(--engaja-ink);
  font-size: 14px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sr-flow-network > a {
  padding: 8px 13px;
  border: 1px solid #ffd0e2;
  border-radius: 999px;
  color: var(--engaja-pink-dark) !important;
  background: #fff6fa;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none !important;
}

body.engajame-catalog .sfcat-filter-shell {
  position: relative !important;
  top: auto !important;
  z-index: 1 !important;
  margin: 16px 0 18px !important;
  padding: 28px !important;
  border: 1px solid var(--engaja-line) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .99) !important;
  box-shadow: 0 12px 36px rgba(24, 29, 48, .05) !important;
  backdrop-filter: none !important;
}
body.engajame-catalog .sfcat-filter-top {
  align-items: flex-start !important;
  margin-bottom: 18px !important;
}
.sr-flow-heading { min-width: 0; display: grid; gap: 8px; }
.sr-flow-heading > strong {
  color: var(--engaja-ink) !important;
  font-size: 29px !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.sr-flow-heading > small {
  color: var(--engaja-muted);
  font-size: 12px;
  font-weight: 500;
}
body.engajame-catalog .sfcat-filter-clear {
  min-height: 34px !important;
  padding: 0 12px !important;
  color: var(--engaja-pink-dark) !important;
  border: 1px solid #ffd2e3 !important;
  background: #fff6fa !important;
  box-shadow: none !important;
  white-space: nowrap;
}
body.engajame-catalog .sfcat-filter-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
body.engajame-catalog .sfcat-filter-btn {
  min-height: 164px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  padding: 16px !important;
  border: 2px solid var(--engaja-line) !important;
  border-radius: 17px !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.engajame-catalog .sfcat-filter-btn:hover,
body.engajame-catalog .sfcat-filter-btn.active {
  transform: none !important;
  border-color: var(--engaja-pink) !important;
  background: #fffafd !important;
}
body.engajame-catalog .sfcat-filter-icon {
  flex-basis: 48px !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 13px !important;
  background: var(--engaja-pink) !important;
  box-shadow: 0 9px 18px rgba(255, 43, 133, .19) !important;
}
body.engajame-catalog .sfcat-filter-copy { gap: 4px !important; }
body.engajame-catalog .sfcat-filter-copy strong {
  padding-right: 16px;
  color: var(--engaja-ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}
body.engajame-catalog .sfcat-filter-copy small {
  color: var(--engaja-muted) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}
body.engajame-catalog .sfcat-filter-copy em {
  padding: 4px 8px !important;
  border: 0 !important;
  color: #686c7b !important;
  background: #f2f2f6 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
}
body.engajame-catalog .sfcat-layout { margin-top: 0 !important; }
body.engajame-catalog .sfcat-section {
  margin-bottom: 16px !important;
  padding: 26px !important;
  border: 1px solid var(--engaja-line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 36px rgba(24, 29, 48, .05) !important;
}
body.engajame-catalog .sfcat-section-head { margin-bottom: 15px !important; padding-bottom: 15px !important; }
body.engajame-catalog .sfcat-section-title {
  margin-top: 11px !important;
  color: var(--engaja-ink) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
}
body.engajame-catalog .sfcat-section-title::before { display: none !important; }
body.engajame-catalog .sfcat-section-desc { color: var(--engaja-muted) !important; }
body.engajame-catalog .sfcat-services {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 11px !important;
}
body.engajame-catalog .sfcat-service-btn {
  min-height: 154px !important;
  border: 1.5px solid var(--engaja-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.engajame-catalog .sfcat-service-btn:hover {
  transform: translateY(-1px) !important;
  border-color: var(--engaja-pink) !important;
  box-shadow: 0 10px 25px rgba(24, 29, 48, .06) !important;
}
body.engajame-catalog .sfcat-service-qty,
body.engajame-catalog .sfcat-price { color: var(--engaja-pink-dark) !important; }
body.engajame-catalog .sfcat-plus {
  color: var(--engaja-pink-dark) !important;
  border: 1px solid #ffd0e2 !important;
  background: var(--engaja-pink-soft) !important;
  box-shadow: none !important;
}
body.engajame-catalog .sfcat-timer { color: #6c7080 !important; border-color: var(--engaja-line) !important; background: #f7f7f9 !important; }
body.engajame-catalog .sfcat-mobile-toolbar { display: none !important; }

body.engajame-catalog .sfcat-category-sheet { padding: 18px !important; }
body.engajame-catalog .sfcat-category-sheet-card {
  width: min(600px, 100%) !important;
  border-radius: 22px !important;
  border: 1px solid var(--engaja-line) !important;
  background: #fff !important;
}
body.engajame-catalog .sfcat-category-sheet-head {
  align-items: flex-start !important;
  padding: 24px 24px 16px !important;
}
body.engajame-catalog .sfcat-category-sheet-head h3 {
  margin-top: 10px !important;
  color: var(--engaja-ink) !important;
  font-size: 27px !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
}
body.engajame-catalog .sfcat-category-sheet-head p { color: var(--engaja-muted) !important; font-weight: 500 !important; }
body.engajame-catalog .sfcat-category-sheet-list { gap: 10px !important; padding: 14px 24px 24px !important; }
body.engajame-catalog .sfcat-category-sheet-link {
  min-height: 96px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto 18px !important;
  gap: 14px !important;
  padding: 15px 16px !important;
  border: 2px solid var(--engaja-line) !important;
  border-radius: 16px !important;
  color: var(--engaja-ink) !important;
  background: #fff !important;
}
body.engajame-catalog .sfcat-category-sheet-link:hover,
body.engajame-catalog .sfcat-category-sheet-link.active {
  color: var(--engaja-ink) !important;
  border-color: var(--engaja-pink) !important;
  background: #fffafd !important;
  box-shadow: none !important;
}
.sr-service-option-copy { min-width: 0; display: grid; gap: 5px; }
.sr-service-option-copy strong { color: var(--engaja-ink); font-size: 14px; font-weight: 800; line-height: 1.3; }
.sr-service-option-copy small { color: var(--engaja-muted); font-size: 10px; font-weight: 500; }
.sr-service-option-meta { display: grid; justify-items: end; gap: 4px; white-space: nowrap; }
.sr-service-option-meta small { color: #a0a3af; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sr-service-option-meta b { color: var(--engaja-pink-dark); font-size: 13px; font-weight: 800; }

body.engajame-catalog .sfcat-modal-card { border-radius: 22px !important; }
body.engajame-catalog .sfcat-modal-head span { color: var(--engaja-pink-dark) !important; }
body.engajame-catalog .sfcat-modal-head h3 { color: var(--engaja-ink) !important; font-weight: 800 !important; }
body.engajame-catalog .sfcat-modal-service { border-color: var(--engaja-line) !important; background: #fafafd !important; }
body.engajame-catalog .sfcat-btn-confirm { background: var(--engaja-pink) !important; box-shadow: 0 9px 20px rgba(255, 43, 133, .19) !important; }

/* Checkout: remove barras herdadas e aproxima o formulário do fluxo visual. */
body.engajame-checkout { padding-top: 0 !important; }
body.engajame-checkout .header.fixed-top { display: none !important; }
body.engajame-checkout .hdr-main {
  position: sticky !important;
  inset: auto !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  min-height: 70px !important;
  height: 70px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 10px max(16px, calc((100vw - 960px) / 2)) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(226, 227, 233, .92) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 8px 28px rgba(24, 29, 48, .045) !important;
  backdrop-filter: blur(14px) !important;
}
body.engajame-checkout .hdr-main .hdr-menu-toggle,
body.engajame-checkout .hdr-main .hdr-nav { display: none !important; }
body.engajame-checkout .hdr-main .logo { margin: 0 auto 0 0 !important; }
body.engajame-checkout .hdr-main .logo img {
  width: 142px !important;
  height: 40px !important;
  max-width: 142px !important;
  object-fit: contain !important;
}
body.engajame-checkout .hdr-top-icons {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body.engajame-checkout .hdr-top-icons > a,
body.engajame-checkout .hdr-user-wrapper > a {
  position: relative !important;
  width: auto !important;
  min-width: 40px !important;
  max-width: none !important;
  height: 40px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 14px !important;
  border: 1px solid var(--engaja-line) !important;
  border-radius: 999px !important;
  color: #343743 !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.engajame-checkout .hdr-top-icons > a:first-of-type::after { content: "Carrinho"; }
body.engajame-checkout .hdr-carrinho-badge {
  position: absolute !important;
  top: -6px !important;
  right: -3px !important;
  min-width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--engaja-pink) !important;
  font-size: 9px !important;
}
body.engajame-checkout .bottom-floating-nav { display: none !important; }
body.engajame-checkout section.checkout-form {
  width: 100% !important;
  max-width: 100% !important;
  padding: 24px 12px 52px !important;
}
body.engajame-checkout .checkout-form > .container {
  width: min(100%, 600px) !important;
  max-width: 600px !important;
  padding: 0 !important;
}
body.engajame-checkout .checkout-form .content,
body.engajame-checkout .checkout-form .checkout-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
body.engajame-checkout .checkout-form .m-t-40 { margin-top: 0 !important; padding: 0 !important; }
body.engajame-checkout .checkout-left { padding: 0 !important; }
body.engajame-checkout .checkout-form .card {
  padding: 28px !important;
  border: 1px solid var(--engaja-line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 14px 40px rgba(24, 29, 48, .06) !important;
}
.sr-checkout-intro { margin-bottom: 22px; }
.sr-checkout-intro h1 {
  margin: 12px 0 5px;
  color: var(--engaja-ink) !important;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.045em;
}
.sr-checkout-intro p { margin: 0; color: var(--engaja-muted) !important; font-size: 12px; line-height: 1.55; }
body.engajame-checkout .checkout-steps-header { display: none !important; }
body.engajame-checkout .wizard-step .form-section > .sr-step-badge { margin-bottom: 14px; }
body.engajame-checkout .form-section-title {
  margin-bottom: 14px !important;
  color: var(--engaja-ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}
body.engajame-checkout .checkout-inline-order-summary {
  margin-bottom: 18px !important;
  padding: 18px !important;
  border: 1px solid var(--engaja-line) !important;
  border-radius: 16px !important;
  background: #fafafd !important;
}
body.engajame-checkout .checkout-inline-kicker { color: #9699a8 !important; font-size: 9px !important; letter-spacing: .12em !important; }
body.engajame-checkout #quantity { color: var(--engaja-ink) !important; font-size: 38px !important; font-weight: 800 !important; }
body.engajame-checkout #titulo_servico {
  width: max-content !important;
  max-width: 100% !important;
  margin: 8px auto 12px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  color: var(--engaja-pink-dark) !important;
  background: var(--engaja-pink-soft) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
body.engajame-checkout .checkout-form .form-label { color: #555968 !important; font-size: 12px !important; font-weight: 700 !important; }
body.engajame-checkout .checkout-form .form-control,
body.engajame-checkout .checkout-form .custom-select,
body.engajame-checkout .checkout-form input,
body.engajame-checkout .checkout-form select,
body.engajame-checkout .checkout-form textarea {
  border-color: var(--engaja-line) !important;
  border-radius: 14px !important;
  color: var(--engaja-ink) !important;
  background: #fff !important;
}
body.engajame-checkout .checkout-form .form-control:focus,
body.engajame-checkout .checkout-form input:focus,
body.engajame-checkout .checkout-form textarea:focus {
  border-color: var(--engaja-pink) !important;
  box-shadow: 0 0 0 3px rgba(255, 43, 133, .11) !important;
}
body.engajame-checkout .btn-wizard-next,
body.engajame-checkout .btn-submit-hero,
body.engajame-checkout .btn-primary,
body.engajame-checkout .btn-submit {
  min-height: 50px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: var(--engaja-pink) !important;
  box-shadow: 0 9px 20px rgba(255, 43, 133, .19) !important;
  font-weight: 800 !important;
}
body.engajame-checkout .btn-wizard-prev,
body.engajame-checkout .btn-secundario,
body.engajame-checkout .btn-expandir-descricao {
  min-height: 46px !important;
  border: 1px solid var(--engaja-line) !important;
  border-radius: 14px !important;
  color: #626675 !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.engajame-checkout .ig-link-field {
  border: 1.5px solid #ffd0e2 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
body.engajame-checkout .ig-link-field:focus-within {
  border-color: var(--engaja-pink) !important;
  box-shadow: 0 0 0 3px rgba(255, 43, 133, .11) !important;
}
body.engajame-checkout .ig-link-icon {
  color: var(--engaja-pink-dark) !important;
  border-color: #ffd7e6 !important;
  background: var(--engaja-pink-soft) !important;
}
body.engajame-checkout .ig-link-action {
  color: var(--engaja-pink-dark) !important;
  border-color: #ffd2e3 !important;
  background: #fff6fa !important;
}
body.engajame-checkout .custom-pay-selected { border-color: #ffd0e2 !important; border-radius: 14px !important; background: #fffafd !important; }
body.engajame-checkout .checkout-destination-card,
body.engajame-checkout .checkout-payment-summary,
body.engajame-checkout #step-3 .resumo-recibo-corrigido {
  border-color: var(--engaja-line) !important;
  border-radius: 16px !important;
  background: #fafafd !important;
  box-shadow: none !important;
}

.sr-flow-trust {
  width: min(calc(100% - 24px), 600px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 0 auto 34px;
}
.sr-flow-trust > span {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid var(--engaja-line);
  border-radius: 999px;
  color: #555968;
  background: rgba(255, 255, 255, .96);
  font-size: 9px;
  font-weight: 700;
  text-align: center;
}
.sr-flow-trust i { color: var(--engaja-pink); }
body.engajame-checkout > .footer,
body.engajame-catalog > .footer { display: none !important; }

body.engajame-cart {
  overflow-x: hidden !important;
  background-color: #fbfbfc !important;
  background-image:
    linear-gradient(rgba(67, 73, 91, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 73, 91, .05) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
}
body.engajame-cart .checkout-container { width: min(100%, 600px) !important; padding: 24px 12px 54px !important; }
body.engajame-cart .checkout-left,
body.engajame-cart .checkout-right { border-radius: 20px !important; box-shadow: 0 14px 40px rgba(24, 29, 48, .06) !important; }
body.engajame-cart .btn-finalizar,
body.engajame-cart .btn-ir-checkout { border-radius: 14px !important; background: var(--engaja-pink) !important; }

@media (max-width: 720px) {
  body.engajame-catalog .header,
  body.engajame-checkout .hdr-main {
    min-height: 58px !important;
    height: 58px !important;
    padding: 7px 11px !important;
    gap: 7px !important;
  }
  body.engajame-catalog .header .logo,
  body.engajame-checkout .hdr-main .logo { flex: 0 0 auto !important; margin-right: auto !important; }
  body.engajame-catalog .header .logo img,
  body.engajame-checkout .hdr-main .logo img {
    width: 118px !important;
    height: 34px !important;
    max-width: 118px !important;
  }
  body.engajame-catalog .header .top-icons > a,
  body.engajame-catalog .header .user-menu-wrapper > a,
  body.engajame-checkout .hdr-top-icons > a,
  body.engajame-checkout .hdr-user-wrapper > a {
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
  }
  body.engajame-catalog .sfcat-page { padding: 12px 9px 42px !important; }
  .sr-flow-network { min-height: 68px; grid-template-columns: 44px 1fr auto; padding: 10px; border-radius: 16px; }
  .sr-flow-network-icon { width: 44px; height: 44px; border-radius: 12px; }
  body.engajame-catalog .sfcat-filter-shell { margin-top: 12px !important; padding: 18px !important; border-radius: 20px !important; }
  body.engajame-catalog .sfcat-filter-top { position: relative; padding-right: 76px; }
  .sr-flow-heading > strong { font-size: 24px !important; }
  body.engajame-catalog .sfcat-filter-clear { position: absolute; top: 0; right: 0; min-height: 30px !important; padding: 0 9px !important; font-size: 9px !important; }
  body.engajame-catalog .sfcat-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  body.engajame-catalog .sfcat-filter-btn { min-height: 156px !important; padding: 14px !important; gap: 12px !important; }
  body.engajame-catalog .sfcat-filter-copy strong { font-size: 13px !important; }
  body.engajame-catalog .sfcat-filter-copy small { font-size: 10px !important; }
  body.engajame-catalog .sfcat-section { padding: 18px !important; border-radius: 20px !important; }
  body.engajame-catalog .sfcat-services { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 9px !important; }
  body.engajame-catalog .sfcat-service-btn { min-height: 150px !important; padding: 13px !important; }
  body.engajame-catalog .sfcat-category-sheet { padding: 10px !important; }
  body.engajame-catalog .sfcat-category-sheet-card { border-radius: 20px !important; }
  body.engajame-catalog .sfcat-category-sheet-head { padding: 20px 18px 14px !important; }
  body.engajame-catalog .sfcat-category-sheet-head h3 { font-size: 24px !important; }
  body.engajame-catalog .sfcat-category-sheet-list { padding: 12px 18px 18px !important; }
  body.engajame-catalog .sfcat-category-sheet-link { min-height: 92px !important; padding: 13px !important; gap: 10px !important; }
  .sr-service-option-copy strong { font-size: 12px; }
  .sr-service-option-meta b { font-size: 11px; }

  body.engajame-checkout section.checkout-form { padding: 14px 8px 38px !important; }
  body.engajame-checkout .checkout-form .card { padding: 18px !important; border-radius: 20px !important; }
  .sr-checkout-intro { margin-bottom: 18px; }
  .sr-checkout-intro h1 { font-size: 27px; }
  body.engajame-checkout .checkout-inline-order-summary { padding: 15px !important; }
  body.engajame-checkout #quantity { font-size: 34px !important; }
  body.engajame-checkout .wizard-footer { padding-bottom: 0 !important; }
  .sr-flow-trust { width: calc(100% - 18px); gap: 6px; margin-bottom: 22px; }
  .sr-flow-trust > span { min-height: 36px; padding: 6px 5px; font-size: 8px; }
}

@media (max-width: 380px) {
  body.engajame-catalog .header .top-icons > a,
  body.engajame-catalog .header .user-menu-wrapper > a,
  body.engajame-checkout .hdr-top-icons > a,
  body.engajame-checkout .hdr-user-wrapper > a {
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    padding: 0 !important;
  }
  body.engajame-catalog .header .top-icons a span:not(.carrinho-badge),
  body.engajame-catalog .header .user-menu-wrapper a span,
  body.engajame-checkout .hdr-user-wrapper .user-text { display: none !important; }
  body.engajame-checkout .hdr-top-icons > a:first-of-type::after { display: none !important; }
  body.engajame-catalog .sfcat-filter-shell { padding: 15px !important; }
  body.engajame-catalog .sfcat-filter-top { padding-right: 65px; }
  .sr-flow-heading > strong { font-size: 21px !important; }
  body.engajame-catalog .sfcat-filter-btn { min-height: 150px !important; padding: 12px !important; }
  body.engajame-catalog .sfcat-filter-icon { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
  body.engajame-catalog .sfcat-services { grid-template-columns: 1fr !important; }
  body.engajame-catalog .sfcat-category-sheet-link { grid-template-columns: minmax(0, 1fr) 16px !important; }
  body.engajame-catalog .sr-service-option-meta { display: none !important; }
  body.engajame-checkout .checkout-form .card { padding: 15px !important; }
  .sr-checkout-intro h1 { font-size: 24px; }
}
@media (max-width: 430px) {
  body.engajame-catalog .sfcat-filter-grid { grid-template-columns: 1fr !important; }
  body.engajame-catalog .sfcat-filter-btn { min-height: 88px !important; }
}

/* Cabeçalho compacto: elimina a reserva duplicada do topo e organiza as ações. */
body.engajame-catalog { padding-top: 20px !important; }
body.engajame-catalog .header {
  position: sticky !important;
  top: 20px !important;
  min-height: 64px !important;
  height: auto !important;
  padding: 8px max(20px, calc((100vw - 1280px) / 2)) !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}
body.engajame-catalog .header .logo img {
  width: 138px !important;
  height: 38px !important;
  max-width: 138px !important;
  object-fit: contain !important;
}
body.engajame-catalog .header .nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(8px, .75vw, 14px) !important;
  overflow: visible !important;
}
body.engajame-catalog .header .nav a { white-space: nowrap !important; }
body.engajame-catalog .header .top-icons {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  gap: 8px !important;
}
body.engajame-catalog .header .top-icons > a,
body.engajame-catalog .header .user-menu-wrapper > a,
body.engajame-catalog .header .user-trigger {
  position: relative !important;
  min-height: 38px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  border: 1px solid var(--engaja-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 5px 14px rgba(31,35,50,.045) !important;
}
body.engajame-catalog .header .top-icons > a:hover,
body.engajame-catalog .header .user-menu-wrapper > a:hover,
body.engajame-catalog .header .user-trigger:hover {
  color: var(--engaja-pink-dark) !important;
  border-color: #ffc4da !important;
  background: #fff8fb !important;
}
body.engajame-catalog .header .carrinho-badge {
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  left: auto !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

@media (max-width: 720px) {
  body.engajame-catalog .header {
    min-height: 58px !important;
    padding: 7px 10px !important;
    gap: 6px !important;
  }
  body.engajame-catalog .header .menu-toggle {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.engajame-catalog .header .logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
  }
  body.engajame-catalog .header .logo img {
    width: 100px !important;
    height: 32px !important;
    max-width: 100px !important;
  }
  body.engajame-catalog .header .nav { display: none !important; }
  body.engajame-catalog .header .top-icons { gap: 6px !important; }
  body.engajame-catalog .header .top-icons > a,
  body.engajame-catalog .header .user-menu-wrapper > a,
  body.engajame-catalog .header .user-trigger {
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
  }
  body.engajame-catalog .header .top-icons a span:not(.carrinho-badge),
  body.engajame-catalog .header .user-trigger span,
  body.engajame-catalog .header .user-trigger .fa-chevron-down {
    display: none !important;
  }
}

/* Prioridade final do v4 sobre os ajustes legados do cabeçalho. */
body.engajame-catalog { padding-top: 0 !important; }
body.engajame-catalog .header {
  top: 0 !important;
  min-height: 70px !important;
  height: 70px !important;
  padding: 10px max(16px, calc((100vw - 960px) / 2)) !important;
  gap: 14px !important;
}
body.engajame-catalog .header .menu-toggle,
body.engajame-catalog .header .nav { display: none !important; }
body.engajame-catalog .header .logo {
  flex: 0 0 auto !important;
  margin: 0 auto 0 0 !important;
}
body.engajame-catalog .header .logo img {
  width: 142px !important;
  height: 40px !important;
  max-width: 142px !important;
}
body.engajame-catalog .header .top-icons > a,
body.engajame-catalog .header .user-menu-wrapper > a {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
}
body.engajame-catalog .header .top-icons a span:not(.carrinho-badge),
body.engajame-catalog .header .user-menu-wrapper a span { display: inline !important; }

@media (max-width: 720px) {
  body.engajame-catalog .header {
    top: 0 !important;
    min-height: 58px !important;
    height: 58px !important;
    padding: 7px 11px !important;
    gap: 7px !important;
  }
  body.engajame-catalog .header .menu-toggle { display: none !important; }
  body.engajame-catalog .header .logo { flex: 0 0 auto !important; margin-right: auto !important; }
  body.engajame-catalog .header .logo img {
    width: 118px !important;
    height: 34px !important;
    max-width: 118px !important;
  }
  body.engajame-catalog .header .top-icons > a,
  body.engajame-catalog .header .user-menu-wrapper > a {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
  }
  body.engajame-catalog .header .top-icons a span:not(.carrinho-badge),
  body.engajame-catalog .header .user-menu-wrapper a span { display: inline !important; }
}

@media (max-width: 430px) {
  body.engajame-catalog .sfcat-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.engajame-catalog .sfcat-filter-btn { min-height: 156px !important; }
}

@media (max-width: 380px) {
  body.engajame-catalog .header .top-icons > a,
  body.engajame-catalog .header .user-menu-wrapper > a {
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    padding: 0 !important;
  }
  body.engajame-catalog .header .top-icons a span:not(.carrinho-badge),
  body.engajame-catalog .header .user-menu-wrapper a span { display: none !important; }
  body.engajame-catalog .sfcat-filter-btn { min-height: 150px !important; }
}
