:root {
  --navy: #111a31;
  --blue: #0c5de8;
  --lime: #c9f54b;
  --cream: #f7f5ef;
  --ink: #172033;
  --muted: #707888;
  --line: #e7e7e2;
  --white: #fff;
  --orange: #ff7043;
  --green: #1eb980;
  --shadow: 0 20px 60px rgba(17, 26, 49, 0.12);
  --store-primary: var(--blue);
  --store-secondary: #f59e0b;
  --store-action: var(--green);
  --store-bg: var(--cream);
  --store-text: var(--ink);
  --store-heading-font: 'Manrope', 'DM Sans', sans-serif;
  --store-base-font-size: 15px;
  --store-text-size: 14px;
  --store-title-size: 48px;
  --store-subtitle-size: 18px;
  --store-section-gap: 48px;
  --store-button-radius: 8px;
  --store-card-radius: 8px;
  --store-products-per-row: 3;
  --store-body-weight: 400;
  --store-heading-weight: 800;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: 'DM Sans', sans-serif;
  font-size: var(--store-base-font-size);
  font-weight: var(--store-body-weight);
}
.app-shell {
  min-height: 100vh;
}
.topbar {
  height: 76px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(247, 245, 239, 0.94);
  backdrop-filter: blur(16px);
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
button {
  font: inherit;
}
.brand {
  font: 800 25px Manrope;
  text-decoration: none;
  color: var(--navy);
  display: flex;
  gap: 9px;
  align-items: center;
}
.brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 9px 12px 9px 14px;
  background: var(--blue);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 20px;
  transform: rotate(-5deg);
}
.main-nav {
  display: flex;
  gap: 34px;
}
.nav-link {
  border: 0;
  background: none;
  color: #6f7684;
  cursor: pointer;
  font-weight: 600;
  padding: 27px 0;
  position: relative;
}
.nav-link.active,
.nav-link:hover {
  color: var(--navy);
}
.nav-link.active:after {
  content: '';
  position: absolute;
  bottom: 17px;
  height: 3px;
  border-radius: 9px;
  background: var(--blue);
  left: 25%;
  right: 25%;
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.icon-btn,
.avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
  position: relative;
}
.avatar {
  background: var(--navy);
  color: #fff;
  border: 0;
  font-weight: 700;
}
.cart-count {
  position: absolute;
  right: -4px;
  top: -5px;
  background: var(--lime);
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.view {
  display: none;
}
.view.active {
  display: block;
}
.hero {
  min-height: 645px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 50px 8vw 75px;
  align-items: center;
  overflow: hidden;
}
.hero-content {
  z-index: 2;
}
.eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--blue);
  display: flex;
  align-items: center;
  gap: 8px;
}
.eyebrow i {
  width: 22px;
  height: 2px;
  background: currentColor;
}
.hero h1,
.section-heading h2,
.solutions h2 {
  font: 800 clamp(52px, 6.2vw, 86px) / 0.98 Manrope;
  margin: 22px 0;
  color: var(--navy);
  letter-spacing: -4.5px;
}
.hero h1 span,
.section-heading h2 span {
  color: var(--blue);
}
.hero p {
  font-size: 18px;
  line-height: 1.6;
  max-width: 510px;
  color: #687080;
}
.hero-actions {
  display: flex;
  gap: 12px;
  margin-top: 32px;
}
.btn {
  height: 50px;
  border-radius: 9px;
  padding: 0 22px;
  font-weight: 700;
  border: 1px solid transparent;
  cursor: pointer;
  transition: 0.25s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
}
.btn:hover {
  transform: translateY(-2px);
}
.btn.primary {
  background: var(--blue);
  color: #fff;
  box-shadow: 0 8px 20px rgba(12, 93, 232, 0.25);
}
.btn.ghost {
  border-color: #d8d9d4;
  background: transparent;
  color: var(--navy);
}
.btn.outline {
  background: transparent;
  border-color: #cfd1cc;
  margin: 36px auto 0;
  display: flex;
}
.btn.dark {
  background: var(--navy);
  color: #fff;
}
.btn.lime {
  background: var(--lime);
  color: var(--navy);
}
.btn.full {
  width: 100%;
}
.hero-proof {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 54px;
  font-size: 12px;
  color: #7a808c;
}
.hero-proof strong {
  font-size: 13px;
  color: var(--ink);
}
.mini-avatars {
  display: flex;
}
.mini-avatars b {
  margin-left: -7px;
  width: 34px;
  height: 34px;
  border: 3px solid var(--cream);
  border-radius: 50%;
  background: #f3b56d;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 9px;
}
.mini-avatars b:nth-child(2) {
  background: #586d9b;
}
.mini-avatars b:nth-child(3) {
  background: var(--blue);
}
.hero-visual {
  height: 500px;
  position: relative;
}
.blob {
  position: absolute;
  width: 460px;
  height: 430px;
  border-radius: 58% 42% 65% 35% / 42% 52% 48% 58%;
  background: var(--lime);
  right: 2%;
  top: 4%;
  transform: rotate(-7deg);
}
.product-card {
  position: absolute;
  width: 330px;
  height: 190px;
  border-radius: 8px;
  box-shadow: 0 28px 50px rgba(27, 35, 55, 0.23);
  padding: 28px;
  font-family: Manrope;
}
.card-back {
  background: var(--navy);
  color: white;
  right: 10%;
  top: 85px;
  transform: rotate(10deg);
  font-size: 27px;
  line-height: 1.08;
}
.card-back b {
  color: var(--lime);
}
.card-front {
  background: #fff;
  right: 22%;
  top: 210px;
  transform: rotate(-8deg);
  color: var(--navy);
  background-image: radial-gradient(#dce4f3 1px, transparent 1px);
  background-size: 12px 12px;
}
.card-front small {
  color: var(--blue);
  font-size: 8px;
  text-transform: uppercase;
}
.card-front strong {
  display: block;
  font-size: 29px;
  line-height: 0.9;
  margin-top: 12px;
}
.card-front em {
  font: 400 9px 'DM Sans';
  display: block;
  margin-top: 12px;
}
.round-sticker {
  position: absolute;
  right: 0;
  bottom: 50px;
  background: var(--orange);
  color: #fff;
  width: 105px;
  height: 105px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  transform: rotate(9deg);
  box-shadow: 0 14px 30px #ff70434d;
  font-size: 11px;
}
.round-sticker b {
  font-size: 16px;
}
.round-sticker span {
  font-size: 18px;
}
.sparkle {
  position: absolute;
  font-size: 28px;
  color: var(--blue);
}
.s1 {
  left: 4%;
  top: 18%;
}
.s2 {
  right: 4%;
  top: 4%;
  color: var(--orange);
}
.section-wrap {
  padding: 110px 8vw;
}
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
.section-heading h2 {
  font-size: 58px;
  letter-spacing: -3px;
  margin-bottom: 0;
}
.section-heading > p {
  color: #7a808c;
  line-height: 1.6;
}
.category-tabs {
  display: flex;
  gap: 9px;
  margin: 50px 0 26px;
  overflow-x: auto;
}
.category-tabs button {
  padding: 10px 18px;
  border: 1px solid #dadbd6;
  background: transparent;
  border-radius: 50px;
  white-space: nowrap;
  color: #69717f;
  cursor: pointer;
}
.category-tabs button.active {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.product {
  background: #fff;
  border-radius: 13px;
  overflow: hidden;
  cursor: pointer;
  transition: 0.3s;
  position: relative;
}
.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}
.product-art {
  height: 210px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}
.product-art:after {
  content: '';
  width: 150px;
  height: 95px;
  background: var(--pc, #fff);
  border-radius: 5px;
  box-shadow: 0 16px 28px rgba(20, 28, 47, 0.2);
  transform: rotate(var(--rot, -6deg));
  background-image: linear-gradient(
    125deg,
    transparent 45%,
    rgba(255, 255, 255, 0.35) 46%,
    transparent 50%
  );
}
.product-art span {
  position: absolute;
  z-index: 2;
  font: 800 11px Manrope;
  color: var(--pt, #172033);
  transform: rotate(var(--rot, -6deg));
  text-align: center;
}
.product-info {
  padding: 18px;
}
.product-info small {
  font-size: 9px;
  color: var(--blue);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.product-info h3 {
  margin: 8px 0 14px;
  font: 700 15px Manrope;
}
.product-price {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
.product-price span {
  font-size: 10px;
  color: #8b9099;
}
.product-price strong {
  display: block;
  color: var(--navy);
  font-size: 17px;
}
.product-price button {
  border: 0;
  background: #f0f3f7;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  cursor: pointer;
  color: var(--blue);
}
.product .tag {
  position: absolute;
  top: 11px;
  left: 11px;
  background: var(--lime);
  z-index: 5;
  font-size: 8px;
  font-weight: 800;
  padding: 5px 8px;
  border-radius: 4px;
}
.solutions {
  background: var(--navy);
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 10vw;
  color: #fff;
}
.eyebrow.light {
  color: var(--lime);
}
.solutions h2 {
  color: #fff;
  font-size: 56px;
  letter-spacing: -3px;
}
.solutions h2 span {
  color: var(--lime);
}
.solutions-copy > p {
  color: #aab1c0;
  line-height: 1.7;
  max-width: 480px;
}
.solutions-copy .btn {
  margin-top: 24px;
}
.feature-stack article {
  display: grid;
  grid-template-columns: 55px 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 30px 10px;
  border-bottom: 1px solid #33405b;
}
.feature-stack article > span {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  background: #23314e;
  display: grid;
  place-items: center;
  color: var(--lime);
  font-size: 22px;
}
.feature-stack h3 {
  margin: 0 0 8px;
  font: 700 18px Manrope;
}
.feature-stack p {
  margin: 0;
  color: #9ea8bb;
  font-size: 13px;
}
.feature-stack b {
  font-size: 11px;
  color: #5d6780;
}
.dashboard-view.active {
  display: grid;
  grid-template-columns: 235px 1fr;
  min-height: calc(100vh - 76px);
  background: #f5f6f8;
}
.sidebar {
  background: #fff;
  border-right: 1px solid var(--line);
  padding: 28px 17px;
  display: flex;
  flex-direction: column;
}
.side-title {
  font-size: 9px;
  letter-spacing: 1.3px;
  color: #a1a6af;
  font-weight: 800;
  margin: 8px 13px 10px;
}
.side-link {
  height: 42px;
  border: 0;
  background: none;
  border-radius: 7px;
  text-align: left;
  padding: 0 12px;
  color: #687080;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
}
.side-link.active {
  background: #ecf2ff;
  color: var(--blue);
  font-weight: 700;
}
.side-link b,
.side-link em {
  margin-left: auto;
  font-size: 9px;
  background: #ffebe5;
  color: var(--orange);
  border-radius: 10px;
  padding: 3px 6px;
  font-style: normal;
}
.side-link em {
  background: #eaf8bd;
  color: #59750b;
}
.side-spacer {
  flex: 1;
}
.plan-card {
  background: var(--navy);
  color: #fff;
  border-radius: 10px;
  padding: 16px;
}
.plan-card small {
  color: var(--lime);
  font-size: 8px;
  font-weight: 800;
}
.plan-card strong {
  display: block;
  font-size: 12px;
  margin: 7px 0 14px;
}
.plan-card div {
  height: 4px;
  background: #3c465f;
  border-radius: 4px;
}
.plan-card i {
  display: block;
  width: 72%;
  height: 100%;
  background: var(--lime);
}
.plan-card span {
  font-size: 8px;
  color: #aab1bf;
}
.plan-card button {
  border: 0;
  background: none;
  color: white;
  text-decoration: underline;
  font-size: 9px;
  margin-top: 12px;
  cursor: pointer;
}
.dash-content {
  padding: 40px 4vw;
  min-width: 0;
}
.dash-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dash-top h1 {
  font: 800 29px Manrope;
  margin: 10px 0 4px;
}
.dash-top p {
  margin: 0;
  color: #8a909b;
  font-size: 13px;
}
.dash-actions {
  display: flex;
  gap: 10px;
}
.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 30px 0;
}
.metric {
  background: #fff;
  border: 1px solid #e8e9eb;
  border-radius: 11px;
  padding: 19px;
}
.metric-top {
  display: flex;
  justify-content: space-between;
  color: #8a909c;
  font-size: 11px;
}
.metric-icon {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: #edf3ff;
  color: var(--blue);
  display: grid;
  place-items: center;
}
.metric strong {
  font: 800 25px Manrope;
  display: block;
  margin: 14px 0 5px;
}
.metric small {
  color: var(--green);
  font-size: 9px;
}
.metric small.down {
  color: var(--orange);
}
.dash-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 15px;
}
.dash-card {
  background: #fff;
  border: 1px solid #e8e9eb;
  border-radius: 11px;
  padding: 21px;
}
.dash-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dash-card h3 {
  font: 700 14px Manrope;
  margin: 0;
}
.dash-card-head button {
  border: 0;
  background: none;
  color: var(--blue);
  font-size: 10px;
  cursor: pointer;
}
.bars {
  height: 190px;
  display: flex;
  align-items: end;
  justify-content: space-around;
  border-bottom: 1px solid var(--line);
  padding-top: 30px;
}
.bar-wrap {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
  gap: 7px;
  color: #9298a3;
  font-size: 8px;
}
.bar {
  width: 22px;
  background: #dbe6fb;
  border-radius: 5px 5px 0 0;
}
.bar.highlight {
  background: var(--blue);
}
.order-list {
  margin-top: 14px;
}
.order-row {
  display: grid;
  grid-template-columns: 35px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid #eee;
}
.order-row > span {
  width: 32px;
  height: 32px;
  background: #eef3fb;
  border-radius: 7px;
  display: grid;
  place-items: center;
}
.order-row strong,
.order-row small {
  display: block;
  font-size: 10px;
}
.order-row small {
  color: #999;
  margin-top: 3px;
}
.order-row b {
  font-size: 9px;
  padding: 5px 7px;
  border-radius: 9px;
  background: #fff2cc;
  color: #9a6a00;
}
.order-row b.done {
  background: #dff8ed;
  color: #16865e;
}
.generic-panel {
  margin-top: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 35px;
}
.generic-panel h2 {
  font: 800 24px Manrope;
}
.ai-box {
  background: linear-gradient(135deg, #111a31, #253963);
  color: #fff;
  border-radius: 14px;
  padding: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ai-box p {
  color: #b7c1d5;
  max-width: 570px;
}
.drawer {
  position: fixed;
  right: -480px;
  top: 0;
  width: min(440px, 100%);
  height: 100vh;
  background: #fff;
  z-index: 101;
  transition: 0.35s;
  display: flex;
  flex-direction: column;
}
.drawer.open {
  right: 0;
}
.drawer-head {
  padding: 30px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.drawer-head small {
  color: var(--blue);
  font-size: 9px;
  font-weight: 800;
}
.drawer-head h2 {
  margin: 6px 0 0;
  font: 800 27px Manrope;
}
.drawer-close,
.modal-close {
  border: 0;
  background: #f2f3f5;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
}
.cart-items {
  padding: 15px 28px;
  overflow: auto;
  flex: 1;
}
.empty-cart {
  text-align: center;
  color: #9298a2;
  margin-top: 90px;
}
.empty-cart span {
  font-size: 45px;
  display: block;
  margin-bottom: 16px;
}
.cart-item {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 12px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.cart-thumb {
  width: 60px;
  height: 50px;
  background: #e9effa;
  border-radius: 7px;
  display: grid;
  place-items: center;
  font-size: 18px;
}
.cart-item strong,
.cart-item small {
  display: block;
  font-size: 12px;
}
.cart-item small {
  color: #8c929c;
  margin-top: 4px;
}
.cart-item button {
  border: 0;
  background: none;
  color: #aaa;
  cursor: pointer;
}
.drawer-footer {
  padding: 25px 28px;
  border-top: 1px solid var(--line);
}
.drawer-footer > div {
  display: flex;
  justify-content: space-between;
}
.drawer-footer > small {
  display: block;
  color: #9298a2;
  font-size: 10px;
  margin: 5px 0 18px;
}
.scrim {
  position: fixed;
  inset: 0;
  background: #111a3188;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
  backdrop-filter: blur(3px);
}
.scrim.show {
  opacity: 1;
  pointer-events: auto;
}
.modal {
  position: fixed;
  z-index: 103;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -45%) scale(0.96);
  background: #fff;
  width: min(900px, 92vw);
  max-height: 90vh;
  overflow: auto;
  border-radius: 16px;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
  box-shadow: var(--shadow);
}
.modal.open {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}
.modal-close {
  position: absolute;
  right: 15px;
  top: 15px;
  z-index: 2;
}
.modal-visual {
  min-height: 520px;
  background: var(--art, #e8effc);
  display: grid;
  place-items: center;
}
.modal-visual:after {
  content: 'SUA MARCA\A AQUI';
  white-space: pre;
  text-align: center;
  display: grid;
  place-items: center;
  width: 230px;
  height: 140px;
  border-radius: 8px;
  background: var(--card, #fff);
  color: var(--navy);
  font: 800 22px Manrope;
  box-shadow: 0 25px 50px #111a3140;
  transform: rotate(-6deg);
}
.modal-body {
  padding: 44px 38px;
}
.modal-body h2 {
  font: 800 28px Manrope;
  margin: 15px 0 8px;
}
.modal-body > p {
  color: #808793;
  font-size: 13px;
}
.config-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 25px;
}
.config-grid label {
  font-size: 10px;
  font-weight: 700;
}
.config-grid select {
  display: block;
  width: 100%;
  height: 44px;
  border: 1px solid #ddd;
  border-radius: 7px;
  padding: 0 10px;
  margin-top: 7px;
  background: #fff;
}
.upload-zone {
  border: 1.5px dashed #cbd2dd;
  background: #f8faff;
  border-radius: 9px;
  padding: 15px;
  margin: 17px 0;
  display: flex;
  align-items: center;
  gap: 13px;
}
.upload-zone > span {
  font-size: 22px;
  color: var(--blue);
}
.upload-zone div {
  flex: 1;
}
.upload-zone strong,
.upload-zone small {
  display: block;
  font-size: 11px;
}
.upload-zone small {
  color: #9aa0aa;
  margin-top: 3px;
}
.upload-zone button {
  border: 0;
  background: none;
  color: var(--blue);
  font-size: 10px;
  font-weight: 700;
}
.modal-total {
  border-top: 1px solid var(--line);
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-total small,
.modal-total span {
  display: block;
  color: #9298a2;
  font-size: 9px;
}
.modal-total strong {
  font: 800 24px Manrope;
}
.search-overlay {
  position: fixed;
  inset: 0;
  background: rgba(247, 245, 239, 0.98);
  z-index: 105;
  padding: 90px 15vw;
  opacity: 0;
  pointer-events: none;
  transition: 0.25s;
}
.search-overlay.open {
  opacity: 1;
  pointer-events: auto;
}
.search-box {
  display: flex;
  align-items: center;
  border-bottom: 2px solid var(--navy);
  padding: 15px;
  font-size: 30px;
}
.search-box input {
  flex: 1;
  border: 0;
  outline: 0;
  background: none;
  font: 700 25px Manrope;
  padding: 0 20px;
}
.search-box button {
  font-size: 9px;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 5px;
  padding: 7px;
}
.search-result {
  padding: 17px;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
}
.search-result:hover {
  background: #fff;
}
.toast {
  position: fixed;
  z-index: 110;
  bottom: -80px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--navy);
  color: #fff;
  padding: 14px 22px;
  border-radius: 8px;
  font-size: 12px;
  transition: 0.3s;
}
.toast.show {
  bottom: 25px;
}
@media (max-width: 900px) {
  .main-nav {
    display: none;
  }
  .hero {
    grid-template-columns: 1fr;
    padding-top: 70px;
  }
  .hero-visual {
    display: none;
  }
  .trust-strip {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .trust-strip > div {
    border: 0;
  }
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .solutions {
    grid-template-columns: 1fr;
  }
  .dashboard-view.active {
    grid-template-columns: 1fr;
  }
  .sidebar {
    display: none;
  }
  .metric-grid {
    grid-template-columns: 1fr 1fr;
  }
  .dash-grid {
    grid-template-columns: 1fr;
  }
  .modal {
    grid-template-columns: 1fr;
  }
  .modal-visual {
    min-height: 230px;
  }
  .dash-top {
    align-items: flex-start;
  }
  .dash-actions .ghost {
    display: none;
  }
}
@media (max-width: 560px) {
  .topbar {
    padding: 0 20px;
  }
  .hero {
    padding: 50px 22px;
    min-height: 580px;
  }
  .hero h1 {
    font-size: 48px;
    letter-spacing: -3px;
  }
  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .trust-strip {
    grid-template-columns: 1fr;
    padding: 25px;
  }
  .section-wrap {
    padding: 75px 22px;
  }
  .section-heading {
    display: block;
  }
  .section-heading h2,
  .solutions h2 {
    font-size: 42px;
  }
  .section-heading > p {
    margin-top: 25px;
  }
  .product-grid {
    grid-template-columns: 1fr;
  }
  .product-art {
    height: 240px;
  }
  .dash-content {
    padding: 25px 18px;
  }
  .dash-top h1 {
    font-size: 22px;
  }
  .dash-actions .btn {
    padding: 0 12px;
    font-size: 11px;
  }
  .metric-grid {
    grid-template-columns: 1fr;
  }
  .config-grid {
    grid-template-columns: 1fr;
  }
  .modal-body {
    padding: 32px 22px;
  }
  .modal-total {
    align-items: flex-end;
  }
  .modal-total .btn {
    padding: 0 13px;
  }
  .search-overlay {
    padding: 70px 20px;
  }
  .search-box input {
    font-size: 17px;
    min-width: 0;
  }
  .solutions {
    padding: 75px 22px;
  }
}
/* Expanded storefront */
.header-search {
  height: 40px;
  width: 170px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  color: #9298a3;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  cursor: pointer;
  font-size: 11px;
}
.header-search span:first-child {
  font-size: 20px;
  color: var(--navy);
}
.header-actions > .search-toggle.icon-btn {
  display: none;
}
.whatsapp-mini {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 0;
  background: #def7e9;
  color: #109c5b;
  font-size: 20px;
  cursor: pointer;
}
.login-btn {
  height: 40px;
  padding: 0 15px;
  border: 1px solid #d5d7d3;
  border-radius: 21px;
  background: transparent;
  font-weight: 700;
  color: var(--navy);
  cursor: pointer;
}
.compact-section {
  padding-top: 78px;
  padding-bottom: 78px;
}
.mini-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 32px;
}
.mini-heading h2 {
  font: 800 34px Manrope;
  margin: 12px 0 0;
  letter-spacing: -1.5px;
}
.mini-heading p {
  color: #7c8491;
}
.text-link {
  border: 0;
  background: none;
  color: var(--blue);
  font-weight: 700;
  cursor: pointer;
}
.category-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 10px;
}
.category-tile {
  height: 115px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 12px;
  padding: 14px 8px;
  cursor: pointer;
  transition: 0.25s;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--navy);
}
.category-tile:hover {
  border-color: var(--blue);
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(17, 26, 49, 0.08);
}
.category-tile span {
  font-size: 26px;
}
.category-tile strong {
  font-size: 10px;
  text-align: center;
}
.promo-band {
  margin: 30px 8vw;
  padding: 60px 7%;
  border-radius: 20px;
  background: var(--blue);
  color: #fff;
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  align-items: center;
  overflow: hidden;
}
.promo-copy h2 {
  font: 800 46px/0.98 Manrope;
  letter-spacing: -2.5px;
  margin: 17px 0;
}
.promo-copy h2 span {
  color: var(--lime);
}
.promo-copy p {
  color: #d7e3ff;
}
.promo-art {
  height: 270px;
  position: relative;
}
.promo-card {
  position: absolute;
  right: 9%;
  top: 45px;
  width: 320px;
  height: 185px;
  background: #fff;
  color: var(--navy);
  padding: 45px;
  font: 800 27px/1 Manrope;
  transform: rotate(8deg);
  box-shadow: 0 25px 40px #073b9a66;
  border-radius: 7px;
}
.promo-card b {
  color: var(--blue);
}
.coupon {
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--navy);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 800 45px Manrope;
  transform: rotate(9deg);
}
.coupon small {
  font-size: 13px;
  line-height: 1;
}
.bestsellers {
  background: #fff;
}
.whatsapp-cta {
  padding: 70px 8vw;
  background: var(--lime);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.whatsapp-cta h2 {
  font: 800 42px/1 Manrope;
  letter-spacing: -2px;
  margin: 16px 0;
}
.whatsapp-cta p {
  color: #536124;
}
.whatsapp-btn {
  background: #159c5a;
  color: #fff;
}
.whatsapp-btn:hover {
  background: #11834c;
}
footer {
  padding: 55px 8vw 30px;
  background: #0c1427;
  color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 25px;
  align-items: center;
}
footer .brand {
  color: #fff;
}
footer p {
  font-size: 12px;
  color: #8e98aa;
}
footer > div {
  display: flex;
  gap: 20px;
}
footer a,
footer button {
  color: #b3bac8;
  text-decoration: none;
  border: 0;
  background: none;
  font-size: 11px;
  cursor: pointer;
}
footer > small {
  grid-column: 1/-1;
  border-top: 1px solid #273149;
  padding-top: 20px;
  color: #687389;
  font-size: 9px;
}
.modal.product-page {
  width: min(1050px, 94vw);
  grid-template-columns: 0.9fr 1.1fr;
}
.product-gallery {
  background: var(--art, #e8effc);
  padding-bottom: 18px;
}
.product-gallery .modal-visual {
  min-height: 500px;
}
.gallery-thumbs {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.gallery-thumbs button {
  width: 70px;
  height: 48px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: #ffffffa6;
  cursor: pointer;
  font-size: 8px;
}
.gallery-thumbs button.active {
  border-color: var(--blue);
  background: #fff;
}
.product-page .modal-body {
  padding: 35px 34px;
}
.product-rating {
  font-size: 11px;
  color: #f5b928;
}
.product-rating span {
  color: #8e95a0;
  margin-left: 5px;
}
.delivery-badges {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 16px 0;
}
.delivery-badges > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  display: flex;
  align-items: center;
  gap: 9px;
}
.delivery-badges > div > span {
  color: var(--blue);
}
.delivery-badges p,
.delivery-badges strong,
.delivery-badges small {
  margin: 0;
  display: block;
}
.delivery-badges strong {
  font-size: 9px;
}
.delivery-badges small {
  font-size: 8px;
  color: #8d949e;
  margin-top: 2px;
}
.shipping-box {
  margin: 12px 0;
}
.shipping-box > label {
  font-size: 10px;
  font-weight: 700;
}
.shipping-box > div {
  display: flex;
  margin-top: 6px;
}
.shipping-box input {
  height: 40px;
  flex: 1;
  border: 1px solid #ddd;
  border-radius: 7px 0 0 7px;
  padding: 0 12px;
  outline: 0;
}
.shipping-box button {
  height: 40px;
  border: 0;
  background: var(--navy);
  color: #fff;
  padding: 0 17px;
  border-radius: 0 7px 7px 0;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
}
.shipping-box p {
  font-size: 9px;
  color: var(--green);
  min-height: 12px;
  margin: 6px 0;
}
.buy-actions {
  display: flex;
  gap: 7px;
}
.whatsapp-outline {
  border-color: #25a966;
  color: #168e55;
  background: #fff;
  padding: 0 12px;
}
.giv-storefront {
  background: var(--store-bg);
  color: var(--store-text);
}
.giv-storefront :where(h1, h2, h3, .brand, .section-heading h2, .mini-heading h2) {
  font-family: var(--store-heading-font);
  font-weight: var(--store-heading-weight);
  letter-spacing: 0;
}
.giv-storefront :where(p, small, label, input, select, textarea) {
  font-size: var(--store-text-size);
}
.giv-storefront :where(.section-wrap, .giv-home-hero, .trust-strip, .client-showcase) {
  margin-block: var(--store-section-gap);
}
.giv-storefront :where(.btn, button, .icon-btn) {
  border-radius: var(--store-button-radius);
}
.giv-storefront :where(.product, .catalog-product-card, .category-tile, .suite-card) {
  border-radius: var(--store-card-radius);
}
.giv-storefront :where(.hero h1, .giv-banner h1, .section-heading h2, .mini-heading h2) {
  font-size: var(--store-title-size);
}
.giv-storefront :where(.hero p, .giv-banner p) {
  font-size: var(--store-subtitle-size);
}
.catalog-upgraded .product-grid,
.giv-storefront .product-grid {
  grid-template-columns: repeat(var(--store-products-per-row), minmax(0, 1fr)) !important;
}
.graphic-extra-field select,
.graphic-measure-field input,
.graphic-notes-field textarea {
  display: block;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 7px;
  padding: 0 10px;
  margin-top: 7px;
  background: #fff;
}
.graphic-measure-field input {
  height: 44px;
}
.graphic-notes-field {
  grid-column: 1 / -1;
}
.graphic-notes-field textarea {
  min-height: 88px;
  padding: 10px;
  resize: vertical;
}
.giv-product-price s {
  display: block;
  color: #9aa3af;
  font-size: 11px;
  margin: 2px 0;
}
body[data-store-button-style='outline'] .giv-storefront .btn.primary {
  background: #fff;
  color: var(--store-primary);
  border: 1px solid var(--store-primary);
}
body[data-store-card-style='flat'] .giv-storefront .catalog-product-card {
  box-shadow: none !important;
}
@media (max-width: 1050px) {
  .header-search,
  .login-btn {
    display: none;
  }
  .header-actions > .search-toggle.icon-btn {
    display: block;
  }
  .category-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 900px) {
  .solutions,
  .promo-band {
    grid-template-columns: 1fr;
  }
  .promo-art {
    display: none;
  }
  .whatsapp-cta {
    gap: 30px;
  }
  .modal.product-page {
    grid-template-columns: 1fr;
  }
  .product-gallery .modal-visual {
    min-height: 230px;
  }
}
@media (max-width: 560px) {
  .whatsapp-mini {
    display: none;
  }
  .category-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .category-tile {
    height: 95px;
  }
  .mini-heading {
    display: block;
  }
  .mini-heading .text-link {
    margin-top: 16px;
  }
  .promo-band {
    margin: 15px;
    padding: 45px 25px;
  }
  .promo-copy h2 {
    font-size: 36px;
  }
  .whatsapp-cta {
    display: block;
    padding: 55px 22px;
  }
  .whatsapp-cta .btn {
    margin-top: 20px;
  }
  footer {
    grid-template-columns: 1fr;
  }
  footer > small {
    grid-column: 1;
  }
  footer > div {
    flex-wrap: wrap;
  }
  .buy-actions {
    flex-direction: column;
  }
  .modal-total {
    gap: 12px;
  }
}
/* Checkout */
.checkout-drawer {
  width: min(500px, 100%);
}
.checkout-drawer .cart-items {
  min-height: 100px;
  padding-bottom: 5px;
}
.checkout-form {
  padding: 6px 28px 12px;
  border-top: 1px solid var(--line);
}
.checkout-form fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}
.checkout-form legend,
.order-notes {
  font-size: 10px;
  font-weight: 800;
  color: var(--navy);
  margin: 12px 0 8px;
}
.payment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.payment-option {
  position: relative;
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-rows: auto auto;
  column-gap: 8px;
  padding: 10px;
  border: 1px solid #e1e3e7;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
}
.payment-option:hover,
.payment-option.active {
  border-color: var(--blue);
  background: #f5f8ff;
}
.payment-option input {
  position: absolute;
  opacity: 0;
}
.payment-icon {
  grid-row: 1/3;
  width: 27px;
  height: 27px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: #e8f7f2;
  color: #12a06d;
}
.payment-icon.mp {
  background: #e7f4ff;
  color: #0b7fc7;
}
.payment-icon.card {
  background: #e8edff;
  color: #415cbb;
}
.payment-icon.boleto {
  background: #f1f2f4;
  color: #58606e;
}
.payment-option strong {
  font-size: 10px;
}
.payment-option small {
  font-size: 8px;
  color: #9298a2;
}
.order-notes {
  display: block;
  position: relative;
}
.order-notes textarea {
  display: block;
  width: 100%;
  height: 58px;
  margin-top: 7px;
  resize: none;
  border: 1px solid #dfe1e5;
  border-radius: 8px;
  padding: 9px 11px;
  font: 10px 'DM Sans';
  outline: none;
}
.order-notes textarea:focus {
  border-color: var(--blue);
}
.order-notes > small {
  position: absolute;
  right: 7px;
  bottom: 5px;
  color: #a1a6af;
  font-size: 7px;
}
.checkout-actions {
  display: grid !important;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 8px;
  margin-top: 14px;
}
.quote-btn {
  border-color: #cfd3da;
  background: #fff;
  color: var(--navy);
  font-size: 11px;
}
.whatsapp-checkout {
  background: #159c5a;
  color: #fff;
  font-size: 11px;
}
.secure-note {
  text-align: center;
  color: #9298a2;
  font-size: 8px;
  margin: 9px 0 0;
}
.checkout-drawer .drawer-footer {
  padding-top: 15px;
  padding-bottom: 14px;
}
@media (max-width: 560px) {
  .payment-grid {
    grid-template-columns: 1fr 1fr;
  }
  .checkout-actions {
    grid-template-columns: 1fr !important;
  }
  .checkout-form {
    padding-left: 20px;
    padding-right: 20px;
  }
  .checkout-drawer .drawer-footer {
    padding-left: 20px;
    padding-right: 20px;
  }
}
/* Floating WhatsApp */
.floating-whatsapp {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 90;
  border: 0;
  background: #25d366;
  color: #fff;
  border-radius: 30px;
  min-width: 184px;
  height: 58px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(18, 160, 82, 0.38);
  transition: 0.25s;
  animation: whatsappPulse 1.45s ease-in-out infinite;
}
.floating-whatsapp:hover {
  background: #19b957;
  transform: translateY(-3px);
  box-shadow: 0 16px 35px rgba(19, 151, 82, 0.48);
  animation-play-state: paused;
}
.floating-whatsapp img {
  width: 27px;
  height: 27px;
  display: block;
}
.floating-whatsapp strong {
  font: 800 12px Manrope;
  color: #fff;
  white-space: nowrap;
}
@keyframes whatsappPulse {
  0%,
  100% {
    box-shadow: 0 10px 24px rgba(18, 160, 82, 0.34);
    filter: brightness(1);
  }
  50% {
    box-shadow:
      0 10px 28px rgba(18, 160, 82, 0.55),
      0 0 0 9px rgba(37, 211, 102, 0.16);
    filter: brightness(1.12);
  }
}
@media (prefers-reduced-motion: reduce) {
  .floating-whatsapp {
    animation: none;
  }
}
@media (max-width: 560px) {
  .floating-whatsapp {
    right: 16px;
    bottom: 16px;
    min-width: 164px;
    height: 54px;
    padding: 0 16px;
  }
  .floating-whatsapp img {
    width: 25px;
    height: 25px;
  }
  .floating-whatsapp strong {
    font-size: 11px;
  }
}
/* Complete admin dashboard */
.admin-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 13px;
  margin: 30px 0 15px;
}
.admin-metric {
  position: relative;
  min-height: 142px;
}
.admin-metric.primary-metric {
  background: linear-gradient(135deg, #fff, #f7faff);
}
.metric-icon.green {
  background: #e4f8ef;
  color: #159563;
}
.metric-icon.purple {
  background: #eee9ff;
  color: #7055d9;
}
.metric-icon.orange {
  background: #fff0e8;
  color: #e66b31;
}
.metric-icon.yellow {
  background: #fff6d8;
  color: #ae7d00;
}
.admin-metric .metric-action {
  position: absolute;
  right: 15px;
  bottom: 15px;
  border: 0;
  background: none;
  color: var(--blue);
  font-size: 8px;
  font-weight: 700;
  cursor: pointer;
}
.admin-main-grid {
  grid-template-columns: 1.55fr 1fr;
}
.sales-card .dash-card-head small,
.top-products-card .dash-card-head small {
  display: block;
  color: #959ba5;
  font-size: 9px;
  margin-top: 4px;
}
.chart-total {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 20px 0 -20px;
}
.chart-total strong {
  font: 800 21px Manrope;
}
.chart-total span {
  font-size: 9px;
  color: var(--green);
  background: #e6f8f0;
  padding: 4px 7px;
  border-radius: 10px;
}
.sales-card .bars {
  height: 210px;
}
.sales-card .bar-wrap small {
  font-size: 7px;
  color: #a2a7b0;
}
.order-donut {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  margin: 22px 0;
}
.donut {
  width: 116px;
  height: 116px;
  border-radius: 50%;
  background: conic-gradient(var(--green) 0 95.7%, #f0c45b 95.7% 100%);
  display: grid;
  place-items: center;
  position: relative;
}
.donut:after {
  content: '';
  position: absolute;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: #fff;
}
.donut span {
  position: relative;
  z-index: 1;
  text-align: center;
}
.donut strong,
.donut small {
  display: block;
}
.donut strong {
  font: 800 19px Manrope;
}
.donut small {
  font-size: 8px;
  color: #999;
}
.donut-legend p {
  display: grid;
  grid-template-columns: 8px 1fr auto;
  gap: 7px;
  align-items: center;
  font-size: 9px;
  min-width: 105px;
}
.donut-legend i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}
.done-dot {
  background: var(--green);
}
.pending-dot {
  background: #f0c45b;
}
.donut-legend span {
  color: #888;
}
.compact-orders .order-row {
  padding: 7px 0;
}
.top-products-card {
  margin-top: 15px;
}
.top-product-list {
  margin-top: 15px;
}
.top-product-row {
  display: grid;
  grid-template-columns: 25px 38px minmax(150px, 1fr) minmax(90px, 1fr) 95px;
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid #eee;
}
.rank {
  font-size: 10px;
  color: #9aa0a9;
}
.top-product-thumb {
  width: 36px;
  height: 32px;
  border-radius: 7px;
  background: color-mix(in srgb, var(--product-color) 15%, white);
  color: var(--product-color);
  display: grid;
  place-items: center;
}
.top-product-name strong,
.top-product-name small {
  display: block;
}
.top-product-name strong {
  font-size: 10px;
}
.top-product-name small {
  font-size: 8px;
  color: #9a9fa8;
  margin-top: 3px;
}
.product-progress {
  height: 5px;
  background: #edf0f3;
  border-radius: 5px;
  overflow: hidden;
}
.product-progress i {
  display: block;
  height: 100%;
  border-radius: 5px;
}
.product-revenue {
  font-size: 10px;
  text-align: right;
}
@media (max-width: 1150px) {
  .admin-metric-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 900px) {
  .admin-main-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .admin-metric-grid {
    grid-template-columns: 1fr;
  }
  .top-product-row {
    grid-template-columns: 22px 35px 1fr auto;
  }
  .product-progress {
    display: none;
  }
  .product-revenue {
    font-size: 9px;
  }
  .sales-card {
    overflow-x: auto;
  }
  .sales-card .bars {
    min-width: 480px;
  }
}
/* Administrative management */
.management-panel {
  margin-top: 30px;
}
.management-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 22px;
}
.management-head h2 {
  font: 800 26px Manrope;
  margin: 9px 0 4px;
}
.management-head p {
  margin: 0;
  color: #9298a3;
  font-size: 10px;
}
.management-tools {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  background: #fff;
  border: 1px solid #e7e9ec;
  border-bottom: 0;
  border-radius: 11px 11px 0 0;
  padding: 14px;
}
.admin-search {
  height: 38px;
  width: min(370px, 100%);
  border: 1px solid #dfe2e7;
  border-radius: 7px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  color: #818997;
}
.admin-search input {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  padding-left: 9px;
  font-size: 10px;
}
.management-tools select {
  border: 1px solid #dfe2e7;
  border-radius: 7px;
  padding: 0 10px;
  background: #fff;
  color: #606875;
  font-size: 10px;
}
.admin-table-wrap {
  background: #fff;
  border: 1px solid #e7e9ec;
  border-radius: 0 0 11px 11px;
  overflow: auto;
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 780px;
}
.admin-table th {
  text-align: left;
  padding: 11px 15px;
  background: #f8f9fb;
  color: #8c929d;
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}
.admin-table td {
  padding: 12px 15px;
  border-top: 1px solid #edf0f2;
  font-size: 10px;
  color: #5f6774;
}
.table-product {
  display: flex;
  align-items: center;
  gap: 10px;
}
.table-product > span {
  width: 38px;
  height: 34px;
  border-radius: 6px;
  display: grid;
  place-items: center;
}
.table-product strong,
.table-product small {
  display: block;
}
.table-product strong {
  font-size: 10px;
  color: var(--navy);
}
.table-product small {
  font-size: 8px;
  color: #a1a6af;
  margin-top: 3px;
}
.stock {
  color: #278b63;
}
.stock.low {
  color: #dd6b39;
}
.status-pill {
  font-size: 8px;
  padding: 5px 8px;
  border-radius: 12px;
}
.active-status {
  background: #e2f7ed;
  color: #18845b;
}
.row-menu {
  border: 0;
  background: none;
  color: #9096a0;
  cursor: pointer;
}
.client-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 13px;
}
.client-card {
  background: #fff;
  border: 1px solid #e5e7ea;
  border-radius: 11px;
  padding: 19px;
}
.client-card-top {
  display: flex;
  justify-content: space-between;
}
.client-card-top > b {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #e8efff;
  color: var(--blue);
  display: grid;
  place-items: center;
  font-size: 10px;
}
.client-card h3 {
  font: 700 13px Manrope;
  margin: 13px 0 8px;
}
.client-card > a {
  display: block;
  text-decoration: none;
  color: #68717e;
  font-size: 9px;
  margin: 6px 0;
}
.client-card > a:first-of-type {
  color: #178f59;
}
.client-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #f7f8fa;
  border-radius: 7px;
  margin-top: 14px;
}
.client-stats span {
  padding: 10px;
  border-right: 1px solid #e6e8eb;
}
.client-stats span:last-child {
  border: 0;
}
.client-stats strong,
.client-stats small {
  display: block;
}
.client-stats strong {
  font-size: 11px;
}
.client-stats small {
  font-size: 7px;
  color: #989ea7;
  margin-top: 2px;
}
.client-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 13px;
}
.client-footer > small {
  font-size: 7px;
  color: #999;
}
.client-footer button {
  border: 0;
  background: none;
  color: var(--blue);
  font-size: 8px;
  font-weight: 700;
  cursor: pointer;
}
.order-summary {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 7px;
  margin-bottom: 13px;
}
.order-summary button {
  border: 1px solid #e1e4e8;
  background: #fff;
  border-radius: 8px;
  padding: 11px;
  text-align: left;
  cursor: pointer;
  display: grid;
  grid-template-columns: 9px 1fr auto;
  align-items: center;
  gap: 5px;
}
.order-summary button.active {
  border-color: var(--blue);
  background: #f5f8ff;
}
.order-summary span {
  font-size: 8px;
  color: #727a86;
}
.order-summary strong {
  font-size: 11px;
}
.status-color {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8490a0;
}
.status-color.novo {
  background: #4b8cf5;
}
.status-color.em-produção {
  background: #f0a642;
}
.status-color.aguardando-pagamento {
  background: #e56d5c;
}
.status-color.enviado {
  background: #8565dc;
}
.status-color.finalizado {
  background: #28a876;
}
.status-select {
  border: 0;
  border-radius: 12px;
  padding: 5px 7px;
  font-size: 8px;
  font-weight: 700;
  outline: none;
}
.status-novo {
  background: #e6f0ff;
  color: #3473cd;
}
.status-em-produção {
  background: #fff2d9;
  color: #a46c00;
}
.status-aguardando-pagamento {
  background: #ffebe7;
  color: #b64d3e;
}
.status-enviado {
  background: #eee9ff;
  color: #6e52bf;
}
.status-finalizado {
  background: #e2f7ed;
  color: #18845b;
}
.admin-modal {
  position: fixed;
  inset: 0;
  background: #111a3199;
  backdrop-filter: blur(4px);
  z-index: 120;
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  transition: 0.25s;
}
.admin-modal.open {
  opacity: 1;
  pointer-events: auto;
}
.admin-modal-card {
  width: min(650px, 92vw);
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  border-radius: 14px;
  box-shadow: var(--shadow);
}
.admin-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 26px;
  border-bottom: 1px solid var(--line);
}
.admin-modal-head small {
  font-size: 8px;
  color: var(--blue);
  font-weight: 800;
  letter-spacing: 1px;
}
.admin-modal-head h2 {
  font: 800 20px Manrope;
  margin: 4px 0 0;
}
.admin-modal-head button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
}
.admin-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 24px 26px;
}
.admin-form-grid label {
  font-size: 9px;
  font-weight: 700;
}
.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea {
  display: block;
  width: 100%;
  height: 42px;
  border: 1px solid #dfe2e6;
  border-radius: 7px;
  margin-top: 6px;
  padding: 0 11px;
  background: #fff;
  font: 10px 'DM Sans';
  outline: none;
}
.admin-form-grid textarea {
  height: 72px;
  padding-top: 10px;
  resize: vertical;
}
.admin-form-grid input:focus,
.admin-form-grid select:focus,
.admin-form-grid textarea:focus {
  border-color: var(--blue);
}
.full-field {
  grid-column: 1/-1;
}
.admin-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding: 18px 26px;
  border-top: 1px solid var(--line);
}
.history-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 24px 26px;
}
.history-summary span {
  padding: 18px;
  background: #f5f7fa;
  border-radius: 9px;
}
.history-summary strong,
.history-summary small {
  display: block;
}
.history-summary strong {
  font: 800 20px Manrope;
}
.history-summary small {
  font-size: 8px;
  color: #9298a1;
  margin-top: 4px;
}
.history-timeline {
  padding: 0 30px;
}
.history-timeline p {
  position: relative;
  border-left: 1px solid #dce1e7;
  padding: 0 0 20px 18px;
  margin: 0;
}
.history-timeline i {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue);
  left: -4px;
  top: 4px;
}
.history-timeline strong,
.history-timeline small {
  display: block;
  font-size: 9px;
}
.history-timeline small {
  color: #949aa4;
  margin-top: 4px;
}
@media (max-width: 1050px) {
  .order-summary {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 700px) {
  .management-head {
    align-items: flex-start;
    gap: 15px;
  }
  .management-head .btn {
    padding: 0 12px;
    font-size: 10px;
  }
  .client-grid {
    grid-template-columns: 1fr;
  }
  .order-summary {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-form-grid {
    grid-template-columns: 1fr;
  }
  .full-field {
    grid-column: 1;
  }
  .management-tools {
    display: block;
  }
  .management-tools select {
    height: 38px;
    margin-top: 8px;
    width: 100%;
  }
}

/* MOUSE IA */

/* Responsive hardening */
img,
svg,
video,
canvas {
  max-width: 100%;
}
.side-link-anchor {
  text-decoration: none;
  color: inherit;
}
.admin-authenticated .login-btn {
  display: none;
}
.admin-table-wrap,
.cart-items,
.dash-content {
  scrollbar-width: thin;
}
.mouse-brand {
  gap: 11px;
  line-height: 1;
}
.mouse-brand .brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 50% 50% 46% 54%;
  font-size: 11px;
  letter-spacing: -0.5px;
  transform: rotate(-4deg);
  box-shadow: inset -7px -6px 0 rgba(0, 0, 0, 0.08);
}
.mouse-brand > span:last-child {
  font-size: 17px;
  display: grid;
  gap: 2px;
}
.mouse-brand small {
  font: 800 7px Manrope;
  letter-spacing: 2.2px;
  color: var(--blue);
}
.utility-bar {
  height: 32px;
  background: #141414;
  color: #fff;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 9px;
}
.utility-bar div {
  display: flex;
  gap: 22px;
}
.utility-bar button {
  border: 0;
  background: none;
  color: #fff;
  font-size: 9px;
  cursor: pointer;
}
.topbar {
  top: 0;
  height: 124px;
  flex-wrap: wrap;
  padding-top: 13px;
  padding-bottom: 0;
}
.main-product-search {
  width: min(560px, 45vw);
  height: 46px;
  border: 1px solid #d9dde3;
  border-radius: 24px;
  background: #fff;
  color: #8a919c;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 20px;
  text-align: left;
  cursor: pointer;
}
.main-product-search strong {
  font-size: 11px;
  font-weight: 500;
}
.main-product-search span {
  font-size: 20px;
  color: var(--blue);
}
.main-nav {
  order: 4;
  width: 100%;
  height: 52px;
  justify-content: center;
  align-items: center;
  gap: 31px;
}
.main-nav > .nav-link,
.mega-menu > .nav-link {
  padding: 17px 0;
}
.nav-link.active:after {
  bottom: 8px;
}
.mega-menu {
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}
.mega-panel {
  position: fixed;
  left: 5vw;
  right: 5vw;
  top: 156px;
  z-index: 70;
  background: #fff;
  border: 1px solid #e0e4ea;
  border-radius: 0 0 16px 16px;
  box-shadow: 0 25px 65px rgba(17, 26, 49, 0.18);
  padding: 25px;
  display: none;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.mega-panel.open,
.mega-menu:hover .mega-panel {
  display: grid;
}
.mega-panel section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.mega-panel h3 {
  font: 800 12px Manrope;
  color: var(--navy);
  margin: 0 0 9px;
  padding-bottom: 7px;
  border-bottom: 2px solid var(--lime);
  width: 100%;
}
.mega-panel h3:not(:first-child) {
  margin-top: 18px;
}
.mega-panel button {
  border: 0;
  background: none;
  padding: 4px 0;
  color: #687181;
  font-size: 9px;
  text-align: left;
  cursor: pointer;
}
.mega-panel button:hover {
  color: var(--blue);
}
.catalog-nav {
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  position: sticky;
  top: 124px;
  z-index: 45;
  background: #fff;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
}
.catalog-nav button {
  height: 100%;
  padding: 0 22px;
  border: 0;
  border-right: 1px solid #edf0f3;
  background: #fff;
  color: #596273;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.catalog-nav button:hover {
  background: #f5f8ff;
  color: var(--blue);
}
.admin-authenticated .catalog-nav {
  display: none;
}
.admin-authenticated .topbar {
  display: none;
}
.admin-authenticated .dashboard-view.active {
  min-height: 100vh;
}
.catalog-empty {
  grid-column: 1/-1;
  padding: 50px;
  text-align: center;
  background: #fff;
  border: 1px dashed #cdd4de;
  border-radius: 14px;
}
.catalog-empty strong,
.catalog-empty p {
  display: block;
}
.catalog-empty p {
  color: #808894;
  font-size: 10px;
}
.site-footer {
  position: relative;
  background: #071b36;
  color: #fff;
  padding: 55px 8vw 0;
}
.footer-color-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 5px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}
.footer-color-line i:nth-child(1),
.footer-color-line i:nth-child(5) {
  background: #c9f54b;
}
.footer-color-line i:nth-child(2),
.footer-color-line i:nth-child(6) {
  background: #ff6c72;
}
.footer-color-line i:nth-child(3) {
  background: #48bff0;
}
.footer-color-line i:nth-child(4) {
  background: #fff;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.05fr 1.55fr 1fr;
  gap: 70px;
  max-width: 1280px;
  margin: auto;
}
.site-footer h3 {
  font: 800 13px Manrope;
  text-transform: uppercase;
  margin: 0 0 16px;
  color: #fff;
}
.site-footer p,
.site-footer a,
.site-footer button,
.site-footer span {
  font-size: 10px;
  line-height: 1.65;
  color: #edf4ff;
}
.site-footer a,
.site-footer button {
  display: block;
  text-decoration: none;
}
.site-footer button {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
}
.footer-info {
  display: grid !important;
  grid-template-columns: 25px 1fr;
  gap: 8px;
  margin: 0 0 13px !important;
  width: 100%;
}
.footer-info > b {
  font-size: 15px;
  color: #79c9ff;
}
.footer-info strong {
  display: block;
  color: #fff;
  text-transform: uppercase;
  font-size: 9px;
  margin-bottom: 3px;
}
.footer-technical > p {
  max-width: 520px;
  margin: 0 0 34px;
}
.footer-link-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.footer-link-columns a,
.footer-link-columns button,
.footer-account > button {
  margin: 6px 0;
}
.footer-social {
  display: flex;
  gap: 22px;
  margin-bottom: 34px;
}
.footer-social a,
.footer-social button {
  display: grid;
  text-align: center;
  justify-items: center;
  gap: 3px;
}
.footer-social b {
  font-size: 22px;
  color: #fff;
}
.footer-social span {
  font-size: 7px;
  text-transform: uppercase;
}
.secure-purchase {
  border: 1px dashed #9ab4d0;
  padding: 12px 16px;
  margin-top: 20px;
  text-align: center;
  border-radius: 3px;
}
.secure-purchase strong,
.secure-purchase small {
  display: block;
}
.secure-purchase small {
  font-size: 8px;
  color: #bed0e5;
  margin-top: 3px;
}
.footer-commercial {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 50px;
  max-width: 1280px;
  margin: 32px auto 0;
}
.payment-badges,
.delivery-badges,
.security-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.payment-badges span,
.delivery-badges span,
.security-badges span {
  display: grid;
  place-items: center;
  min-height: 35px;
  background: #fff;
  color: #10243e !important;
  border-radius: 3px;
  padding: 6px 10px;
  font-size: 8px !important;
  font-weight: 900;
  line-height: 1;
}
.payment-badges .mastercard {
  color: #ef4b37 !important;
  letter-spacing: -4px;
  font-size: 18px !important;
}
.delivery-badges span {
  min-width: 76px;
  color: #0c5de8 !important;
}
.security-badges span {
  min-width: 130px;
  color: #207347 !important;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid #294461;
  max-width: 1280px;
  margin: 38px auto 0;
  padding: 17px 0;
  color: #c7d7e9;
  font-size: 8px;
}
.footer-commercial {
  grid-template-columns: 1.15fr 0.95fr 1fr;
  gap: 70px;
  margin-top: 36px;
}
.payment-badges,
.delivery-badges,
.security-badges {
  align-items: center;
  gap: 9px;
}
.payment-logo,
.delivery-logo {
  height: 37px;
  min-width: 55px;
  background: #fff !important;
  color: #10243e !important;
  border-radius: 3px;
  padding: 5px 8px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.payment-logo.visa {
  font: bold italic 17px Arial !important;
  color: #1a3d8f !important;
}
.payment-logo.mastercard {
  position: relative;
  min-width: 55px;
  letter-spacing: 0 !important;
}
.payment-logo.mastercard i {
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #eb3f35;
  display: block;
}
.payment-logo.mastercard i + i {
  background: #f7a928;
  margin-left: -7px;
  opacity: 0.92;
}
.payment-logo.elo {
  font: bold 17px Arial !important;
  color: #242424 !important;
}
.payment-logo.hipercard {
  background: #be2030 !important;
  color: #fff !important;
  font-size: 8px !important;
}
.payment-logo.amex {
  background: #4a9bc4 !important;
  color: #fff !important;
  font-size: 6px !important;
  text-align: center;
}
.payment-logo.pix {
  color: #149575 !important;
}
.payment-logo.boleto {
  font-size: 22px !important;
  letter-spacing: -4px;
}
.delivery-logo {
  min-width: 83px;
  color: #0753a4 !important;
}
.delivery-logo.pac {
  font: bold italic 17px Arial !important;
  border-bottom: 5px solid #f5d42e;
}
.delivery-logo.sedex {
  font: bold italic 14px Arial !important;
}
.delivery-logo.pickup,
.delivery-logo.carrier {
  font-size: 7px !important;
}
.security-badges {
  gap: 12px;
}
.security-logo {
  width: 138px;
  height: 76px;
  background: #fff !important;
  color: #17456d !important;
  border-radius: 3px;
  padding: 8px !important;
  display: grid !important;
  grid-template-columns: 35px 1fr;
  grid-template-rows: 1fr 1fr;
  align-items: center;
}
.security-logo b {
  grid-row: 1/3;
  font-size: 25px;
  color: #20784f;
}
.security-logo i {
  font: bold 17px Arial;
  font-style: normal;
}
.security-logo small {
  font-size: 6px !important;
  color: #637488 !important;
  line-height: 1 !important;
}
.security-logo.encrypt b {
  color: #ed9d20;
}
.footer-bottom {
  display: block !important;
  width: calc(100% + 16vw);
  max-width: none !important;
  clear: both;
  text-align: center;
  margin: 38px -8vw 0 !important;
  padding: 18px 8vw !important;
  border-top: 1px solid #294461;
  background: #05162d;
}
.footer-bottom span {
  display: block;
  width: 100%;
  text-align: center;
  color: #c7d7e9 !important;
  font-size: 8px !important;
}
.admin-form-grid .check-field {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  margin-top: 15px;
}
.admin-form-grid .check-field input {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--blue);
  flex: 0 0 auto;
}
.product-art {
  aspect-ratio: 3/2;
  height: auto;
  background: #eef1f5;
}
.product-art:has(img):after,
.product-art:has(img) > span {
  display: none;
}
.product-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s;
}
.product:hover .product-art img {
  transform: scale(1.035);
}
.product-info > p {
  font-size: 10px;
  line-height: 1.45;
  color: #78808d;
  margin: 0 0 14px;
  min-height: 43px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.modal-visual {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.modal-visual[style*='background-image'] {
  border: 1px solid #e5e8ed;
  box-shadow: 0 20px 45px rgba(17, 26, 49, 0.12);
}
.customer-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.customer-fields label {
  font-size: 9px;
  font-weight: 800;
  color: #596272;
}
.customer-fields input {
  width: 100%;
  height: 40px;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  padding: 0 11px;
  margin-top: 6px;
  font: 10px 'DM Sans';
}
.customer-fields .full-field {
  grid-column: 1/-1;
}
.invoice-request {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 9px !important;
  color: #566070;
}
.invoice-request input {
  accent-color: var(--blue);
}
.pix-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding: 12px 14px;
  background: #eaf8f2;
  border: 1px solid #caeadc;
  border-radius: 10px;
}
.pix-box small,
.pix-box strong {
  display: block;
}
.pix-box small {
  font-size: 7px;
  color: #5a756a;
  letter-spacing: 0.7px;
}
.pix-box strong {
  font-size: 13px;
  margin-top: 3px;
  color: #155d45;
}
.pix-box button,
.invoice-button {
  border: 1px solid #b9daca;
  background: #fff;
  color: #13714f;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}
.invoice-button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.cart-thumb {
  overflow: hidden;
}
.cart-thumb img,
.table-product > span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.search-result {
  width: 100%;
  display: grid;
  grid-template-columns: 58px 1fr auto;
  gap: 12px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #edf0f3;
  background: #fff;
  padding: 12px;
  text-align: left;
  cursor: pointer;
}
.search-result:hover {
  background: #f6f9ff;
}
.search-result img {
  width: 58px;
  height: 39px;
  border-radius: 7px;
  object-fit: cover;
}
.search-result span strong,
.search-result span small {
  display: block;
}
.search-result span small {
  font-size: 9px;
  color: #89909b;
  margin-top: 4px;
}
.search-result > b {
  font-size: 11px;
  color: var(--blue);
}
.search-empty,
.search-hint {
  padding: 28px;
  text-align: center;
  color: #838b97;
}
.search-empty strong,
.search-empty small {
  display: block;
}
.search-empty small {
  margin-top: 6px;
}
.site-footer {
  display: block !important;
}
/* Clientes atendidos + marcas do rodapé */
.client-showcase {
  background: #f5f7fb;
  padding: 52px 8vw 46px;
  border-top: 1px solid #e5e9f0;
}
.client-showcase-heading {
  max-width: 1280px;
  margin: 0 auto 24px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}
.client-showcase-heading h2 {
  font: 800 32px Manrope;
  margin: 10px 0 0;
  color: var(--navy);
  letter-spacing: -1.2px;
}
.client-carousel-controls {
  display: flex;
  gap: 8px;
}
.client-carousel-controls button {
  width: 42px;
  height: 42px;
  border: 1px solid #dbe1ea;
  border-radius: 50%;
  background: #fff;
  color: var(--navy);
  font-size: 19px;
  cursor: pointer;
  transition: 0.2s;
}
.client-carousel-controls button:hover {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}
.client-carousel {
  max-width: 1280px;
  margin: 0 auto;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-behavior: smooth;
  padding: 2px;
}
.client-carousel::-webkit-scrollbar {
  display: none;
}
.client-carousel-track {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 34px;
  min-width: 100%;
  width: max-content;
}
.client-carousel-track.is-centered {
  width: 100%;
  flex-wrap: wrap;
}
.client-brand-card {
  width: 210px;
  min-width: 210px;
  height: 112px;
  background: transparent;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-shadow: none;
  transition: 0.2s;
}
.client-brand-card:hover {
  transform: translateY(-3px);
}
.client-brand-card img {
  display: block;
  max-width: 185px;
  max-height: 92px;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: drop-shadow(0 2px 2px rgba(15, 35, 65, 0.08));
}
.client-brand-card img[src*='conserta-smart'] {
  filter: brightness(0) saturate(100%) opacity(0.78);
}
.site-footer h3 {
  font-size: 15px;
}
.site-footer p,
.site-footer a,
.site-footer button,
.site-footer span {
  font-size: 12px;
}
.footer-info strong {
  font-size: 10px;
}
.footer-social {
  gap: 26px;
}
.footer-social img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}
.footer-social span {
  font-size: 9px;
}
.footer-commercial {
  align-items: start;
}
.brand-logo-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.brand-logo-list > img {
  display: block;
  width: auto;
  height: 39px;
  max-width: 106px;
  object-fit: contain;
  background: #fff;
  border-radius: 4px;
  padding: 6px 9px;
}
.payment-badges > img {
  max-width: 88px;
}
.delivery-badges > img {
  height: 42px;
  max-width: 112px;
}
.security-badges {
  display: flex;
  align-items: center;
  gap: 12px;
}
.security-badges > .safe-browsing-logo {
  height: 65px;
  max-width: 180px;
  padding: 4px;
}
.security-brand {
  height: 65px;
  min-width: 152px;
  background: #fff;
  border-radius: 4px;
  padding: 8px 12px;
  display: flex !important;
  align-items: center;
  gap: 10px;
}
.security-brand img {
  width: 40px;
  height: 40px;
}
.security-brand strong {
  color: #173653;
  font: 800 11px/1.15 Manrope;
  text-transform: uppercase;
}
.footer-bottom span {
  font-size: 10px !important;
}
@media (max-width: 900px) {
  .client-brand-card {
    width: 170px;
    min-width: 170px;
  }
  .client-showcase {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .site-footer p,
  .site-footer a,
  .site-footer button,
  .site-footer span {
    font-size: 11px;
  }
}
@media (max-width: 560px) {
  .client-showcase {
    padding: 38px 7vw;
  }
  .client-showcase-heading {
    align-items: center;
  }
  .client-showcase-heading h2 {
    font-size: 26px;
  }
  .client-showcase-heading .eyebrow {
    font-size: 7px;
  }
  .client-brand-card {
    width: 154px;
    min-width: 154px;
    height: 92px;
    padding: 14px;
  }
  .client-brand-wordmark {
    font-size: 12px;
  }
  .client-carousel-controls button {
    width: 37px;
    height: 37px;
  }
  .brand-logo-list > img {
    height: 37px;
  }
  .security-badges {
    align-items: stretch;
  }
  .security-brand,
  .security-badges > .safe-browsing-logo {
    height: 62px;
  }
}
.topbar {
  gap: 18px;
}
.main-nav {
  align-items: center;
  gap: 22px;
}
.mega-menu {
  position: relative;
}
.mega-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mega-panel {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 80;
  display: none;
  width: min(920px, 92vw);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  background: #fff;
  border: 1px solid #dfe4ea;
  border-radius: 8px;
  padding: 18px;
  box-shadow: 0 22px 60px rgba(17, 26, 49, 0.16);
}
.mega-panel.open,
.mega-menu:hover > .mega-panel {
  display: grid;
}
.mega-panel section {
  display: grid;
  gap: 8px;
}
.mega-panel h3 {
  font: 800 11px Manrope;
  margin: 0 0 5px;
  color: var(--navy);
}
.mega-panel button,
.managed-sub-link {
  border: 0;
  background: #f7f9fc;
  color: #3b4656;
  border-radius: 6px;
  padding: 9px 10px;
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.mega-panel button:hover,
.managed-sub-link:hover {
  background: #eaf2ff;
  color: var(--blue);
}
.managed-menu-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 420px;
}
.catalog-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding: 10px 5vw;
  background: #fff;
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
.catalog-nav::-webkit-scrollbar {
  display: none;
}
.catalog-nav button {
  flex: 0 0 auto;
  border: 1px solid #dde3ea;
  background: #fff;
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 11px;
  font-weight: 800;
  color: #485466;
  cursor: pointer;
}
.catalog-nav .catalog-all {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
.client-carousel-track {
  justify-content: flex-start;
}
.client-carousel-track.is-centered {
  justify-content: center;
}
.client-brand-card {
  color: var(--navy);
  text-decoration: none;
  flex-direction: column;
  gap: 8px;
}
.client-brand-card strong {
  font: 800 10px Manrope;
  text-align: center;
  max-width: 190px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.client-brand-empty {
  border: 1px dashed #cbd5e1;
  background: #fff;
  color: #728096;
  font-weight: 800;
}
.admin-submenu-link.active {
  background: #e9edf2;
  color: #182c39;
  font-weight: 800;
}
@media (max-width: 1100px) {
  .topbar {
    flex-wrap: wrap;
    height: auto;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .main-product-search {
    order: 4;
    flex: 1 0 100%;
    max-width: none;
  }
  .main-nav {
    order: 3;
    flex: 1 0 100%;
    overflow-x: auto;
    padding-top: 4px;
  }
  .nav-link {
    padding: 12px 0;
  }
  .nav-link.active:after {
    bottom: 4px;
  }
  .mega-panel {
    left: 0;
    right: 0;
    transform: none;
    width: min(100%, 92vw);
  }
}
@media (max-width: 900px) {
  .main-nav {
    display: flex;
  }
  .header-quick-links {
    display: none;
  }
  .mega-panel,
  .mega-panel.open,
  .mega-menu:hover > .mega-panel {
    display: none !important;
  }
  .main-nav .mega-trigger {
    pointer-events: auto;
  }
  .client-showcase-heading {
    align-items: flex-start;
  }
  .client-carousel-track {
    gap: 14px;
  }
  .client-brand-card strong {
    max-width: 150px;
  }
}
@media (max-width: 560px) {
  .main-nav {
    gap: 16px;
  }
  .catalog-nav {
    padding-left: 18px;
    padding-right: 18px;
  }
  .catalog-nav button {
    font-size: 10px;
    padding: 8px 12px;
  }
  .client-showcase-heading {
    display: grid;
  }
  .client-carousel {
    margin-left: -2px;
    margin-right: -2px;
  }
  .client-brand-card strong {
    max-width: 132px;
  }
}
.main-nav .mega-menu > .mega-panel {
  left: auto;
  right: 0;
  transform: none;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 150px);
  overflow: auto;
}
.main-nav .mega-menu > .mega-panel.open {
  display: grid;
}
.client-logo-help {
  display: flex;
  gap: 12px;
  align-items: center;
  background: #eef5ff;
  border: 1px solid #d7e6fb;
  color: #42546a;
  padding: 13px 16px;
  margin: 14px 0;
  border-radius: 4px;
  font-size: 9px;
}
.client-logo-help strong {
  color: var(--blue);
  text-transform: uppercase;
}
.admin-client-logo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.admin-client-logo-grid article {
  background: #fff;
  border: 1px solid #e1e5ea;
  border-radius: 4px;
  padding: 14px;
  display: grid;
  gap: 10px;
}
.admin-client-logo-grid article > div {
  height: 90px;
  display: grid;
  place-items: center;
  background: #f5f7fa;
  border-radius: 3px;
}
.admin-client-logo-grid img {
  max-width: 100%;
  max-height: 76px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.admin-client-logo-grid strong {
  font-size: 10px;
  color: #24364d;
}
.admin-client-logo-grid button {
  border: 0;
  background: #fff0f1;
  color: #c63343;
  border-radius: 3px;
  padding: 8px;
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
}
.admin-client-logo-grid button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.logo-upload-field {
  border: 1px dashed #bfc9d7;
  border-radius: 6px;
  padding: 18px !important;
  background: #f8fafc;
}
.logo-upload-field > span {
  display: block;
  font-weight: 800;
  margin-bottom: 9px;
}
.logo-upload-field input {
  padding: 9px !important;
  background: #fff;
}
.logo-upload-field small {
  display: block;
  margin-top: 7px;
  color: #7f8998;
  font-size: 8px;
}
@media (max-width: 900px) {
  .admin-client-logo-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 560px) {
  .admin-client-logo-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .client-logo-help {
    display: grid;
  }
}
/* Administração compacta */
.admin-authenticated .dashboard-view.active {
  grid-template-columns: 196px 1fr;
  background: #f3f4f7;
}
.admin-authenticated .sidebar {
  background: #192b38;
  border: 0;
  padding: 14px 9px;
  color: #fff;
}
.admin-authenticated .side-title {
  color: #7f96a5;
  padding: 8px 7px 3px;
  margin: 5px 0;
  font-size: 7px;
}
.admin-authenticated .side-link {
  height: 36px;
  color: #c7d2da;
  border-radius: 3px;
  padding: 0 9px;
  font-size: 9px;
}
.admin-authenticated .side-link:hover {
  background: #243c4c;
  color: #fff;
}
.admin-authenticated .side-link.active {
  background: #e9edf2;
  color: #182c39;
  font-weight: 800;
}
.admin-authenticated .side-link b {
  background: #ed4c62;
  color: #fff;
}
.admin-authenticated .plan-card {
  background: #10212c;
  border: 1px solid #304856;
  border-radius: 5px;
}
.admin-authenticated .dash-content {
  padding: 25px 28px;
}
.admin-authenticated .dash-top {
  background: #fff;
  border: 1px solid #e2e5e9;
  padding: 14px 17px;
  margin: -25px -28px 17px;
}
.admin-authenticated .dash-top h1 {
  font-size: 18px;
  margin: 5px 0 2px;
}
.admin-authenticated .dash-top p {
  font-size: 9px;
}
.admin-authenticated .dash-actions .btn {
  height: 35px;
  border-radius: 4px;
  font-size: 9px;
}
.admin-authenticated .admin-metric-grid {
  gap: 9px;
  margin: 14px 0;
}
.admin-authenticated .metric,
.admin-authenticated .dash-card,
.admin-authenticated .client-card {
  border-radius: 3px;
  box-shadow: none;
}
.admin-authenticated .admin-metric {
  min-height: 105px;
  padding: 14px;
}
.admin-authenticated .admin-metric strong {
  font-size: 20px;
}
.admin-authenticated .management-panel {
  margin-top: 14px;
}
.admin-authenticated .management-head h2 {
  font-size: 18px;
}
.admin-authenticated .management-tools {
  border-radius: 3px 3px 0 0;
  padding: 10px;
}
.admin-authenticated .admin-table-wrap {
  border-radius: 0 0 3px 3px;
}
.admin-authenticated .admin-table th {
  padding: 9px 12px;
  background: #f3f4f6;
}
.admin-authenticated .admin-table td {
  padding: 9px 12px;
}
.admin-authenticated .order-summary button {
  border-radius: 3px;
}
.admin-authenticated .admin-search {
  height: 34px;
  border-radius: 3px;
}
@media (max-width: 900px) {
  .catalog-nav {
    justify-content: flex-start;
  }
  .utility-bar {
    display: none;
  }
  .topbar {
    top: 0;
    height: auto;
    min-height: 76px;
    padding-bottom: 13px;
  }
  .main-product-search {
    order: 3;
    width: 100%;
  }
  .main-nav {
    display: none;
  }
  .catalog-nav {
    top: 0;
    position: relative;
  }
  .mega-panel {
    display: none !important;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px;
  }
  .footer-commercial {
    grid-template-columns: 1fr 1fr;
  }
  .dashboard-view.active {
    display: block;
  }
  .sidebar {
    display: flex !important;
    position: sticky;
    top: 76px;
    z-index: 40;
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 12px 14px;
  }
  .sidebar .side-title,
  .sidebar .side-spacer,
  .sidebar .plan-card {
    display: none;
  }
  .side-link {
    flex: 0 0 auto;
    height: 38px;
    background: #fff;
    border: 1px solid #e6e8ec;
    white-space: nowrap;
  }
  .side-link.active {
    border-color: var(--blue);
  }
  .dash-content {
    padding: 26px 20px;
  }
  .dash-top {
    gap: 16px;
    flex-wrap: wrap;
  }
  .dash-actions {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .dash-actions .btn {
    flex: 0 0 auto;
  }
  .admin-table {
    min-width: 680px;
  }
}

/* Categorias profissionais e filtros compactos */
.category-grid {
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.category-tile {
  height: auto;
  min-height: 178px;
  border: 1px solid #e0e5ec;
  background: linear-gradient(145deg, #fff, #f8faff);
  border-radius: 18px;
  padding: 20px 16px;
  gap: 10px;
  position: relative;
  overflow: hidden;
}
.category-tile:before {
  content: '';
  position: absolute;
  right: -35px;
  bottom: -50px;
  width: 115px;
  height: 115px;
  border-radius: 50%;
  background: var(--tile-glow, #eaf1ff);
  opacity: 0.7;
}
.category-tile:hover {
  border-color: var(--tile-color, var(--blue));
  transform: translateY(-5px);
  box-shadow: 0 16px 32px rgba(17, 26, 49, 0.1);
}
.category-tile span {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: var(--tile-bg, #e9f1ff);
  color: var(--tile-color, var(--blue));
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
  font-size: 0;
}
.category-tile svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.category-tile strong {
  font: 800 13px Manrope;
  position: relative;
  z-index: 1;
}
.category-tile small {
  font-size: 8px;
  line-height: 1.35;
  color: #7a8595;
  text-align: center;
  max-width: 170px;
  position: relative;
  z-index: 1;
}
.category-impressos {
  --tile-color: #0c5de8;
  --tile-bg: #e6efff;
  --tile-glow: #dbe8ff;
}
.category-adesivos-rotulos {
  --tile-color: #dc5a7d;
  --tile-bg: #fdebf1;
  --tile-glow: #f9dce6;
}
.category-comunicacao-visual {
  --tile-color: #0b9b88;
  --tile-bg: #e0f7f2;
  --tile-glow: #cdf0e8;
}
.category-papelaria {
  --tile-color: #7b57c7;
  --tile-bg: #eee8fb;
  --tile-glow: #e3daf8;
}
.category-personalizados {
  --tile-color: #e08a22;
  --tile-bg: #fff0dd;
  --tile-glow: #fce3c4;
}
.compact-product-filters {
  margin: 0 0 25px;
  border: 1px solid #dfe5ed;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.compact-product-filters summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 17px;
  cursor: pointer;
  font: 800 10px Manrope;
  color: var(--navy);
}
.compact-product-filters summary::-webkit-details-marker {
  display: none;
}
.compact-product-filters summary > span {
  width: 27px;
  height: 27px;
  border-radius: 7px;
  background: #edf3ff;
  color: var(--blue);
  display: grid;
  place-items: center;
  font-size: 14px;
}
.compact-product-filters summary small {
  font: 500 8px 'DM Sans';
  color: #8a94a2;
  margin-left: auto;
}
.compact-product-filters[open] summary {
  border-bottom: 1px solid #e7ebf0;
}
.compact-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  padding: 14px;
}
.compact-filter-grid label {
  font-size: 8px;
  font-weight: 800;
  color: #626b78;
}
.compact-filter-grid select {
  display: block;
  width: 100%;
  height: 36px;
  margin-top: 5px;
  border: 1px solid #dfe3e8;
  border-radius: 7px;
  background: #fff;
  padding: 0 8px;
  font-size: 8px;
  color: #505965;
}
.compact-filter-check {
  height: 36px;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 13px;
  border: 1px solid #e1e5ea;
  border-radius: 7px;
  padding: 0 9px;
}
.compact-filter-check input {
  accent-color: var(--blue);
}
#clearFilters {
  height: 36px;
  align-self: end;
  border: 1px solid #dce1e7;
  border-radius: 7px;
  background: #f3f7fd;
  color: var(--blue);
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
}
@media (max-width: 1050px) {
  .category-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .compact-filter-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 560px) {
  .category-grid {
    grid-template-columns: 1fr 1fr;
  }
  .category-tile {
    height: auto;
    min-height: 150px;
    padding: 15px 10px;
  }
  .category-tile span {
    width: 54px;
    height: 54px;
  }
  .category-tile small {
    display: none;
  }
  .compact-filter-grid {
    grid-template-columns: 1fr 1fr;
  }
  .compact-product-filters summary small {
    display: none;
  }
}
@media (max-width: 760px) {
  .topbar {
    height: auto;
    min-height: 70px;
    gap: 12px;
    flex-wrap: wrap;
    padding: 14px 20px;
  }
  .header-actions {
    margin-left: auto;
  }
  .hero {
    padding: 42px 22px 60px;
    min-height: auto;
  }
  .hero h1 {
    font-size: clamp(42px, 14vw, 58px);
  }
  .product-grid {
    grid-template-columns: 1fr 1fr;
  }
  .category-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .modal {
    width: 94vw;
    max-height: 88vh;
  }
  .drawer {
    width: 100%;
  }
  .whatsapp-cta {
    align-items: flex-start;
  }
}
@media (max-width: 520px) {
  .mouse-brand > span:last-child {
    display: grid;
  }
  .header-actions {
    gap: 7px;
  }
  .icon-btn,
  .avatar,
  .whatsapp-mini {
    width: 38px;
    height: 38px;
  }
  .hero-actions,
  .checkout-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .product-grid {
    grid-template-columns: 1fr;
  }
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .payment-grid {
    grid-template-columns: 1fr;
  }
  .delivery-badges {
    grid-template-columns: 1fr;
  }
  .admin-modal-card {
    width: 94vw;
  }
  .admin-form-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .floating-whatsapp {
    bottom: 14px;
  }
  .customer-fields {
    grid-template-columns: 1fr;
  }
  .customer-fields .full-field {
    grid-column: 1;
  }
  .footer-grid,
  .footer-commercial {
    grid-template-columns: 1fr;
  }
  .footer-bottom {
    width: calc(100% + 14vw);
    margin-left: -7vw !important;
    margin-right: -7vw !important;
    padding-left: 7vw !important;
    padding-right: 7vw !important;
  }
  .footer-link-columns {
    grid-template-columns: 1fr;
  }
  .site-footer {
    padding-left: 7vw;
    padding-right: 7vw;
  }
}
@media (max-width: 560px) {
  .category-tile {
    height: auto;
    min-height: 150px;
  }
  .category-tile span {
    width: 54px;
    height: 54px;
  }
  .compact-filter-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Painel administrativo modular */
.admin-side-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 8px 16px;
  border-bottom: 1px solid #2d414f;
  margin-bottom: 8px;
}
.admin-side-brand > span {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: var(--blue);
  color: #fff;
  display: grid;
  place-items: center;
  font: 800 10px Manrope;
}
.admin-side-brand strong,
.admin-side-brand small {
  display: block;
}
.admin-side-brand strong {
  font: 800 11px Manrope;
  color: #fff;
}
.admin-side-brand small {
  font-size: 7px;
  color: #8196a4;
  margin-top: 2px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}
.admin-sidebar-nav {
  overflow-y: auto;
  min-height: 0;
  scrollbar-width: thin;
  flex: 1;
  padding-right: 2px;
}
.admin-nav-group {
  margin: 0 0 9px;
}
.admin-nav-group h3 {
  font-size: 6px;
  letter-spacing: 1.2px;
  color: #708795;
  margin: 11px 9px 4px;
}
.admin-sidebar-nav .side-link {
  width: 100%;
  height: 34px;
}
.admin-sidebar-nav .side-link strong {
  font: 600 8px Manrope;
  white-space: nowrap;
}
.admin-sidebar-nav .side-link > span {
  width: 20px;
  text-align: center;
  font-size: 11px;
}
.admin-user-card {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 8px;
  align-items: center;
  border-top: 1px solid #2d414f;
  padding: 12px 6px 2px;
}
.admin-user-card > span {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #314a5a;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 8px;
}
.admin-user-card strong,
.admin-user-card small {
  display: block;
}
.admin-user-card strong {
  font-size: 8px;
  color: #fff;
}
.admin-user-card small {
  font-size: 6px;
  color: #8297a4;
  margin-top: 2px;
}
.admin-user-card a {
  color: #a9bac4;
  text-decoration: none;
}
.admin-authenticated .dashboard-view.active {
  grid-template-columns: 226px 1fr;
}
.admin-authenticated .sidebar {
  height: 100vh;
  position: sticky;
  top: 0;
  padding: 12px 10px;
  overflow: hidden;
}
.admin-authenticated .dash-content {
  max-width: 1600px;
  width: 100%;
  margin: auto;
}
.module-shortcuts {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding: 2px 0 12px;
  scrollbar-width: thin;
}
.module-shortcuts button {
  flex: 0 0 auto;
  border: 1px solid #dfe4ea;
  background: #fff;
  border-radius: 5px;
  padding: 8px 11px;
  color: #5d6877;
  font-size: 8px;
  cursor: pointer;
}
.module-shortcuts button:hover {
  border-color: var(--blue);
  color: var(--blue);
}
.admin-module-hub {
  display: grid;
  gap: 14px;
}
.module-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  background: linear-gradient(135deg, #fff, #f5f8fc);
  border: 1px solid #e0e5eb;
  border-radius: 5px;
  padding: 24px;
}
.module-hero > div {
  display: grid;
  grid-template-columns: 48px 1fr;
  column-gap: 14px;
  align-items: center;
}
.module-icon {
  grid-row: 1/5;
  width: 46px;
  height: 46px;
  border-radius: 7px;
  background: #e9f0ff;
  color: var(--blue);
  display: grid;
  place-items: center;
  font: 800 15px Manrope;
}
.module-hero small {
  font-size: 8px;
  color: #7f8998;
}
.module-hero h2 {
  font: 800 22px Manrope;
  margin: 3px 0;
}
.module-hero p {
  font-size: 9px;
  color: #75808e;
  margin: 0;
  max-width: 680px;
}
.module-hero .btn {
  height: 38px;
  border-radius: 4px;
  font-size: 9px;
  flex: 0 0 auto;
}
.module-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}
.module-kpis article {
  background: #fff;
  border: 1px solid #e1e5ea;
  border-radius: 4px;
  padding: 15px;
}
.module-kpis span,
.module-kpis strong,
.module-kpis small {
  display: block;
}
.module-kpis span {
  font-size: 7px;
  color: #858e9b;
  text-transform: uppercase;
}
.module-kpis strong {
  font: 800 19px Manrope;
  margin: 7px 0 3px;
  color: #1c3046;
}
.module-kpis small {
  font-size: 7px;
  color: #42a278;
}
.module-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}
.module-feature-card {
  border: 1px solid #e1e5ea;
  background: #fff;
  border-radius: 4px;
  padding: 15px;
  text-align: left;
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 10px;
  align-items: center;
  cursor: pointer;
  transition: 0.2s;
}
.module-feature-card:hover {
  border-color: #9dbcf0;
  box-shadow: 0 8px 20px rgba(30, 65, 110, 0.06);
  transform: translateY(-2px);
}
.module-feature-card > span {
  width: 29px;
  height: 29px;
  border-radius: 5px;
  background: #f0f4fa;
  color: #6e7e92;
  display: grid;
  place-items: center;
  font: 800 8px Manrope;
}
.module-feature-card strong,
.module-feature-card small {
  display: block;
}
.module-feature-card strong {
  font: 700 9px Manrope;
  color: #273a50;
}
.module-feature-card small {
  font-size: 7px;
  color: #939ba6;
  margin-top: 3px;
}
.module-feature-card em {
  font-style: normal;
  font-size: 6px;
  text-transform: uppercase;
  background: #f0f2f5;
  color: #7b8490;
  padding: 4px 6px;
  border-radius: 9px;
}
.module-feature-card em.live {
  background: #e1f6eb;
  color: #178157;
}
@media (max-width: 1100px) {
  .module-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 900px) {
  .admin-authenticated .dashboard-view.active {
    display: block;
  }
  .admin-authenticated .sidebar {
    height: auto;
    position: sticky;
    top: 0;
    display: block !important;
    padding: 8px;
  }
  .admin-side-brand,
  .admin-user-card {
    display: none;
  }
  .admin-sidebar-nav {
    display: flex;
    overflow-x: auto;
  }
  .admin-nav-group {
    display: flex;
    margin: 0;
  }
  .admin-nav-group h3 {
    display: none;
  }
  .admin-sidebar-nav .side-link {
    width: auto;
    min-width: max-content;
  }
  .module-kpis {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .module-feature-grid,
  .module-kpis {
    grid-template-columns: 1fr;
  }
  .module-hero {
    align-items: flex-start;
  }
  .module-hero .btn {
    display: none;
  }
  .module-feature-card {
    grid-template-columns: 30px 1fr;
  }
  .module-feature-card em {
    display: none;
  }
}

/* Estrutura oficial de categorias da loja */
.mega-panel {
  grid-template-columns: repeat(3, 1fr);
  max-height: calc(100vh - 175px);
  overflow-y: auto;
}
.category-impressos-graficos {
  --tile-color: #0c5de8;
  --tile-bg: #e6efff;
  --tile-glow: #dbe8ff;
}
.category-cartoes-identificacao {
  --tile-color: #7b57c7;
  --tile-bg: #eee8fb;
  --tile-glow: #e3daf8;
}
.category-rotulos-etiquetas {
  --tile-color: #dc5a7d;
  --tile-bg: #fdebf1;
  --tile-glow: #f9dce6;
}
.category-eventos-festas {
  --tile-color: #e08a22;
  --tile-bg: #fff0dd;
  --tile-glow: #fce3c4;
}
.category-tecidos-grandes-formatos {
  --tile-color: #1382a8;
  --tile-bg: #e1f5fb;
  --tile-glow: #cdeef7;
}
.table-subcategory {
  display: block;
  margin-top: 4px;
  color: #7d8794;
  font-size: 8px;
}

/* Painel administrativo inspirado nas referências operacionais */
.admin-authenticated {
  --admin-accent: #5665d8;
  --admin-teal: #13a995;
  --admin-bg: #f4f5f8;
}
.admin-authenticated .dash-content {
  background: var(--admin-bg);
}
.admin-breadcrumb {
  font-size: 7px;
  letter-spacing: 1px;
  color: #8b94a1;
  font-weight: 800;
}
.head-actions {
  display: flex;
  gap: 7px;
}
.head-actions .btn {
  height: 34px;
  border-radius: 3px;
  font-size: 8px;
}
.reference-admin-page .management-head,
.settings-reference .management-head {
  align-items: center;
  margin-bottom: 13px;
}
.reference-filter-panel {
  background: #fff;
  border: 1px solid #dfe3e8;
  padding: 12px;
  margin-bottom: 10px;
}
.reference-filter-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 9px;
}
.reference-filter-grid label,
.settings-fields label,
.product-options-block label {
  font-size: 7px;
  font-weight: 800;
  color: #66717f;
  text-transform: uppercase;
  letter-spacing: 0.25px;
}
.reference-filter-grid input,
.reference-filter-grid select,
.settings-fields input,
.settings-fields select,
.product-options-block input {
  display: block;
  width: 100%;
  height: 32px;
  margin-top: 5px;
  border: 1px solid #d6dce3;
  border-radius: 2px;
  background: #fff;
  padding: 0 8px;
  color: #525d69;
  font: 8px 'DM Sans';
}
.reference-search-button {
  height: 30px;
  margin-top: 9px;
  border: 0;
  border-radius: 2px;
  background: var(--admin-accent);
  color: #fff;
  padding: 0 13px;
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
}
.table-control-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border: 1px solid #e0e4e9;
  border-bottom: 0;
  padding: 8px 10px;
  color: #7d8792;
  font-size: 8px;
}
.table-control-row > label {
  display: flex;
  align-items: center;
  gap: 5px;
}
.table-control-row select {
  height: 28px;
  border: 1px solid #d9dee4;
  background: #fff;
}
.compact-search {
  height: 29px;
  width: 220px;
}
.reference-table {
  border-radius: 0 !important;
}
.reference-table .admin-table {
  min-width: 980px;
}
.reference-table .admin-table th {
  height: 34px;
  background: #fafbfc;
  border-bottom: 1px solid #dfe3e8;
  color: #596574;
}
.reference-table .admin-table td {
  height: 48px;
}
.client-name {
  color: #315ea8 !important;
}
.client-document {
  display: block;
  margin-top: 3px;
  color: #8e97a2;
  font-size: 7px;
}
.details-button {
  border: 1px solid #d9dee4;
  background: #fff;
  color: #596574;
  border-radius: 2px;
  padding: 5px 8px;
  font-size: 7px;
  cursor: pointer;
}
.details-button:hover {
  border-color: var(--admin-accent);
  color: var(--admin-accent);
}
.table-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 11px;
  background: #fff;
  border: 1px solid #e0e4e9;
  border-top: 0;
  font-size: 7px;
  color: #858e99;
}
.table-footer div {
  display: flex;
  gap: 4px;
  align-items: center;
}
.table-footer button,
.table-footer b {
  border: 1px solid #dce1e6;
  background: #fff;
  padding: 5px 8px;
  font-size: 7px;
}
.table-footer b {
  background: var(--admin-accent);
  color: #fff;
}
.settings-tabs {
  display: flex;
  gap: 5px;
  margin-bottom: 10px;
}
.settings-tabs button {
  height: 31px;
  border: 1px solid #dce1e6;
  background: #fff;
  color: #596574;
  padding: 0 11px;
  border-radius: 2px;
  font-size: 7px;
  font-weight: 800;
}
.settings-tabs .active {
  background: var(--admin-accent);
  border-color: var(--admin-accent);
  color: #fff;
}
.settings-tabs .danger-tab {
  background: #e83e58;
  color: #fff;
  border-color: #e83e58;
}
.settings-toggle-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.setting-toggle-card {
  min-height: 48px;
  background: #fff;
  border: 1px solid #dfe3e8;
  padding: 9px 11px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  cursor: pointer;
}
.setting-toggle-card strong,
.setting-toggle-card small {
  display: block;
}
.setting-toggle-card strong {
  font-size: 8px;
  color: #46515e;
}
.setting-toggle-card small {
  font-size: 6px;
  color: #9aa2ac;
  margin-top: 3px;
}
.setting-toggle-card input {
  position: absolute;
  opacity: 0;
}
.setting-toggle-card i {
  width: 34px;
  height: 16px;
  border-radius: 10px;
  background: #41464b;
  position: relative;
  transition: 0.2s;
}
.setting-toggle-card i:after {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: #fff;
  transition: 0.2s;
}
.setting-toggle-card input:checked + i {
  background: #22b88a;
}
.setting-toggle-card input:checked + i:after {
  transform: translateX(18px);
}
.settings-form-block {
  background: #fff;
  border: 1px solid #dfe3e8;
  margin-top: 9px;
}
.settings-form-block h3 {
  margin: 0;
  padding: 9px 11px;
  background: #f4f5f7;
  border-bottom: 1px solid #dfe3e8;
  font: 800 9px Manrope;
}
.settings-fields {
  padding: 11px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.settings-fields.three {
  grid-template-columns: repeat(3, 1fr);
}
.settings-fields .wide {
  grid-column: span 2;
}
.input-prefix {
  display: flex;
  margin-top: 5px;
}
.input-prefix span {
  height: 32px;
  padding: 0 8px;
  display: grid;
  place-items: center;
  border: 1px solid #d6dce3;
  border-right: 0;
  background: #f1f3f5;
}
.input-prefix input {
  margin: 0;
}
.inline-checks {
  height: 32px;
  margin-top: 5px;
  border: 1px solid #d6dce3;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 8px;
  font-size: 7px;
  text-transform: none;
}
.product-filter-panel .reference-filter-grid {
  grid-template-columns: repeat(4, 1fr);
}
.admin-authenticated .admin-modal-card {
  width: min(980px, 94vw);
  border-radius: 3px;
}
.product-editor-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 11px;
}
.product-editor-grid .full-field {
  grid-column: 1/-1;
}
.product-editor-intro {
  display: grid;
  grid-template-columns: 1fr 330px;
  gap: 20px;
  align-items: center;
  background: #f5f7fa;
  border: 1px solid #dfe4e9;
  padding: 13px;
}
.product-editor-intro > div:first-child span,
.product-editor-intro > div:first-child strong,
.product-editor-intro > div:first-child small {
  display: block;
}
.product-editor-intro > div:first-child span {
  font-size: 7px;
  color: var(--admin-accent);
  font-weight: 800;
}
.product-editor-intro > div:first-child strong {
  font: 800 15px Manrope;
  margin: 4px 0;
}
.product-editor-intro > div:first-child small {
  font-size: 8px;
  color: #7c8793;
}
.product-editor-preview {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 11px;
  align-items: center;
  background: #fff;
  border: 1px solid #dfe4e9;
  padding: 8px;
}
.product-editor-preview img {
  width: 76px;
  height: 62px;
  object-fit: contain;
  background: #f5f5f5;
}
.product-editor-preview span small,
.product-editor-preview span strong,
.product-editor-preview span b {
  display: block;
}
.product-editor-preview span small {
  font-size: 6px;
  color: #929aa4;
}
.product-editor-preview span strong {
  font-size: 8px;
  margin: 3px 0;
}
.product-editor-preview span b {
  font: 800 14px Manrope;
  color: #135b94;
}
.product-options-block {
  border: 1px solid #dfe4e9;
  padding: 12px;
}
.product-options-block h3 {
  font: 800 9px Manrope;
  margin: 0 0 9px;
}
.product-options-block h3:not(:first-child) {
  margin-top: 13px;
}
.product-options-block > div:not(.option-chip-editor) {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.option-chip-editor {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.option-chip-editor label {
  border: 1px solid #cdd4dc;
  border-radius: 3px;
  padding: 7px 9px;
  text-transform: none;
}
.option-chip-editor input {
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0 5px 0 0;
}
@media (max-width: 1100px) {
  .reference-filter-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .product-editor-grid {
    grid-template-columns: 1fr 1fr;
  }
  .product-editor-intro {
    grid-template-columns: 1fr;
  }
  .product-options-block > div:not(.option-chip-editor) {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 700px) {
  .reference-filter-grid,
  .settings-toggle-grid,
  .settings-fields,
  .settings-fields.three,
  .product-filter-panel .reference-filter-grid {
    grid-template-columns: 1fr;
  }
  .settings-fields .wide {
    grid-column: auto;
  }
  .settings-tabs {
    overflow-x: auto;
  }
  .product-editor-grid {
    grid-template-columns: 1fr;
  }
  .table-control-row {
    align-items: stretch;
    gap: 8px;
    flex-direction: column;
  }
  .compact-search {
    width: 100%;
  }
}

/* GIV-inspired public storefront */
.giv-storefront {
  background: #f3f5f8;
  color: #182033;
}
.giv-storefront .app-shell {
  background: #f3f5f8;
}
.giv-storefront .hero,
.giv-storefront .hero + .trust-strip {
  display: none;
}
.giv-offer-bar {
  height: 36px;
  background: #111827;
  color: #fff;
  padding: 0 28px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
}
.giv-offer-bar button {
  color: #fff;
  font-weight: 800;
}
.giv-offer-bar span {
  color: #ffe064;
}
.giv-offer-bar strong {
  color: #fff;
  background: #e3342f;
  border-radius: 4px;
  padding: 4px 8px;
  margin-left: 4px;
}
.giv-storefront .topbar {
  display: grid;
  grid-template-columns: 210px minmax(190px, auto) minmax(280px, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  min-height: 76px;
  padding: 14px 28px;
  background: #fff;
  border-bottom: 1px solid #dde3ec;
  box-shadow: 0 6px 22px rgba(26, 39, 66, 0.06);
  position: sticky;
  top: 36px;
  z-index: 20;
}
.giv-storefront .brand {
  gap: 10px;
}
.giv-storefront .brand-mark {
  border-radius: 8px;
  background: #f23232;
  color: #fff;
  box-shadow: none;
}
.giv-storefront .brand span:last-child {
  font: 800 20px Manrope;
  color: #172033;
}
.giv-storefront .brand small {
  color: #e3342f;
  font-size: 10px;
  letter-spacing: 0.08em;
}
.header-quick-links {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.header-quick-links button,
.header-quick-links a {
  border: 0;
  background: transparent;
  color: #445066;
  font: 800 12px DM Sans;
  text-decoration: none;
  padding: 6px;
}
.header-quick-links [data-whatsapp] {
  color: #078a55;
}
.giv-storefront .main-product-search {
  height: 48px;
  border: 2px solid #e3342f;
  border-radius: 8px;
  background: #fff;
  justify-content: flex-start;
  padding: 0 16px;
  color: #6b7280;
  box-shadow: none;
}
.giv-storefront .main-product-search span {
  color: #e3342f;
}
.giv-storefront .main-product-search strong {
  font: 700 14px DM Sans;
  color: #525d70;
}
.giv-storefront .main-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.giv-storefront .nav-link {
  border: 0;
  background: #fff;
  color: #172033;
  font-weight: 800;
  border-radius: 6px;
  padding: 10px;
}
.giv-storefront .nav-link.active,
.giv-storefront .nav-link:hover {
  background: #eff4ff;
  color: #0c5de8;
}
.giv-storefront .header-actions {
  display: flex;
  gap: 8px;
}
.giv-storefront .icon-btn,
.giv-storefront .whatsapp-mini {
  border: 1px solid #dbe2ec;
  background: #fff;
  color: #172033;
  border-radius: 8px;
  width: 42px;
  height: 42px;
}
.giv-storefront .cart-count {
  background: #e3342f;
  color: #fff;
}
.giv-storefront .catalog-nav {
  position: sticky;
  top: 112px;
  z-index: 18;
  display: flex;
  gap: 0;
  overflow: auto;
  background: #fff;
  border-bottom: 1px solid #dde3ec;
  border-top: 0;
  padding: 0 28px;
  box-shadow: 0 4px 14px rgba(26, 39, 66, 0.04);
}
.giv-storefront .catalog-nav button {
  min-height: 48px;
  border: 0;
  border-right: 1px solid #edf1f6;
  background: #fff;
  color: #1f2937;
  border-radius: 0;
  padding: 0 18px;
  font: 800 13px DM Sans;
  white-space: nowrap;
}
.giv-storefront .catalog-nav button:hover,
.giv-storefront .catalog-all {
  color: #e3342f;
  background: #fff8f6;
}
.giv-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 18px;
  max-width: 1360px;
  margin: 22px auto 0;
  padding: 0 24px;
}
.giv-hero-carousel {
  display: grid;
  min-height: 350px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #dfe5ee;
  box-shadow: 0 14px 34px rgba(26, 39, 66, 0.08);
}
.giv-banner {
  display: none;
  grid-template-columns: minmax(0, 1fr) 42%;
  align-items: center;
  gap: 20px;
  padding: 32px;
}
.giv-banner.active,
.giv-banner:first-child {
  display: grid;
}
.giv-banner h1,
.giv-banner h2 {
  max-width: 720px;
  margin: 10px 0;
  font: 800 clamp(34px, 5.4vw, 64px) / 0.96 Manrope;
  color: #172033;
  letter-spacing: 0;
}
.giv-banner p {
  max-width: 620px;
  color: #596579;
  font-size: 17px;
  line-height: 1.55;
}
.giv-banner img {
  width: 100%;
  height: 290px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e3e8f0;
  background: #eef2f7;
}
.giv-badge {
  display: inline-flex;
  width: max-content;
  background: #fff0ed;
  color: #e3342f;
  border: 1px solid #ffd2ca;
  border-radius: 999px;
  padding: 7px 11px;
  font: 900 12px DM Sans;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.giv-hero-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}
.giv-hero-actions .btn {
  border-radius: 8px;
}
.giv-hero-actions .ghost {
  background: #fff;
  border: 1px solid #d8e0eb;
  color: #172033;
}
.giv-side-deals {
  display: grid;
  gap: 12px;
}
.giv-side-deals button {
  border: 1px solid #dfe5ee;
  border-radius: 8px;
  background: #fff;
  min-height: 108px;
  padding: 18px;
  text-align: left;
  box-shadow: 0 10px 24px rgba(26, 39, 66, 0.06);
}
.giv-side-deals strong,
.giv-side-deals span {
  display: block;
}
.giv-side-deals strong {
  font: 800 18px Manrope;
  color: #172033;
}
.giv-side-deals span {
  margin-top: 8px;
  color: #e3342f;
  font-weight: 800;
}
.giv-benefits {
  max-width: 1360px;
  margin: 16px auto 0;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.giv-benefits div {
  background: #fff;
  border: 1px solid #dfe5ee;
  border-radius: 8px;
  padding: 14px 16px;
}
.giv-benefits strong,
.giv-benefits small {
  display: block;
}
.giv-benefits small {
  color: #647084;
  margin-top: 4px;
}
.giv-storefront .section-wrap {
  max-width: 1360px;
  margin: 24px auto;
  padding-left: 24px;
  padding-right: 24px;
}
.giv-storefront .home-categories {
  margin-top: 18px;
}
.giv-storefront .section-heading h2 {
  font-size: 42px;
  line-height: 1.02;
}
.giv-storefront .mini-heading h2 {
  font-size: 28px;
}
.giv-storefront .category-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.giv-storefront .category-tile {
  height: 126px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #dfe5ee;
  box-shadow: none;
  color: #172033;
}
.giv-storefront .category-tile svg {
  stroke: #0c5de8;
}
.giv-storefront .category-tile strong {
  font-size: 14px;
}
.giv-storefront .category-tile small {
  font-size: 11px;
  color: #647084;
}
.giv-storefront .category-tabs {
  background: #fff;
  border: 1px solid #dfe5ee;
  border-radius: 8px;
  padding: 8px;
  box-shadow: none;
}
.giv-storefront .category-tabs button {
  border-radius: 6px;
}
.giv-storefront .category-tabs button.active {
  background: #0c5de8;
  color: #fff;
}
.giv-storefront .compact-product-filters {
  background: #fff;
  border-radius: 8px;
  border: 1px solid #dfe5ee;
}
.giv-storefront .product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.giv-product-card {
  display: grid;
  grid-template-rows: auto 1fr;
  background: #fff;
  border: 1px solid #dfe5ee;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(26, 39, 66, 0.06);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.giv-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(26, 39, 66, 0.11);
}
.giv-product-media {
  position: relative;
  background: #f0f3f8;
  aspect-ratio: 1.18;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.giv-product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.giv-product-media > span:not(.giv-product-badge) {
  font: 900 20px Manrope;
  color: #172033;
  text-align: center;
  padding: 18px;
}
.giv-product-badge {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
  background: #e3342f;
  color: #fff;
  border-radius: 4px;
  padding: 6px 8px;
  font: 900 11px DM Sans;
  text-transform: uppercase;
}
.giv-product-info {
  display: grid;
  gap: 8px;
  padding: 14px;
}
.giv-product-info small {
  font: 900 11px DM Sans;
  color: #0c5de8;
  text-transform: none;
}
.giv-product-info h3 {
  min-height: 42px;
  margin: 0;
  font: 800 16px/1.25 Manrope;
  color: #172033;
}
.giv-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #f0a500;
  font-size: 12px;
}
.giv-rating strong {
  color: #078a55;
}
.giv-rating span {
  color: #687386;
}
.giv-product-info p {
  min-height: 38px;
  margin: 0;
  color: #5c6678;
  font-size: 12px;
  line-height: 1.35;
}
.giv-product-price {
  align-items: end;
  border-top: 1px solid #edf1f6;
  padding-top: 10px;
}
.giv-product-price span {
  display: grid;
  gap: 2px;
  color: #6a7486;
  font-size: 11px;
}
.giv-product-price strong {
  display: block;
  color: #172033;
  font-size: 21px;
}
.giv-product-price em {
  font-style: normal;
  color: #6a7486;
  font-size: 11px;
}
.giv-product-price button {
  border: 0;
  background: #0c5de8;
  color: #fff;
  border-radius: 8px;
  padding: 10px 12px;
  font: 900 12px DM Sans;
}
.giv-storefront .promo-band {
  border-radius: 8px;
  background: #172033;
}
.giv-storefront .client-showcase {
  max-width: 1360px;
  border-radius: 0;
}
.giv-storefront .site-footer {
  margin-top: 30px;
}
@media (max-width: 1180px) {
  .giv-storefront .topbar {
    grid-template-columns: 190px 1fr auto;
  }
  .header-quick-links {
    display: none;
  }
  .giv-storefront .main-nav {
    grid-column: 1/-1;
    overflow: auto;
  }
  .giv-home-hero {
    grid-template-columns: 1fr;
  }
  .giv-side-deals {
    grid-template-columns: repeat(3, 1fr);
  }
  .giv-storefront .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .giv-storefront .category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .giv-offer-bar {
    padding: 0 12px;
  }
  .giv-offer-bar span {
    display: none;
  }
  .giv-storefront .topbar {
    top: 36px;
    grid-template-columns: 1fr auto;
    padding: 12px;
  }
  .giv-storefront .main-product-search {
    grid-column: 1/-1;
  }
  .giv-storefront .catalog-nav {
    top: 140px;
    padding: 0 12px;
  }
  .giv-home-hero {
    padding: 0 12px;
  }
  .giv-banner {
    grid-template-columns: 1fr;
    padding: 20px;
  }
  .giv-banner img {
    height: 190px;
  }
  .giv-side-deals {
    grid-template-columns: 1fr;
  }
  .giv-benefits {
    grid-template-columns: 1fr 1fr;
    padding: 0 12px;
  }
  .giv-storefront .section-wrap {
    padding-left: 12px;
    padding-right: 12px;
  }
  .giv-storefront .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .giv-storefront .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .giv-storefront .product-grid {
    grid-template-columns: 1fr;
  }
  .giv-benefits {
    grid-template-columns: 1fr;
  }
  .giv-banner h1,
  .giv-banner h2 {
    font-size: 34px;
  }
  .giv-storefront .section-heading h2 {
    font-size: 32px;
  }
}
.details-button.danger,
.row-menu.danger {
  background: #fff0f1 !important;
  color: #c72d3d !important;
  border-color: #ffd2d8 !important;
  margin-left: 6px;
}

/* Integrated storefront controls */
.managed-menu {
  position: relative;
}
.managed-menu > a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.managed-menu:hover .managed-menu-panel {
  display: grid;
}
.managed-menu-panel {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 230px;
  background: #fff;
  border: 1px solid #dfe5ee;
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(26, 39, 66, 0.14);
  padding: 8px;
  z-index: 80;
}
.managed-sub-link {
  border: 0;
  background: #fff;
  color: #172033;
  text-decoration: none;
  text-align: left;
  border-radius: 6px;
  padding: 10px 12px;
  font: 800 12px DM Sans;
  cursor: pointer;
}
.managed-sub-link:hover {
  background: #eff4ff;
  color: #0c5de8;
}
.best-seller-carousel {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  gap: 10px;
  align-items: center;
}
.best-seller-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 1fr);
  grid-template-columns: none;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  padding: 4px 2px 18px;
}
.best-seller-track .product {
  scroll-snap-align: start;
  height: 100%;
}
.best-seller-nav {
  width: 42px;
  height: 42px;
  border: 1px solid #dfe5ee;
  border-radius: 8px;
  background: #fff;
  color: #0c5de8;
  font: 900 18px Manrope;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(26, 39, 66, 0.08);
}
.best-seller-nav:hover {
  background: #eff4ff;
}
.empty-carousel {
  grid-column: 1/-1;
  background: #fff;
  border: 1px dashed #cfd8e5;
  border-radius: 8px;
  padding: 28px;
  text-align: center;
  color: #647084;
}
.managed-weekly-offer {
  display: grid;
  align-content: center;
}
.weekly-offer-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 18px 0;
}
.weekly-offer-meta span,
.weekly-offer-meta b {
  display: inline-grid;
  gap: 2px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  padding: 10px 12px;
}
.weekly-offer-meta small {
  text-transform: uppercase;
  font-size: 9px;
  color: #bcd0ff;
  font-weight: 900;
}
.weekly-offer-meta strong {
  font: 900 24px Manrope;
  color: #c9f54b;
}
.weekly-offer-meta s {
  color: #d7e3ff;
}
.managed-weekly-art {
  display: grid;
  place-items: center;
}
.managed-weekly-art span {
  position: absolute;
  left: 14%;
  top: 18px;
  z-index: 2;
  background: #c9f54b;
  color: #172033;
  border-radius: 999px;
  padding: 8px 12px;
  font: 900 12px DM Sans;
  text-transform: uppercase;
}
.managed-weekly-art img {
  width: min(360px, 100%);
  height: 270px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 22px 44px rgba(5, 22, 54, 0.24);
  transform: rotate(2deg);
}
.client-brand-card {
  color: inherit;
  text-decoration: none;
}
.client-brand-card strong {
  display: block;
  margin-top: 8px;
  color: #4e5a6e;
  font-size: 10px;
  text-align: center;
  line-height: 1.2;
}
.client-brand-empty {
  display: grid;
  place-items: center;
  color: #6b7482;
  font-weight: 800;
}
@media (max-width: 760px) {
  .best-seller-carousel {
    grid-template-columns: 1fr;
  }
  .best-seller-nav {
    display: none;
  }
  .best-seller-track {
    grid-auto-columns: minmax(210px, 78vw);
  }
  .giv-storefront .promo-band {
    grid-template-columns: 1fr;
    margin-left: 12px;
    margin-right: 12px;
    padding: 28px;
  }
  .managed-weekly-art img {
    height: 210px;
  }
  .managed-weekly-art span {
    left: 22px;
  }
  .managed-menu-panel {
    position: static;
    box-shadow: none;
    margin-top: 6px;
  }
}

/* Header cleanup */
.giv-storefront .giv-offer-bar {
  display: none !important;
}
.giv-storefront .topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: minmax(220px, 260px) minmax(320px, 680px) auto auto;
  align-items: center;
  gap: 18px;
  min-height: 82px;
  padding: 14px 32px;
  background: #fff;
  border-bottom: 1px solid #dde3ec;
  box-shadow: 0 8px 24px rgba(26, 39, 66, 0.07);
}
.giv-storefront .header-quick-links {
  display: none !important;
}
.giv-storefront .brand {
  min-width: 0;
}
.personalize-full-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 12px 0;
  border: 1px solid #cdd8e8;
  border-radius: 8px;
  color: #0c5de8;
  background: #f7faff;
  font-weight: 800;
  text-decoration: none;
}
.personalize-full-link:hover {
  background: #edf4ff;
  border-color: #0c5de8;
}
.header-account-links {
  display: flex !important;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.header-account-links a {
  color: inherit;
  text-decoration: none;
}
.header-account-links a:hover {
  color: #0c5de8;
  text-decoration: underline;
}
.header-account-links > span {
  font-weight: 500;
  color: #7b8491;
}
.giv-storefront .brand span:last-child {
  display: grid;
  line-height: 1.05;
}
.giv-storefront .brand small {
  display: block;
}
.giv-storefront .main-product-search {
  width: 100%;
  max-width: 680px;
  justify-self: center;
  height: 48px;
  border: 1px solid #d9e0ea;
  border-radius: 8px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 0 16px;
  color: #6b7280;
  box-shadow: none;
}
.giv-storefront .main-product-search:hover,
.giv-storefront .main-product-search:focus-visible {
  border-color: #e3342f;
  box-shadow: 0 0 0 3px rgba(227, 52, 47, 0.08);
  outline: 0;
}
.giv-storefront .main-product-search span {
  color: #e3342f;
  font-size: 18px;
}
.giv-storefront .main-product-search strong {
  font: 700 14px DM Sans;
  color: #525d70;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.giv-storefront .main-nav {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.giv-storefront .main-nav > .nav-link,
.giv-storefront .mega-menu > .nav-link,
.giv-storefront .managed-menu > .nav-link {
  height: 42px;
  display: inline-flex;
  align-items: center;
  border: 0;
  background: #fff;
  color: #172033;
  font-weight: 800;
  border-radius: 6px;
  padding: 0 12px;
}
.giv-storefront .main-nav > .nav-link.active,
.giv-storefront .main-nav > .nav-link:hover,
.giv-storefront .mega-menu > .nav-link:hover,
.giv-storefront .managed-menu > .nav-link:hover {
  background: #eff4ff;
  color: #0c5de8;
}
.giv-storefront .nav-link.active:after {
  display: none;
}
.giv-storefront .header-actions {
  justify-self: end;
  display: flex;
  gap: 8px;
}
.giv-storefront .header-actions > .search-toggle {
  display: none !important;
}
.giv-storefront .icon-btn,
.giv-storefront .whatsapp-mini {
  display: grid;
  place-items: center;
  border: 1px solid #dbe2ec;
  background: #fff;
  color: #172033;
  border-radius: 8px;
  width: 42px;
  height: 42px;
}
.giv-storefront .whatsapp-mini {
  width: auto;
  grid-auto-flow: column;
  gap: 7px;
  padding: 0 13px;
  background: #e8f8ef;
  color: #11834c;
  border-color: #bfe8cf;
  font-weight: 800;
}
.giv-storefront .whatsapp-mini img {
  width: 19px;
  height: 19px;
}
.giv-storefront .whatsapp-mini span {
  font-size: 12px;
}
.giv-storefront .catalog-nav {
  position: sticky;
  top: 82px;
  z-index: 55;
  display: flex;
  justify-content: center;
  gap: 0;
  overflow-x: auto;
  background: #fff;
  border-bottom: 1px solid #dde3ec;
  border-top: 0;
  padding: 0 24px;
  box-shadow: 0 4px 14px rgba(26, 39, 66, 0.04);
  scrollbar-width: none;
}
.giv-storefront .catalog-nav::-webkit-scrollbar {
  display: none;
}
.giv-storefront .catalog-nav button {
  flex: 0 0 auto;
  min-height: 46px;
  border: 0;
  border-right: 1px solid #edf1f6;
  background: #fff;
  color: #1f2937;
  border-radius: 0;
  padding: 0 18px;
  font: 800 12px DM Sans;
  white-space: nowrap;
}
.giv-storefront .catalog-nav button:last-child {
  border-right: 0;
}
.giv-storefront .catalog-nav button:hover,
.giv-storefront .catalog-all {
  color: #e3342f;
  background: #fff8f6;
}
.giv-storefront .managed-menu-panel {
  top: 100%;
  left: auto;
  right: 0;
  min-width: 240px;
}
@media (max-width: 1180px) {
  .giv-storefront .topbar {
    grid-template-columns: minmax(180px, 230px) minmax(240px, 1fr) auto;
    gap: 12px;
    padding: 12px 18px;
  }
  .giv-storefront .main-nav {
    grid-column: 1/-1;
    justify-self: center;
    max-width: 100%;
    overflow-x: auto;
    padding-top: 4px;
  }
  .giv-storefront .header-actions {
    grid-column: 3;
    grid-row: 1;
  }
  .giv-storefront .catalog-nav {
    top: 128px;
    justify-content: flex-start;
  }
}
@media (max-width: 760px) {
  .giv-storefront .topbar {
    grid-template-columns: 1fr auto;
    top: 0;
    padding: 12px;
  }
  .giv-storefront .main-product-search {
    grid-column: 1/-1;
    max-width: none;
  }
  .giv-storefront .main-nav {
    display: none;
  }
  .giv-storefront .catalog-nav {
    top: 128px;
    padding: 0 12px;
    justify-content: flex-start;
  }
  .giv-storefront .brand span:last-child {
    font-size: 17px;
  }
}

/* Public site 12px font pass */
body:not(.admin-authenticated)
  :where(
    a,
    button,
    input,
    select,
    textarea,
    label,
    th,
    td,
    p,
    span,
    small,
    strong,
    b,
    em,
    li,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6
  ) {
  font-size: 12px !important;
  letter-spacing: 0 !important;
}

/* Clientes atendidos: keep logos centered and prevent side clipping */
.client-showcase {
  overflow: hidden;
}

.client-carousel {
  width: min(100%, 1280px);
  overflow-x: auto;
  overflow-y: visible;
  padding: 4px 44px 12px;
}

.client-carousel-track {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 200px;
  justify-content: start;
  align-items: center;
  gap: 34px;
}

.client-carousel-track.is-centered {
  display: grid;
  grid-auto-flow: unset;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  justify-content: center;
  justify-items: center;
  gap: 28px;
}

.client-brand-card {
  width: 100%;
  min-width: 0;
  max-width: 210px;
  overflow: visible;
}

.client-brand-card img {
  max-width: 100%;
}

@media (max-width: 760px) {
  .client-carousel {
    padding-left: 18px;
    padding-right: 18px;
  }

  .client-carousel-track,
  .client-carousel-track.is-centered {
    grid-auto-columns: 160px;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: 18px;
  }
}

/* WhatsApp icon button */
.whatsapp-mini {
  display: grid !important;
  place-items: center !important;
  background: #25d366 !important;
  border-color: #25d366 !important;
  color: #fff !important;
}

.whatsapp-mini img {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  object-fit: contain !important;
}

/* Store hero carousel with arrows */
.giv-home-hero {
  display: block !important;
  max-width: 1360px !important;
  margin: 22px auto 0 !important;
  padding: 0 24px !important;
}

.giv-hero-carousel {
  position: relative !important;
  display: block !important;
  min-height: 360px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #fff !important;
  border: 1px solid #dfe5ee !important;
  box-shadow: 0 14px 34px rgba(26, 39, 66, 0.08) !important;
}

.giv-hero-carousel .giv-banner,
.giv-hero-carousel .giv-banner:first-child {
  display: none !important;
}

.giv-hero-carousel .giv-banner.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 42%) !important;
  align-items: center !important;
  gap: 34px !important;
  min-height: 360px !important;
  padding: 34px 76px !important;
}

.giv-hero-carousel .giv-banner h1,
.giv-hero-carousel .giv-banner h2 {
  max-width: 620px !important;
  line-height: 0.98 !important;
}

.giv-hero-carousel .giv-banner p {
  max-width: 560px !important;
}

.giv-hero-carousel .giv-banner img {
  width: 100% !important;
  height: 250px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
}

.giv-hero-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 3 !important;
  width: 44px !important;
  height: 44px !important;
  transform: translateY(-50%) !important;
  border: 1px solid #d8dee8 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #172033 !important;
  font:
    900 20px/1 Manrope,
    sans-serif !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 10px 24px rgba(26, 39, 66, 0.12) !important;
  cursor: pointer !important;
}

.giv-hero-nav:hover {
  background: #172033 !important;
  color: #fff !important;
}

.giv-hero-nav.prev {
  left: 18px !important;
}

.giv-hero-nav.next {
  right: 18px !important;
}

.giv-hero-dots {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 14px !important;
  z-index: 3 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
}

.giv-hero-dots button {
  width: 12px !important;
  height: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #c8d0d8 !important;
  cursor: pointer !important;
}

.giv-hero-dots button.active {
  background: #172033 !important;
  transform: scale(1.16) !important;
}

.giv-side-deals {
  display: none !important;
}

@media (max-width: 760px) {
  .giv-home-hero {
    padding: 0 12px !important;
  }

  .giv-hero-carousel {
    min-height: 0 !important;
    border-radius: 14px !important;
  }

  .giv-hero-carousel .giv-banner.active {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    gap: 18px !important;
    padding: 28px 22px 56px !important;
  }

  .giv-hero-carousel .giv-banner img {
    height: 190px !important;
  }

  .giv-hero-nav {
    width: 38px !important;
    height: 38px !important;
  }

  .giv-hero-nav.prev {
    left: 10px !important;
  }

  .giv-hero-nav.next {
    right: 10px !important;
  }
}

/* Header customer login block */
.giv-storefront .topbar {
  grid-template-columns: minmax(210px, 260px) minmax(320px, 680px) minmax(170px, 210px) auto !important;
}

.giv-storefront .main-product-search {
  grid-column: 2 !important;
}

.giv-storefront .header-quick-links {
  grid-column: 3 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  white-space: nowrap !important;
}

.giv-storefront .header-quick-links .header-user-icon {
  position: relative !important;
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px !important;
  display: block !important;
}

.giv-storefront .header-quick-links .header-user-icon::before {
  content: '' !important;
  position: absolute !important;
  left: 9px !important;
  top: 2px !important;
  width: 11px !important;
  height: 11px !important;
  border: 2px solid #172033 !important;
  border-radius: 50% !important;
}

.giv-storefront .header-quick-links .header-user-icon::after {
  content: '' !important;
  position: absolute !important;
  left: 3px !important;
  bottom: 2px !important;
  width: 24px !important;
  height: 14px !important;
  border: 2px solid #172033 !important;
  border-bottom: 0 !important;
  border-radius: 18px 18px 0 0 !important;
}

.giv-storefront .header-user-copy {
  display: grid !important;
  gap: 2px !important;
  line-height: 1.15 !important;
}

.giv-storefront .header-user-copy strong {
  color: #172033 !important;
  font:
    700 13px DM Sans,
    sans-serif !important;
}

.giv-storefront .header-user-copy a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #172033 !important;
  font:
    500 13px DM Sans,
    sans-serif !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.giv-storefront .header-user-copy i {
  width: 0 !important;
  height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid #172033 !important;
  display: inline-block !important;
  margin-top: 2px !important;
}

@media (max-width: 1180px) {
  .giv-storefront .topbar {
    grid-template-columns: minmax(180px, 230px) minmax(240px, 1fr) auto !important;
  }

  .giv-storefront .header-quick-links {
    display: none !important;
  }
}

@media (max-width: 760px) {
  .giv-storefront .topbar {
    grid-template-columns: 1fr auto !important;
  }

  .giv-storefront .main-product-search {
    grid-column: 1 / -1 !important;
  }
}

/* Site typography repair: normalize storefront fonts and titles after legacy rules. */
body:not(.admin-authenticated),
.giv-storefront {
  color: #172033;
  font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif !important;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body:not(.admin-authenticated) *,
.giv-storefront *,
body:not(.admin-authenticated) *::before,
body:not(.admin-authenticated) *::after,
.giv-storefront *::before,
.giv-storefront *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

body:not(.admin-authenticated)
  :where(button, input, select, textarea, label, p, li, a, small, span, strong),
.giv-storefront :where(button, input, select, textarea, label, p, li, a, small, span, strong) {
  font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif !important;
}

body:not(.admin-authenticated) :where(h1, h2, h3, h4, h5, h6),
.giv-storefront :where(h1, h2, h3, h4, h5, h6) {
  color: #172033;
  font-family: 'Manrope', 'DM Sans', 'Segoe UI', Arial, sans-serif !important;
  font-weight: 800;
  letter-spacing: 0;
}

body:not(.admin-authenticated) :where(.hero h1, .section-heading h2, .solutions h2),
.giv-storefront :where(.hero h1, .section-heading h2, .solutions h2) {
  font-size: 56px !important;
  line-height: 1.02 !important;
}

body:not(.admin-authenticated)
  :where(
    .product-info h3,
    .catalog-product h3,
    .product-card h3,
    .feature-stack h3,
    .client-card h3,
    .site-footer h3,
    .mega-panel h3
  ),
.giv-storefront
  :where(
    .product-info h3,
    .catalog-product h3,
    .product-card h3,
    .feature-stack h3,
    .client-card h3,
    .site-footer h3,
    .mega-panel h3
  ) {
  font-size: 17px !important;
  line-height: 1.25 !important;
}

body:not(.admin-authenticated)
  :where(
    .product-info p,
    .catalog-product p,
    .feature-stack p,
    .client-card p,
    .site-footer p,
    .site-footer a
  ),
.giv-storefront
  :where(
    .product-info p,
    .catalog-product p,
    .feature-stack p,
    .client-card p,
    .site-footer p,
    .site-footer a
  ) {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body:not(.admin-authenticated) :where(.price, .product-price, .modal-total strong),
.giv-storefront :where(.price, .product-price, .modal-total strong) {
  font-family: 'Manrope', 'DM Sans', 'Segoe UI', Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
}

body:not(.admin-authenticated) :where(.btn, .icon-btn, .text-link, .catalog-nav button, .topbar button),
.giv-storefront :where(.btn, .icon-btn, .text-link, .catalog-nav button, .topbar button) {
  font-size: 14px !important;
  line-height: 1.2 !important;
}

@media (max-width: 760px) {
  body:not(.admin-authenticated) :where(.hero h1, .section-heading h2, .solutions h2),
  .giv-storefront :where(.hero h1, .section-heading h2, .solutions h2) {
    font-size: 38px !important;
    line-height: 1.08 !important;
  }

  body:not(.admin-authenticated)
    :where(.product-info h3, .catalog-product h3, .product-card h3, .feature-stack h3),
  .giv-storefront
    :where(.product-info h3, .catalog-product h3, .product-card h3, .feature-stack h3) {
    font-size: 16px !important;
  }
}

html body:not(.admin-authenticated) .hero h1,
html body:not(.admin-authenticated) .section-heading h2,
html body:not(.admin-authenticated) .solutions h2 {
  font-family: 'Manrope', 'DM Sans', 'Segoe UI', Arial, sans-serif !important;
  font-size: 56px !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
}

html body:not(.admin-authenticated) .product-info h3,
html body:not(.admin-authenticated) .catalog-product h3,
html body:not(.admin-authenticated) .product-card h3,
html body:not(.admin-authenticated) .feature-stack h3,
html body:not(.admin-authenticated) .client-card h3 {
  font-family: 'Manrope', 'DM Sans', 'Segoe UI', Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 760px) {
  html body:not(.admin-authenticated) .hero h1,
  html body:not(.admin-authenticated) .section-heading h2,
  html body:not(.admin-authenticated) .solutions h2 {
    font-size: 38px !important;
    line-height: 1.08 !important;
  }

  html body:not(.admin-authenticated) .product-info h3,
  html body:not(.admin-authenticated) .catalog-product h3,
  html body:not(.admin-authenticated) .product-card h3,
  html body:not(.admin-authenticated) .feature-stack h3 {
    font-size: 16px !important;
  }
}

/* Menu principal alinhado abaixo do botão Orçamento */
@media (min-width: 761px) {
  .giv-storefront .topbar {
    grid-template-rows: auto auto !important;
    row-gap: 6px !important;
  }

  .giv-storefront .main-nav {
    grid-column: 4 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    width: max-content !important;
    max-width: 100% !important;
    height: auto !important;
    padding-top: 0 !important;
    overflow: visible !important;
  }

  .giv-storefront .main-nav > .nav-link,
  .giv-storefront .mega-menu > .nav-link,
  .giv-storefront .managed-menu > .nav-link {
    height: 32px !important;
    padding: 0 10px !important;
  }
}

/* Mascot as the branded WhatsApp assistant */
.giv-storefront .mascot-assistant {
  right: 18px;
  bottom: 14px;
  width: 190px;
  min-width: 0;
  height: 144px;
  padding: 0;
  display: block;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  animation: mascotFloat 3s ease-in-out infinite;
}

.giv-storefront .mascot-assistant:hover {
  background: transparent;
  box-shadow: none;
  transform: none;
  animation-play-state: paused;
}

.giv-storefront .mascot-assistant:focus {
  outline: none;
}

.giv-storefront .mascot-assistant:focus-visible .mascot-assistant-copy {
  outline: 3px solid #0c5de8;
  outline-offset: 3px;
}

.giv-storefront .mascot-assistant-image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 94px;
  height: 138px;
  object-fit: contain;
  object-position: right bottom;
  filter: drop-shadow(0 10px 12px rgba(23, 32, 51, 0.2));
  transition: transform 0.2s ease;
}

.giv-storefront .mascot-assistant:hover .mascot-assistant-image {
  transform: translateY(-4px) scale(1.03);
}

.giv-storefront .mascot-assistant-copy {
  position: absolute;
  left: 0;
  bottom: 26px;
  width: 116px;
  min-height: 56px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 10px 14px;
  border: 1px solid #d9e2ee;
  border-radius: 8px;
  background: #fff;
  color: #172033;
  text-align: left;
  box-shadow: 0 10px 26px rgba(23, 32, 51, 0.14);
}

.giv-storefront .mascot-assistant-copy small {
  color: #657083;
  font-size: 9px !important;
  font-weight: 700;
}

.giv-storefront .mascot-assistant-copy strong {
  color: #159c5a;
  font: 800 12px/1.2 Manrope !important;
  white-space: nowrap;
}

@keyframes mascotFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .giv-storefront .mascot-assistant {
    animation: none;
  }
}

@media (max-width: 560px) {
  .giv-storefront .mascot-assistant {
    right: 8px;
    bottom: 8px;
    width: 134px;
    height: 100px;
  }

  .giv-storefront .mascot-assistant-image {
    width: 66px;
    height: 96px;
  }

  .giv-storefront .mascot-assistant-copy {
    bottom: 16px;
    width: 82px;
    min-height: 46px;
    padding: 8px 9px;
  }

  .giv-storefront .mascot-assistant-copy small {
    display: none;
  }

  .giv-storefront .mascot-assistant-copy strong {
    font-size: 10px !important;
    white-space: normal;
  }
}

/* Official Mouse Criativo logo */
.giv-storefront .mouse-brand {
  width: 210px;
  min-width: 0;
  display: block;
  line-height: 0;
}

.giv-storefront .mouse-brand .brand-logo {
  display: block;
  width: 210px;
  max-width: 100%;
  height: auto;
  max-height: 78px;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 520px) {
  .giv-storefront .mouse-brand,
  .giv-storefront .mouse-brand .brand-logo {
    width: 170px;
  }
}

/* Centered client carousel with side navigation */
.giv-storefront .client-showcase {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 46px max(22px, 5vw) 42px;
}

.giv-storefront .client-showcase-heading {
  display: block;
  max-width: 1280px;
  margin: 0 auto 24px;
  text-align: center;
}

.giv-storefront .client-showcase-heading .eyebrow {
  justify-content: center;
}

.giv-storefront .client-carousel-shell {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 46px minmax(0, 1240px) 46px;
  justify-content: center;
  align-items: center;
  gap: 14px;
}

.giv-storefront .client-carousel {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 4px 0 12px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.giv-storefront .client-carousel::-webkit-scrollbar {
  display: none;
}

.giv-storefront .client-carousel-arrow {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid #d5dce7;
  border-radius: 50%;
  background: #fff;
  color: #0c5de8;
  box-shadow: 0 8px 22px rgba(23, 32, 51, 0.1);
  font: 800 20px/1 Manrope !important;
  cursor: pointer;
  transition:
    background 0.2s,
    border-color 0.2s,
    color 0.2s,
    transform 0.2s;
}

.giv-storefront .client-carousel-arrow:hover {
  background: #0c5de8;
  border-color: #0c5de8;
  color: #fff;
  transform: translateY(-2px);
}

.giv-storefront .client-carousel-arrow:disabled {
  opacity: 0.35;
  cursor: default;
  transform: none;
}

.giv-storefront .client-carousel-track {
  justify-content: start;
  gap: 18px;
}

@media (max-width: 760px) {
  .giv-storefront .client-showcase {
    padding: 36px 12px 34px;
  }

  .giv-storefront .client-carousel-shell {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 7px;
  }

  .giv-storefront .client-carousel-arrow {
    width: 38px;
    height: 38px;
    font-size: 17px !important;
  }

  .giv-storefront .client-carousel {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Admin product registration polish */
.admin-modal.product-editor-modal .admin-modal-card {
  width: min(1180px, 96vw) !important;
  max-height: 94vh !important;
  border-radius: 8px !important;
}
.admin-modal.product-editor-modal .admin-modal-head {
  gap: 12px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 12 !important;
  background: #fff !important;
}
.product-header-save {
  width: auto !important;
  min-width: 132px !important;
  height: 38px !important;
  border-radius: 6px !important;
  background: #0c5de8 !important;
  color: #fff !important;
  font:
    800 12px DM Sans,
    sans-serif !important;
  padding: 0 16px !important;
}
.product-suite-tabs {
  position: sticky !important;
  top: 83px !important;
  z-index: 11 !important;
  display: flex !important;
  gap: 6px !important;
  padding: 12px 26px !important;
  overflow-x: auto !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #e4e9f0 !important;
}
.product-suite-tabs button {
  flex: 0 0 auto !important;
  height: 36px !important;
  border: 1px solid #dce4ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #344052 !important;
  font:
    800 11px DM Sans,
    sans-serif !important;
  padding: 0 14px !important;
  cursor: pointer !important;
}
.product-suite-tabs button.active {
  background: #0c5de8 !important;
  border-color: #0c5de8 !important;
  color: #fff !important;
}
.product-suite-panel {
  display: none !important;
  padding: 22px 26px !important;
}
.product-suite-panel.active {
  display: block !important;
}
.product-suite-panel .suite-form-grid,
.product-category-panel {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.suite-field,
.suite-check,
.product-detail-field,
.product-reference-field {
  display: block !important;
  color: #1f2937 !important;
  font:
    800 10px DM Sans,
    sans-serif !important;
}
.suite-wide {
  grid-column: 1/-1 !important;
}
.suite-field input,
.suite-field select,
.suite-field textarea,
.product-detail-field input,
.product-detail-field select,
.product-detail-field textarea,
.product-reference-field input,
.product-reference-field select,
.product-reference-field textarea {
  width: 100% !important;
  min-height: 42px !important;
  border: 1px solid #dfe5ec !important;
  border-radius: 6px !important;
  margin-top: 6px !important;
  padding: 9px 11px !important;
  background: #fff !important;
  font:
    500 12px DM Sans,
    sans-serif !important;
}
.suite-field textarea,
.product-detail-field textarea,
.product-reference-field textarea {
  min-height: 92px !important;
  resize: vertical !important;
}
.product-details-section,
.product-price-reference-card,
.product-general-main,
.product-specifications-card {
  border: 1px solid #e1e7ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 16px !important;
  margin-bottom: 14px !important;
}
.product-general-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr) !important;
  gap: 16px !important;
}
@media (max-width: 840px) {
  .product-suite-tabs {
    top: 78px !important;
    padding: 10px 14px !important;
  }
  .product-suite-panel {
    padding: 18px 14px !important;
  }
  .product-suite-panel .suite-form-grid,
  .product-category-panel,
  .product-general-columns {
    grid-template-columns: 1fr !important;
  }
}

/* Storefront refresh and catalog redesign */
.giv-storefront {
  background: #f3f6f8 !important;
}
.giv-storefront .app-shell {
  background: linear-gradient(180deg, #f8fbff 0, #f3f6f8 520px, #f6f7f3 100%) !important;
}
.giv-storefront .utility-bar {
  background: #172033 !important;
  color: #fff !important;
}
.giv-storefront .topbar {
  border-bottom: 1px solid rgba(23, 32, 51, 0.08) !important;
  box-shadow: 0 10px 30px rgba(23, 32, 51, 0.06) !important;
}
.giv-storefront .catalog-nav {
  position: sticky !important;
  top: 124px !important;
  z-index: 45 !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(14px) !important;
}
.giv-storefront .giv-home-hero {
  max-width: 1320px !important;
  margin: 26px auto 0 !important;
  padding: 0 28px !important;
  gap: 18px !important;
}
.giv-storefront .giv-banner {
  min-height: 430px !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #12203a, #0c5de8 58%, #12a685) !important;
  box-shadow: 0 22px 70px rgba(23, 32, 51, 0.16) !important;
}
.giv-storefront .giv-banner h1,
.giv-storefront .giv-banner h2 {
  letter-spacing: 0 !important;
}
.giv-storefront .giv-side-deals button,
.giv-storefront .category-tile,
.giv-storefront .product,
.giv-storefront .dash-card {
  border-radius: 8px !important;
}
.giv-storefront .hero {
  min-height: 0 !important;
  padding: 54px 8vw !important;
  background: #fff !important;
  border-top: 1px solid #e5eaf0 !important;
  border-bottom: 1px solid #e5eaf0 !important;
}
.giv-storefront .hero h1 {
  font-size: clamp(42px, 5vw, 66px) !important;
  letter-spacing: 0 !important;
}
.catalog-upgraded {
  padding-top: 82px !important;
  background: #f6f7f3 !important;
}
.catalog-upgraded .section-heading {
  max-width: 1320px !important;
  margin: 0 auto !important;
}
.catalog-upgraded .section-heading h2 {
  letter-spacing: 0 !important;
}
.catalog-summary-strip {
  max-width: 1320px;
  margin: 24px auto 22px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.catalog-summary-strip span {
  background: #fff;
  border: 1px solid #e1e6ec;
  border-radius: 8px;
  padding: 14px 16px;
}
.catalog-summary-strip strong,
.catalog-summary-strip small {
  display: block;
}
.catalog-summary-strip strong {
  color: #172033;
  font:
    800 13px Manrope,
    sans-serif;
}
.catalog-summary-strip small {
  color: #687383;
  font-size: 10px;
  margin-top: 4px;
}
.catalog-workspace {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 288px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.catalog-category-rail {
  position: sticky;
  top: 184px;
  display: grid;
  gap: 8px;
  background: #fff;
  border: 1px solid #e0e6ed;
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 14px 42px rgba(23, 32, 51, 0.07);
}
.catalog-category-rail button {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  align-items: center;
  width: 100%;
  border: 1px solid transparent;
  background: #f7f9fb;
  border-radius: 7px;
  padding: 10px;
  color: #172033;
  text-align: left;
  cursor: pointer;
}
.catalog-category-rail button:hover,
.catalog-category-rail button.active {
  background: #edf5ff;
  border-color: #bfd7ff;
}
.catalog-category-rail button span {
  grid-row: 1 / 3;
  width: 38px;
  height: 38px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #0c5de8;
}
.catalog-category-rail svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
}
.catalog-category-rail strong {
  font:
    800 12px Manrope,
    sans-serif;
}
.catalog-category-rail small {
  color: #748091;
  font-size: 8px;
  line-height: 1.3;
}
.catalog-main-panel {
  min-width: 0;
}
.catalog-main-panel .category-tabs {
  margin: 0 0 12px !important;
  padding-bottom: 2px;
}
.catalog-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 190px auto;
  gap: 10px;
  align-items: center;
  background: #fff;
  border: 1px solid #e0e6ed;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  box-shadow: 0 14px 42px rgba(23, 32, 51, 0.06);
}
.catalog-search-field,
.catalog-sort-field {
  height: 44px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #dce3eb;
  background: #f9fbfd;
  border-radius: 7px;
  padding: 0 12px;
  color: #54606f;
  font-size: 10px;
  font-weight: 800;
}
.catalog-search-field input,
.catalog-sort-field select {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #172033;
  font:
    700 12px DM Sans,
    sans-serif;
}
.catalog-result-count {
  justify-self: end;
  color: #657284;
  font-size: 11px;
  font-weight: 800;
}
.catalog-upgraded .compact-product-filters {
  margin: 0 0 12px !important;
  background: #fff !important;
  border: 1px solid #e0e6ed !important;
  border-radius: 8px !important;
  overflow: hidden;
}
.catalog-upgraded .compact-product-filters summary {
  padding: 15px 16px !important;
  font-weight: 900 !important;
}
.catalog-upgraded .product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.catalog-product-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  border: 1px solid #e0e6ed !important;
  background: #fff !important;
  box-shadow: 0 14px 36px rgba(23, 32, 51, 0.07) !important;
}
.catalog-product-card:hover {
  transform: translateY(-4px) !important;
  border-color: #b8d2ff !important;
}
.catalog-product-card .giv-product-media {
  height: 190px !important;
  background: #f3f7fb !important;
}
.catalog-product-card .giv-product-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.catalog-product-card .giv-product-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 16px !important;
  flex: 1 !important;
}
.catalog-product-card h3 {
  font-size: 16px !important;
  line-height: 1.18 !important;
  min-height: 38px !important;
}
.catalog-product-card p {
  min-height: 42px !important;
  margin: 0 !important;
  color: #647184 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}
.catalog-product-specs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin: 0;
}
.catalog-product-specs div {
  background: #f7f9fb;
  border: 1px solid #edf1f5;
  border-radius: 6px;
  padding: 8px;
  min-width: 0;
}
.catalog-product-specs dt {
  color: #7a8797;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}
.catalog-product-specs dd {
  margin: 3px 0 0;
  color: #172033;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.catalog-product-card .giv-product-price {
  margin-top: auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: stretch !important;
  gap: 10px !important;
}
.catalog-product-card .giv-product-price button {
  border-radius: 6px !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 42px !important;
}
.catalog-product-actions {
  display: grid;
  grid-template-columns: minmax(82px, 0.85fr) minmax(138px, 1.35fr);
  gap: 7px;
  width: 100%;
}
.catalog-product-card .catalog-product-actions .product-buy-button {
  background: #0c5de8 !important;
  color: #fff !important;
}
.catalog-product-card .catalog-product-actions .product-zap-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px !important;
  background: #25d366 !important;
  color: #fff !important;
  white-space: nowrap;
}
.catalog-product-card .product-zap-button:hover {
  background: #19b957 !important;
}
.catalog-product-card .product-buy-button:hover {
  background: #084fc9 !important;
}
.catalog-product-card .product-zap-button img {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  filter: brightness(0) invert(1);
}
.catalog-product-card .product-zap-button span {
  display: inline;
  color: inherit;
  font-size: 11px;
  font-weight: 900;
}
.catalog-empty {
  grid-column: 1 / -1;
  background: #fff;
  border: 1px dashed #b8c4d2;
  border-radius: 8px;
  padding: 34px;
  text-align: center;
}
@media (max-width: 1180px) {
  .giv-storefront .catalog-nav {
    top: 112px !important;
  }
  .catalog-workspace {
    grid-template-columns: 1fr;
  }
  .catalog-category-rail {
    position: relative;
    top: auto;
    display: flex;
    overflow-x: auto;
  }
  .catalog-category-rail button {
    min-width: 210px;
  }
  .catalog-upgraded .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .giv-storefront .catalog-nav {
    top: 132px !important;
  }
  .giv-storefront .giv-home-hero {
    padding: 0 16px !important;
  }
  .catalog-upgraded {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .catalog-summary-strip {
    grid-template-columns: 1fr;
  }
  .catalog-toolbar {
    grid-template-columns: 1fr;
  }
  .catalog-result-count {
    justify-self: start;
  }
  .catalog-upgraded .product-grid {
    grid-template-columns: 1fr !important;
  }
  .catalog-product-card .giv-product-media {
    height: 210px !important;
  }
}

/* Legacy vertical product menu requested */
.giv-storefront .home-categories {
  display: none !important;
}
.giv-storefront .bestsellers,
.giv-storefront .best-seller-carousel {
  display: none !important;
}
.catalog-summary-strip,
.catalog-upgraded .category-tabs,
.catalog-upgraded .compact-product-filters,
.catalog-upgraded .catalog-toolbar {
  display: none !important;
}
.catalog-upgraded {
  padding-top: 0 !important;
}
.catalog-upgraded .section-heading {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: end !important;
  gap: 24px !important;
  margin-bottom: 18px !important;
}
.catalog-upgraded .section-heading h2 {
  font-size: 32px !important;
  line-height: 1.05 !important;
}
.catalog-workspace {
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 18px !important;
}
.legacy-catalog-menu {
  top: 150px !important;
  max-height: calc(100vh - 174px) !important;
  overflow: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  gap: 0 !important;
  padding: 0 !important;
  border-radius: 6px !important;
}
.legacy-catalog-menu::-webkit-scrollbar {
  display: none !important;
}
.legacy-catalog-menu h3 {
  margin: 10px 0 4px !important;
  padding: 11px 18px 7px !important;
  color: #0c5de8 !important;
  font:
    900 11px Manrope,
    sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.7px !important;
  background: #f1f6ff !important;
  border-top: 1px solid #e0e8f4 !important;
  border-bottom: 1px solid #e0e8f4 !important;
}
.legacy-catalog-menu button {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f5 !important;
  border-radius: 0 !important;
  background: #fff !important;
  padding: 10px 18px !important;
  color: #243044 !important;
  text-align: left !important;
  font:
    700 13px DM Sans,
    sans-serif !important;
}
.legacy-catalog-menu button:hover,
.legacy-catalog-menu button.active {
  background: #eaf3ff !important;
  color: #0c5de8 !important;
  box-shadow: inset 4px 0 0 #0c5de8 !important;
}
.legacy-catalog-menu button span,
.legacy-catalog-menu button small,
.legacy-catalog-menu button svg {
  display: none !important;
}
.catalog-main-panel {
  min-width: 0 !important;
}
.catalog-toolbar {
  grid-template-columns: minmax(240px, 1fr) 155px auto !important;
  margin-bottom: 14px !important;
}
.catalog-upgraded .product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.catalog-empty {
  min-height: 160px !important;
  display: grid !important;
  place-content: center !important;
}
@media (max-width: 980px) {
  .catalog-workspace {
    grid-template-columns: 1fr !important;
  }
  .legacy-catalog-menu {
    position: relative !important;
    top: auto !important;
    max-height: 320px !important;
  }
  .catalog-upgraded .section-heading {
    grid-template-columns: 1fr !important;
  }
  .catalog-upgraded .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 620px) {
  .catalog-toolbar {
    grid-template-columns: 1fr !important;
  }
  .catalog-upgraded .product-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Menu vertical completo: todos os produtos sempre visíveis, sem sanfona */
.giv-storefront .legacy-catalog-menu {
  position: relative !important;
  top: auto !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}

.delivery-badges > .delivery-official {
  height: 48px !important;
  width: auto !important;
  max-width: 128px !important;
  object-fit: contain !important;
  background: #fff !important;
  border-radius: 5px !important;
  padding: 8px 10px !important;
}
.delivery-badges > .jadlog-official {
  max-width: 190px !important;
  width: 190px !important;
}
.delivery-badges > .retirada-local {
  max-width: 140px !important;
  width: 140px !important;
}
@media (max-width: 1180px) {
  .giv-storefront .catalog-category-rail.legacy-catalog-menu {
    display: grid !important;
    width: 100% !important;
    overflow: visible !important;
  }
  .giv-storefront .legacy-catalog-menu button {
    min-width: 0 !important;
  }
}

/* Removed store benefit cards by request */
.giv-benefits {
  display: none !important;
}

/* Storefront repair: clean header icons and animated carousel */
.giv-storefront .topbar {
  grid-template-columns: minmax(220px, 280px) minmax(360px, 680px) minmax(170px, 220px) auto !important;
  justify-content: center !important;
  column-gap: 24px !important;
}

.giv-storefront .brand {
  justify-self: start !important;
}

.giv-storefront .main-product-search {
  justify-self: center !important;
}

.giv-storefront .header-actions {
  justify-self: end !important;
}

.header-control-icon {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  object-fit: contain;
}

.main-product-search .search-control-icon {
  width: 19px;
  height: 19px;
}

/* Busca alinhada ao cabeçalho, sem saltar para outra posição */
.giv-storefront .search-overlay {
  inset: 0 !important;
  padding: 112px 16px 16px !important;
  background: rgba(17, 26, 49, 0.34) !important;
  backdrop-filter: blur(4px);
}
.giv-storefront .search-panel {
  width: min(680px, calc(100vw - 32px));
  max-height: calc(100vh - 132px);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(17, 26, 49, 0.24);
}
.giv-storefront .search-box {
  min-height: 58px;
  padding: 8px 14px;
  border-bottom: 1px solid #dce2ea;
}
.giv-storefront .search-box input {
  font: 700 16px DM Sans;
  padding: 0 12px;
}
.giv-storefront #searchResults {
  max-height: calc(100vh - 205px);
  overflow-y: auto;
}
@media (max-width: 760px) {
  .giv-storefront .search-overlay {
    padding-top: 148px !important;
  }
  .giv-storefront .search-panel {
    max-height: calc(100vh - 164px);
  }
  .giv-storefront #searchResults {
    max-height: calc(100vh - 228px);
  }
}

.icon-btn .search-control-icon {
  width: 20px;
  height: 20px;
}

.cart-toggle .cart-control-icon {
  width: 23px;
  height: 23px;
}

.giv-hero-carousel .giv-banner.active {
  animation: heroSlideIn 0.56s ease both !important;
}

@keyframes heroSlideIn {
  from {
    opacity: 0;
    transform: translateX(34px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.giv-hero-carousel .giv-banner:not(.active) {
  pointer-events: none !important;
}

/* Reseller shortcut */
.floating-reseller {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 89;
  min-width: 190px;
  min-height: 58px;
  padding: 8px 14px 8px 9px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: var(--store-button-radius, 8px);
  background: #0c5de8;
  color: #fff;
  box-shadow: 0 12px 30px rgba(12, 93, 232, 0.28);
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.floating-reseller:hover,
.floating-reseller:focus-visible {
  background: #084fc9;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(12, 93, 232, 0.36);
}

.floating-reseller[hidden] {
  display: none;
}

.floating-reseller-badge {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #c9f54b;
  color: #172033;
  font: 900 12px/1 Manrope, sans-serif;
}

.floating-reseller > span:last-child {
  display: grid;
  gap: 2px;
}

.floating-reseller small,
.floating-reseller strong {
  color: #fff;
  line-height: 1.1;
  white-space: nowrap;
}

.floating-reseller small {
  font-size: 10px;
  font-weight: 600;
  opacity: 0.82;
}

.floating-reseller strong {
  font: 800 13px/1.1 Manrope, sans-serif;
}

@media (max-width: 560px) {
  .floating-reseller {
    left: 16px;
    bottom: 16px;
    min-width: 54px;
    min-height: 54px;
    padding: 7px;
  }

  .floating-reseller > span:last-child {
    display: none;
  }
}

/* Image-only home slider */
.giv-hero-carousel .giv-banner-image-only.active {
  display: block !important;
  min-height: 470px !important;
  padding: 0 !important;
  background: #10223d !important;
  isolation: isolate;
}

.giv-hero-carousel .giv-banner-image-only img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 48% !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: scale(1.015);
  transition: transform 5.2s ease-out;
}

.giv-hero-carousel .giv-banner-image-only.active img { transform: scale(1.08); }
.giv-banner-shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(7,19,38,.91), rgba(8,24,47,.73) 39%, rgba(8,24,47,.19) 72%, rgba(8,24,47,.12)); }
.giv-banner-copy { position: relative; z-index: 2; display: flex; max-width: 620px; min-height: 470px; padding: 78px clamp(76px,9vw,150px) 72px; flex-direction: column; justify-content: center; color: #fff; }
.giv-banner-eyebrow { display: inline-flex; width: fit-content; margin-bottom: 18px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(8px); }
.giv-hero-carousel .giv-banner-image-only h1 { max-width: 590px !important; margin: 0 !important; color: #fff !important; font-size: clamp(2.15rem,4vw,4.05rem) !important; font-weight: 850 !important; letter-spacing: -.055em !important; line-height: .98 !important; text-wrap: balance; }
.giv-hero-carousel .giv-banner-image-only p { max-width: 520px !important; margin: 20px 0 28px !important; color: rgba(255,255,255,.88) !important; font-size: clamp(.98rem,1.35vw,1.12rem) !important; line-height: 1.6 !important; }
.giv-banner-cta { width: fit-content; min-height: 48px; padding: 0 20px !important; border: 0 !important; border-radius: 10px !important; background: #ff6a22 !important; box-shadow: 0 12px 26px rgba(0,0,0,.22); color: #fff !important; font-weight: 800 !important; }
.giv-banner-cta:hover { background: #ff813f !important; transform: translateY(-2px); }
.giv-banner-cta span { margin-left: 7px; font-size: 1.1em; }
.giv-slide-count { position: absolute; z-index: 2; right: clamp(70px,7vw,110px); bottom: 31px; color: rgba(255,255,255,.65); font-size: .78rem; letter-spacing: .09em; }
.giv-slide-count strong { color: #fff; font-size: 1.05rem; }
.giv-hero-carousel .giv-hero-nav { border-color: rgba(255,255,255,.42) !important; background: rgba(10,27,51,.4) !important; color: #fff !important; backdrop-filter: blur(10px); }
.giv-hero-carousel .giv-hero-nav:hover { background: #ff6a22 !important; border-color: #ff6a22 !important; }
.giv-hero-carousel .giv-hero-dots { justify-content: flex-start !important; left: clamp(76px,9vw,150px) !important; right: auto !important; bottom: 32px !important; }
.giv-hero-carousel .giv-hero-dots button { width: 24px !important; height: 3px !important; border-radius: 99px !important; background: rgba(255,255,255,.45) !important; transition: width .22s ease, background .22s ease; }
.giv-hero-carousel .giv-hero-dots button.active { width: 42px !important; background: #fff !important; transform: none !important; }

@media (max-width: 760px) {
  .giv-hero-carousel .giv-banner-image-only.active,
  .giv-hero-carousel .giv-banner-image-only img {
    min-height: 390px !important;
    height: 390px !important;
  }

  .giv-banner-copy { min-height: 390px; padding: 52px 52px 70px; }
  .giv-hero-carousel .giv-hero-dots { left: 52px !important; bottom: 29px !important; }
  .giv-slide-count { right: 52px; bottom: 28px; }
  .giv-banner-shade { background: linear-gradient(90deg, rgba(7,19,38,.9), rgba(8,24,47,.56) 78%, rgba(8,24,47,.35)); }
}

@media (max-width: 560px) {
  .giv-hero-carousel .giv-banner-image-only.active,
  .giv-hero-carousel .giv-banner-image-only img { min-height: 410px !important; height: 410px !important; }
  .giv-banner-copy { min-height: 410px; padding: 46px 32px 70px; }
  .giv-banner-eyebrow { margin-bottom: 15px; font-size: .64rem; }
  .giv-hero-carousel .giv-banner-image-only h1 { font-size: 2.25rem !important; }
  .giv-hero-carousel .giv-banner-image-only p { margin: 16px 0 22px !important; font-size: .91rem !important; line-height: 1.5 !important; }
  .giv-hero-carousel .giv-hero-dots { left: 32px !important; bottom: 28px !important; gap: 7px !important; }
  .giv-hero-carousel .giv-hero-dots button { width: 16px !important; }
  .giv-hero-carousel .giv-hero-dots button.active { width: 27px !important; }
  .giv-slide-count { right: 32px; bottom: 26px; }
  .giv-hero-carousel .giv-hero-nav { width: 36px !important; height: 36px !important; opacity: .92; }
}

@media (max-width: 1180px) {
  .giv-storefront .topbar {
    grid-template-columns: minmax(180px, 230px) minmax(240px, 1fr) auto !important;
    column-gap: 14px !important;
  }
}

@media (max-width: 760px) {
  .giv-storefront .topbar {
    grid-template-columns: 1fr auto !important;
  }

  .giv-storefront .main-product-search {
    grid-column: 1 / -1 !important;
  }
}

/* Category submenus on desktop and accordion navigation on mobile. */
.giv-storefront .catalog-nav {
  display: block !important;
  padding: 0 18px !important;
  overflow: visible !important;
}

.catalog-mobile-toggle {
  display: none;
}

.catalog-menu-groups {
  width: min(1360px, 100%);
  min-height: 46px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.catalog-menu-group {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
}

.giv-storefront .catalog-menu-groups > button,
.giv-storefront .catalog-menu-trigger {
  width: 100%;
  min-width: 0 !important;
  height: 46px !important;
  padding: 0 12px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  overflow: hidden;
  color: #1f2937;
  font-size: 12px !important;
  font-weight: 800;
  white-space: nowrap;
  text-overflow: ellipsis;
  transition:
      background-color 0.2s ease,
      color 0.2s ease;
}

.giv-storefront .catalog-menu-groups > button {
  flex: 1 1 0 !important;
  width: auto;
  max-width: 180px;
}

.giv-storefront .catalog-menu-trigger span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.giv-storefront .catalog-menu-trigger b {
  flex: 0 0 auto;
  color: #0c5de8;
  font-size: 15px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.catalog-menu-group.open .catalog-menu-trigger b {
  transform: rotate(45deg);
}

.catalog-submenu {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  z-index: 90;
  width: max(230px, 100%);
  padding: 8px;
  display: grid;
  gap: 2px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-7px);
  pointer-events: none;
  background: #fff;
  border: 1px solid #dfe5ee;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 16px 34px rgba(23, 32, 51, 0.14);
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    visibility 0.18s ease;
}

.catalog-menu-group.open .catalog-submenu,
.catalog-menu-group:hover .catalog-submenu,
.catalog-menu-group:focus-within .catalog-submenu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.giv-storefront .catalog-submenu button {
  width: 100%;
  min-width: 0 !important;
  min-height: 39px;
  height: auto;
  padding: 9px 11px !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  border-radius: 6px;
  color: #3d4858;
  background: #fff;
  font-size: 12px !important;
  line-height: 1.3 !important;
  text-align: left;
  white-space: normal;
}

.giv-storefront .catalog-submenu button:hover,
.giv-storefront .catalog-submenu button:focus-visible {
  color: #0c5de8;
  background: #eff4ff;
  outline: 0;
}

.giv-storefront .catalog-submenu .catalog-submenu-all {
  margin-bottom: 3px;
  color: #e3342f;
  font-weight: 900;
  border-bottom: 1px solid #edf1f6;
  border-radius: 6px 6px 0 0;
}

@media (max-width: 980px) and (min-width: 761px) {
  .giv-storefront .catalog-nav {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .giv-storefront .catalog-menu-groups > button,
  .giv-storefront .catalog-menu-trigger {
    padding-left: 7px !important;
    padding-right: 7px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 760px) {
  .giv-storefront .catalog-nav {
    padding: 0 !important;
    overflow: visible !important;
  }

  .giv-storefront .catalog-mobile-toggle {
    width: 100%;
    height: 46px;
    padding: 0 18px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    color: #172033;
    background: #fff;
    font-size: 13px !important;
    font-weight: 900;
  }

  .catalog-mobile-toggle b {
    color: #0c5de8;
    font-size: 19px;
  }

  .catalog-menu-groups {
    display: none;
    width: 100%;
    max-height: calc(100vh - 178px);
    overflow-y: auto;
    background: #fff;
    border-top: 1px solid #edf1f6;
  }

  .catalog-nav.mobile-open .catalog-menu-groups {
    display: block;
  }

  .catalog-menu-group {
    width: 100%;
    border-top: 1px solid #edf1f6;
  }

  .giv-storefront .catalog-menu-groups > button,
  .giv-storefront .catalog-menu-trigger {
    width: 100%;
    max-width: none;
    height: 44px !important;
    padding: 0 18px !important;
    justify-content: space-between;
    font-size: 12px !important;
    text-align: left;
  }

  .giv-storefront .catalog-menu-groups > .catalog-all {
    justify-content: flex-start;
    color: #e3342f;
  }

  .catalog-submenu {
    position: static;
    width: 100%;
    max-height: 0;
    padding: 0 12px;
    gap: 0;
    visibility: visible;
    opacity: 1;
    overflow: hidden;
    transform: none;
    pointer-events: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #f7f9fc;
    transition:
      max-height 0.25s ease,
      padding 0.25s ease;
  }

  .catalog-menu-group.open .catalog-submenu {
    max-height: 520px;
    padding-top: 7px;
    padding-bottom: 7px;
    pointer-events: auto;
  }

  .giv-storefront .catalog-submenu button {
    min-height: 38px;
    padding-left: 18px !important;
    padding-right: 18px !important;
    background: transparent;
  }
}

/* Mouse Criativo custom 1920x450 main banners */
.giv-storefront .giv-home-hero {
  max-width: 1920px !important;
  padding: 0 !important;
}
.giv-storefront .giv-hero-carousel {
  aspect-ratio: 64 / 15 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.giv-storefront .giv-hero-carousel .giv-banner-image-only.active {
  width: 100% !important;
  min-height: 0 !important;
  height: 100% !important;
  background: #0054c7 !important;
}
.giv-storefront .giv-hero-carousel .giv-banner-image-only img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}
.giv-storefront .giv-hero-carousel .giv-banner-image-only.active img {
  transform: none !important;
}
.giv-storefront .giv-banner-shade,
.giv-storefront .giv-banner-copy {
  display: none !important;
}
.giv-storefront .giv-slide-count {
  right: 24px !important;
  bottom: 18px !important;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(0, 38, 92, 0.48);
  color: rgba(255, 255, 255, 0.84) !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-dots {
  left: 24px !important;
  bottom: 22px !important;
}
@media (max-width: 760px) {
  .giv-storefront .giv-hero-carousel {
    aspect-ratio: 16 / 7 !important;
  }
  .giv-storefront .giv-hero-carousel .giv-banner-image-only.active,
  .giv-storefront .giv-hero-carousel .giv-banner-image-only img {
    min-height: 0 !important;
    height: 100% !important;
  }
}
/* Weekly offers: three editable products instead of the old blue promo bar */
.giv-storefront .weekly-products-section,
.giv-storefront #promo.weekly-products-section {
  max-width: 1360px;
  margin: 28px auto 0;
  padding: 30px 24px 34px;
  border: 1px solid #dfe5ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(26, 39, 66, 0.07);
}
.weekly-products-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.weekly-products-heading .eyebrow {
  color: #0c5de8;
}
.weekly-products-heading h2 {
  margin: 0;
  color: #172033;
  font: 900 clamp(26px, 3vw, 40px) / 1.05 Manrope, sans-serif;
}
.weekly-products-heading p {
  max-width: 680px;
  margin: 8px 0 0;
  color: #647084;
}
.weekly-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.weekly-product-card {
  display: grid;
  grid-template-rows: 210px 1fr;
  overflow: hidden;
  border: 1px solid #dfe5ee;
  border-radius: 8px;
  background: #f8fafc;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.weekly-product-card:hover {
  transform: translateY(-3px);
  border-color: #b9c8db;
  box-shadow: 0 18px 34px rgba(26, 39, 66, 0.12);
}
.weekly-product-media {
  position: relative;
  min-width: 0;
  background: #eef4ff;
}
.weekly-product-media span {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  border-radius: 999px;
  background: #c9f54b;
  color: #172033;
  padding: 7px 10px;
  font: 900 11px DM Sans, sans-serif;
  text-transform: uppercase;
}
.weekly-product-media img,
.weekly-product-media .product-visual {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 0;
}
.weekly-product-info {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 16px;
}
.weekly-product-info small {
  color: #0c5de8;
  font-weight: 900;
  text-transform: uppercase;
}
.weekly-product-info h3 {
  margin: 0;
  color: #172033;
  font: 900 20px/1.12 Manrope, sans-serif;
}
.weekly-product-info p {
  min-height: 44px;
  margin: 0;
  color: #647084;
  font-size: 13px;
  line-height: 1.45;
}
.weekly-product-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px;
}
.weekly-product-price s {
  color: #8a96a8;
  font-size: 13px;
}
.weekly-product-price strong {
  color: #0c5de8;
  font: 900 24px/1 Manrope, sans-serif;
}
.weekly-product-price em {
  color: #6a7486;
  font-style: normal;
  font-size: 12px;
}
.weekly-product-info .product-buy-button {
  width: 100%;
  margin-top: 4px;
}
@media (max-width: 900px) {
  .weekly-products-heading {
    display: grid;
    align-items: start;
  }
  .weekly-products-grid {
    grid-template-columns: 1fr;
  }
  .weekly-product-card {
    grid-template-rows: 230px 1fr;
  }
}
/* Final top header matching the provided reference */
.giv-storefront .utility-bar,
.giv-storefront .giv-offer-bar {
  display: none !important;
}
.giv-storefront .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  display: grid !important;
  grid-template-columns: 180px minmax(320px, 1fr) auto !important;
  grid-template-areas:
    "brand search actions"
    "nav nav nav" !important;
  align-items: center !important;
  column-gap: 22px !important;
  row-gap: 0 !important;
  max-width: 1180px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 12px 0 0 !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}
.giv-storefront .topbar::before,
.giv-storefront .topbar::after {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  z-index: -1;
  background: #fff;
  pointer-events: none;
}
.giv-storefront .topbar::before {
  top: 0;
  height: 100px;
  border-bottom: 1px solid #eeeeee;
}
.giv-storefront .topbar::after {
  top: 99px;
  height: 45px;
  border-bottom: 1px solid #eeeeee;
}
.giv-storefront .brand.mouse-brand {
  grid-area: brand !important;
  justify-self: start !important;
  width: 164px !important;
  height: 76px !important;
  display: flex !important;
  align-items: center !important;
}
.giv-storefront .mouse-brand .brand-logo {
  max-width: 164px !important;
  max-height: 72px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.giv-storefront .main-product-search {
  grid-area: search !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 8px 0 20px !important;
  border: 1px solid #dedede !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.02) !important;
  color: #777 !important;
}
.giv-storefront .main-product-search .header-control-icon,
.giv-storefront .main-product-search strong {
  display: none !important;
}
.top-search-placeholder {
  color: #8b8b8b;
  font: 500 13px DM Sans, sans-serif;
}
.top-search-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f2f2f2;
  position: relative;
  flex: 0 0 auto;
}
.top-search-icon::before {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  left: 9px;
  top: 8px;
  border: 3px solid #555;
  border-radius: 50%;
}
.top-search-icon::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 3px;
  left: 20px;
  top: 21px;
  border-radius: 4px;
  background: #555;
  transform: rotate(45deg);
}
.giv-storefront .header-actions {
  grid-area: actions !important;
  display: flex !important;
  align-items: center !important;
  justify-self: end !important;
  gap: 10px !important;
}
.top-account-pill {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  border: 1px solid #e0e0e0;
  border-radius: 24px;
  color: #1f2937;
  text-decoration: none;
  font: 700 12px/1.12 DM Sans, sans-serif;
  background: #fff;
  white-space: nowrap;
}
.top-account-icon {
  width: 18px;
  height: 18px;
  border: 2px solid #111;
  border-radius: 50%;
  position: relative;
}
.top-account-icon::after {
  content: "";
  position: absolute;
  left: -6px;
  right: -6px;
  bottom: -11px;
  height: 13px;
  border: 2px solid #111;
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
}
.top-icon-button {
  position: relative;
  width: 27px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
}
.top-whatsapp-button::before {
  content: "";
  width: 19px;
  height: 19px;
  border: 1.8px solid #111;
  border-radius: 50%;
}
.top-whatsapp-button::after {
  content: "";
  position: absolute;
  left: 6px;
  bottom: 9px;
  width: 7px;
  height: 7px;
  border-left: 1.8px solid #111;
  border-bottom: 1.8px solid #111;
  transform: rotate(-22deg);
  background: #fff;
}
.top-alert-button::before {
  content: "";
  width: 18px;
  height: 20px;
  border: 1.8px solid #111;
  border-radius: 12px 12px 8px 8px;
  border-bottom-width: 2px;
}
.top-alert-button span,
.cart-toggle .cart-count {
  position: absolute;
  top: 4px;
  right: 0;
  min-width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #d70000 !important;
  color: #fff !important;
  display: grid;
  place-items: center;
  font: 800 10px/1 DM Sans, sans-serif;
}
.cart-toggle::before {
  content: "";
  width: 20px;
  height: 14px;
  border: 1.8px solid #111;
  border-top: 0;
  transform: skewX(-8deg);
}
.cart-toggle::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 8px;
  width: 18px;
  height: 4px;
  border-radius: 999px;
  box-shadow: 0 0 0 2px transparent, 2px 0 0 #111, 15px 0 0 #111;
}
.giv-storefront .main-nav {
  grid-area: nav !important;
  justify-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  min-height: 44px !important;
  max-width: none !important;
  overflow-x: auto !important;
  padding: 0 36px !important;
  border-top: 1px solid #eeeeee !important;
  scrollbar-width: none;
}
.giv-storefront .main-nav::-webkit-scrollbar {
  display: none;
}
.giv-storefront .main-nav > .nav-link,
.giv-storefront .mega-menu > .nav-link,
.giv-storefront .managed-menu > .nav-link {
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #4a4a4a !important;
  font: 800 13px/1 DM Sans, sans-serif !important;
  text-decoration: none !important;
}
.giv-storefront .main-nav > .nav-link:first-child::after,
.giv-storefront .main-nav > .nav-link:nth-child(3)::after,
.giv-storefront .main-nav > .nav-link:nth-child(4)::after,
.giv-storefront .main-nav > .nav-link:nth-child(5)::after,
.giv-storefront .main-nav > .nav-link:nth-child(7)::after,
.giv-storefront .main-nav > .nav-link:nth-child(8)::after {
  content: "⌄";
  margin-left: 5px;
  color: #8a8a8a;
  font-size: 13px;
}
.giv-storefront .main-nav > .nav-link:nth-child(2) {
  min-width: 112px;
  justify-content: center;
  border-radius: 8px 8px 0 0 !important;
  background: linear-gradient(180deg, #b000d7, #8100c8) !important;
  color: #fff !important;
}
.giv-storefront .main-nav > .nav-link:nth-last-child(-n + 2) {
  color: #333 !important;
  font-weight: 900 !important;
}
@media (max-width: 980px) {
  .giv-storefront .topbar {
    grid-template-columns: 150px 1fr auto !important;
    padding: 10px 12px 0 !important;
  }
  .top-account-pill span:not(.top-account-icon) {
    display: none;
  }
  .top-account-pill {
    width: 42px;
    padding: 0;
    justify-content: center;
  }
}
@media (max-width: 680px) {
  .giv-storefront .topbar {
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
      "brand actions"
      "search search"
      "nav nav" !important;
    gap: 8px !important;
  }
  .giv-storefront .brand.mouse-brand {
    width: 145px !important;
    height: 58px !important;
  }
  .giv-storefront .main-product-search {
    height: 40px !important;
  }
  .giv-storefront .main-nav {
    padding: 0 8px !important;
  }
}
/* Final centered slide format matching the provided reference */
.giv-storefront .giv-home-hero {
  position: relative !important;
  width: min(1140px, calc(100vw - 96px)) !important;
  max-width: 1140px !important;
  margin: 0 auto 34px !important;
  padding: 0 !important;
}
.giv-storefront .giv-hero-carousel {
  position: relative !important;
  width: 100% !important;
  height: clamp(260px, 17vw, 320px) !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.giv-storefront .giv-hero-carousel .giv-banner,
.giv-storefront .giv-hero-carousel .giv-banner:first-child {
  display: none !important;
}
.giv-storefront .giv-hero-carousel .giv-banner-image-only.active {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: #707070 !important;
  isolation: isolate !important;
}
.giv-storefront .giv-hero-carousel .giv-banner-image-only img,
.giv-storefront .giv-hero-carousel .giv-banner-image-only.active img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  transition: opacity .25s ease !important;
}
.giv-storefront .giv-banner-shade,
.giv-storefront .giv-banner-copy,
.giv-storefront .giv-slide-count {
  display: none !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 5 !important;
  width: 36px !important;
  height: 56px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111 !important;
  font: 400 25px/1 Arial, sans-serif !important;
  transform: translateY(-50%) !important;
  opacity: 1 !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-nav.prev {
  left: clamp(-240px, calc((1140px - 100vw) / 2 + 36px), -48px) !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-nav.next {
  right: clamp(-240px, calc((1140px - 100vw) / 2 + 36px), -48px) !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-nav:hover {
  background: transparent !important;
  color: #000 !important;
  transform: translateY(-50%) scale(1.08) !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-dots {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 20px !important;
  z-index: 6 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  transform: translateX(-50%) !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-dots button {
  width: 31px !important;
  height: 3px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .62) !important;
  opacity: 1 !important;
  padding: 0 !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-dots button.active {
  width: 31px !important;
  background: #ffffff !important;
  transform: none !important;
}
@media (max-width: 900px) {
  .giv-storefront .giv-home-hero {
    width: calc(100vw - 28px) !important;
    margin-bottom: 24px !important;
  }
  .giv-storefront .giv-hero-carousel {
    height: clamp(190px, 30vw, 260px) !important;
  }
  .giv-storefront .giv-hero-carousel .giv-hero-nav.prev {
    left: 8px !important;
    color: #fff !important;
    text-shadow: 0 1px 4px rgba(0,0,0,.45);
  }
  .giv-storefront .giv-hero-carousel .giv-hero-nav.next {
    right: 8px !important;
    color: #fff !important;
    text-shadow: 0 1px 4px rgba(0,0,0,.45);
  }
}
/* Remove left vertical catalog menu by request */
.giv-storefront .catalog-category-rail,
.giv-storefront .legacy-catalog-menu {
  display: none !important;
}
.giv-storefront .catalog-workspace {
  display: block !important;
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.giv-storefront .catalog-main-panel {
  width: 100% !important;
  min-width: 0 !important;
}
/* GIV-like home cleanup: slide followed by best sellers only */
.giv-storefront .home-categories {
  display: none !important;
}
/* Protected by request: keep these sections visible */
.giv-storefront #promo.weekly-products-section,
.giv-storefront .client-showcase {
  display: block !important;
}
.giv-storefront .bestsellers {
  display: block !important;
  max-width: 1180px !important;
  margin: 26px auto 34px !important;
  padding: 0 0 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.giv-storefront .bestsellers[hidden] {
  display: block !important;
}
.giv-storefront .bestsellers .mini-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px;
}
.giv-storefront .bestsellers .eyebrow {
  display: none !important;
}
.giv-storefront .bestsellers h2 {
  margin: 0;
  color: #333;
  font: 900 26px/1.1 Manrope, sans-serif;
}
.giv-storefront .bestsellers p {
  margin: 0;
  color: #727272;
  font-size: 13px;
}
.home-best-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.home-best-card {
  display: grid;
  grid-template-rows: 178px 1fr;
  overflow: hidden;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.home-best-card:hover {
  transform: translateY(-3px);
  border-color: #d4d4d4;
  box-shadow: 0 18px 32px rgba(0,0,0,.08);
}
.home-best-media {
  position: relative;
  background: #f4f4f4;
}
.home-best-media span {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  border-radius: 999px;
  background: #ff8a00;
  color: #fff;
  padding: 6px 9px;
  font: 900 10px/1 DM Sans, sans-serif;
  text-transform: uppercase;
}
.home-best-media img,
.home-best-media .product-visual {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 0;
}
.home-best-info {
  display: grid;
  gap: 7px;
  align-content: start;
  padding: 14px;
}
.home-best-info small {
  color: #777;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 10px;
}
.home-best-info h3 {
  margin: 0;
  color: #333;
  font: 900 17px/1.16 Manrope, sans-serif;
}
.home-best-info p {
  min-height: 38px;
  color: #666;
  font-size: 12px;
  line-height: 1.42;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-best-rating {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #777;
  font-size: 12px;
}
.home-best-rating strong {
  color: #009b53;
  font-weight: 900;
}
@media (max-width: 980px) {
  .home-best-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  .home-best-grid {
    grid-template-columns: 1fr !important;
  }
}
/* Clean home layout: header, menu and slide in the same formation as the reference, without app download. */
.giv-storefront {
  background: #fff !important;
}
.giv-storefront .app-shell {
  background: #fff !important;
  overflow-x: hidden !important;
}
.giv-storefront .utility-bar,
.giv-storefront .giv-offer-bar,
.giv-storefront .hero,
.giv-storefront .trust-strip,
.giv-storefront .home-categories,
.giv-storefront .catalog-category-rail,
.giv-storefront .legacy-catalog-menu {
  display: none !important;
}
.giv-storefront .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  display: grid !important;
  grid-template-columns: 166px minmax(420px, 1fr) auto !important;
  grid-template-areas:
    "brand search actions"
    "nav nav nav" !important;
  align-items: center !important;
  column-gap: 22px !important;
  row-gap: 0 !important;
  width: min(1180px, calc(100vw - 96px)) !important;
  max-width: 1180px !important;
  min-height: 142px !important;
  margin: 0 auto !important;
  padding: 13px 0 0 !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
.giv-storefront .topbar::before,
.giv-storefront .topbar::after {
  content: "" !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  z-index: -1 !important;
  background: #fff !important;
  pointer-events: none !important;
}
.giv-storefront .topbar::before {
  top: 0 !important;
  height: 99px !important;
  border-bottom: 1px solid #ededed !important;
}
.giv-storefront .topbar::after {
  top: 99px !important;
  height: 43px !important;
  border-bottom: 1px solid #f1f1f1 !important;
}
.giv-storefront .brand.mouse-brand {
  grid-area: brand !important;
  justify-self: start !important;
  width: 166px !important;
  height: 86px !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}
.giv-storefront .mouse-brand .brand-logo {
  display: block !important;
  width: auto !important;
  max-width: 166px !important;
  max-height: 76px !important;
  object-fit: contain !important;
}
.giv-storefront .main-product-search {
  grid-area: search !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  height: 43px !important;
  min-height: 43px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 0 8px 0 21px !important;
  border: 1px solid #dedede !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.02) !important;
  color: #777 !important;
}
.giv-storefront .main-product-search .header-control-icon,
.giv-storefront .main-product-search strong {
  display: none !important;
}
.giv-storefront .top-search-placeholder {
  color: #8b8b8b !important;
  font: 500 13px/1 DM Sans, sans-serif !important;
}
.giv-storefront .top-search-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #f2f2f2 !important;
  position: relative !important;
  flex: 0 0 auto !important;
}
.giv-storefront .header-actions {
  grid-area: actions !important;
  display: flex !important;
  align-items: center !important;
  justify-self: end !important;
  gap: 12px !important;
  min-width: max-content !important;
}
.giv-storefront .top-account-pill {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 0 14px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #1f2937 !important;
  text-decoration: none !important;
  font: 700 12px/1.12 DM Sans, sans-serif !important;
  white-space: nowrap !important;
}
.giv-storefront .top-icon-button {
  position: relative !important;
  width: 27px !important;
  height: 42px !important;
  min-width: 27px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
}
.giv-storefront .main-nav {
  grid-area: nav !important;
  justify-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 43px !important;
  margin: 0 !important;
  padding: 0 31px !important;
  border-top: 1px solid #ededed !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.giv-storefront .main-nav::-webkit-scrollbar { display: none !important; }
.giv-storefront .main-nav > .nav-link,
.giv-storefront .mega-menu > .nav-link,
.giv-storefront .managed-menu > .nav-link {
  height: 43px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #4a4a4a !important;
  font: 800 13px/1 DM Sans, sans-serif !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.giv-storefront .main-nav > .nav-link:nth-child(2) {
  min-width: 116px !important;
  justify-content: center !important;
  border-radius: 8px 8px 0 0 !important;
  background: linear-gradient(180deg, #b000d7, #8100c8) !important;
  color: #fff !important;
}
.giv-storefront .main-nav > .nav-link:nth-last-child(-n + 2) {
  color: #333 !important;
  font-weight: 900 !important;
}
.giv-storefront #storeView {
  display: block !important;
  padding-top: 0 !important;
}
.giv-storefront .giv-home-hero {
  position: relative !important;
  display: block !important;
  width: 1140px !important;
  max-width: calc(100vw - 96px) !important;
  margin: 0 auto 34px !important;
  padding: 0 !important;
}
.giv-storefront .giv-hero-carousel {
  position: relative !important;
  width: 100% !important;
  height: 320px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.giv-storefront .giv-hero-carousel .giv-banner,
.giv-storefront .giv-hero-carousel .giv-banner:first-child {
  display: none !important;
}
.giv-storefront .giv-hero-carousel .giv-banner-image-only.active {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #f4f8fb !important;
  isolation: isolate !important;
}
.giv-storefront .giv-hero-carousel .giv-banner-image-only img,
.giv-storefront .giv-hero-carousel .giv-banner-image-only.active img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: fill !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
}
.giv-storefront .giv-banner-shade,
.giv-storefront .giv-banner-copy,
.giv-storefront .giv-slide-count {
  display: none !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 5 !important;
  width: 34px !important;
  height: 56px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111 !important;
  font: 400 24px/1 Arial, sans-serif !important;
  transform: translateY(-50%) !important;
  opacity: 1 !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-nav.prev { left: clamp(-236px, -13vw, -54px) !important; }
.giv-storefront .giv-hero-carousel .giv-hero-nav.next { right: clamp(-236px, -13vw, -54px) !important; }
.giv-storefront .giv-hero-carousel .giv-hero-dots {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 22px !important;
  z-index: 6 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 9px !important;
  transform: translateX(-50%) !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-dots button,
.giv-storefront .giv-hero-carousel .giv-hero-dots button.active {
  width: 31px !important;
  height: 3px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.72) !important;
  opacity: 1 !important;
  padding: 0 !important;
  transform: none !important;
}
.giv-storefront .giv-hero-carousel .giv-hero-dots button.active { background: #fff !important; }
.giv-storefront #promo.weekly-products-section,
.giv-storefront .client-showcase,
.giv-storefront #siteFooter {
  display: block !important;
}
@media (max-width: 980px) {
  .giv-storefront .topbar {
    grid-template-columns: 150px 1fr auto !important;
    width: calc(100vw - 28px) !important;
  }
  .giv-storefront .giv-home-hero {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }
  .giv-storefront .giv-hero-carousel {
    height: clamp(190px, 28vw, 260px) !important;
  }
  .giv-storefront .giv-hero-carousel .giv-hero-nav.prev { left: 8px !important; color: #fff !important; text-shadow: 0 1px 4px rgba(0,0,0,.45) !important; }
  .giv-storefront .giv-hero-carousel .giv-hero-nav.next { right: 8px !important; color: #fff !important; text-shadow: 0 1px 4px rgba(0,0,0,.45) !important; }
}
@media (max-width: 680px) {
  .giv-storefront .topbar {
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
      "brand actions"
      "search search"
      "nav nav" !important;
    min-height: auto !important;
    padding: 10px 0 0 !important;
  }
  .giv-storefront .brand.mouse-brand {
    width: 145px !important;
    height: 58px !important;
  }
  .giv-storefront .main-product-search {
    height: 40px !important;
    min-height: 40px !important;
  }
  .giv-storefront .main-nav {
    padding: 0 8px !important;
  }
}
/* Header lock: exact reference formation, no app-download slot. */
.giv-storefront .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  width: min(1180px, calc(100vw - 96px)) !important;
  max-width: 1180px !important;
  min-height: 142px !important;
  margin: 0 auto !important;
  padding: 13px 0 0 !important;
  display: grid !important;
  grid-template-columns: 166px minmax(0, 1fr) 315px !important;
  grid-template-rows: 86px 43px !important;
  grid-template-areas:
    "brand search actions"
    "nav nav nav" !important;
  align-items: center !important;
  column-gap: 22px !important;
  row-gap: 0 !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
.giv-storefront .topbar::before,
.giv-storefront .topbar::after {
  content: "" !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  z-index: -1 !important;
  background: #fff !important;
  pointer-events: none !important;
}
.giv-storefront .topbar::before {
  top: 0 !important;
  height: 99px !important;
  border-bottom: 1px solid #ededed !important;
}
.giv-storefront .topbar::after {
  top: 99px !important;
  height: 43px !important;
  border-bottom: 1px solid #f1f1f1 !important;
}
.giv-storefront .brand.mouse-brand {
  grid-area: brand !important;
  width: 166px !important;
  height: 86px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.giv-storefront .mouse-brand .brand-logo {
  width: auto !important;
  max-width: 166px !important;
  max-height: 76px !important;
  display: block !important;
  object-fit: contain !important;
}
.giv-storefront .main-product-search {
  grid-area: search !important;
  width: 100% !important;
  height: 43px !important;
  min-height: 43px !important;
  margin: 0 !important;
  padding: 0 8px 0 21px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border: 1px solid #dedede !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.02) !important;
}
.giv-storefront .header-actions {
  grid-area: actions !important;
  width: 315px !important;
  min-width: 315px !important;
  height: 86px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin: 0 !important;
}
.giv-storefront .header-actions::before,
.giv-storefront .header-actions::after {
  content: none !important;
  display: none !important;
}
.giv-storefront .top-account-pill {
  width: 126px !important;
  min-width: 126px !important;
  height: 43px !important;
  min-height: 43px !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #1f2937 !important;
  text-decoration: none !important;
  font: 700 12px/1.12 DM Sans, sans-serif !important;
  white-space: nowrap !important;
}
.giv-storefront .top-icon-button {
  width: 27px !important;
  min-width: 27px !important;
  height: 43px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.giv-storefront .main-nav {
  grid-area: nav !important;
  width: 100% !important;
  height: 43px !important;
  min-height: 43px !important;
  margin: 0 !important;
  padding: 0 31px !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  overflow-x: auto !important;
  border-top: 1px solid #ededed !important;
  background: #fff !important;
  scrollbar-width: none !important;
}
.giv-storefront .main-nav > .nav-link,
.giv-storefront .mega-menu > .nav-link,
.giv-storefront .managed-menu > .nav-link {
  height: 43px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #4a4a4a !important;
  font: 800 13px/1 DM Sans, sans-serif !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.giv-storefront .main-nav > .nav-link:nth-child(2) {
  min-width: 116px !important;
  justify-content: center !important;
  border-radius: 8px 8px 0 0 !important;
  background: linear-gradient(180deg, #b000d7, #8100c8) !important;
  color: #fff !important;
}
.giv-storefront .giv-home-hero {
  margin-top: 0 !important;
}
@media (max-width: 980px) {
  .giv-storefront .topbar {
    width: calc(100vw - 28px) !important;
    grid-template-columns: 150px minmax(0, 1fr) auto !important;
  }
  .giv-storefront .header-actions {
    width: auto !important;
    min-width: 0 !important;
  }
}
@media (max-width: 680px) {
  .giv-storefront .topbar {
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
      "brand actions"
      "search search"
      "nav nav" !important;
    min-height: auto !important;
    gap: 8px !important;
  }
  .giv-storefront .main-nav { padding: 0 8px !important; }
}
/* Current header menu using the original catalog information. */
.giv-storefront .main-nav .mega-menu {
  position: relative !important;
  flex: 0 0 auto !important;
  height: 43px !important;
  display: inline-flex !important;
  align-items: center !important;
}
.giv-storefront .main-nav .mega-trigger.nav-link {
  height: 43px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #4a4a4a !important;
  font: 800 13px/1 DM Sans, sans-serif !important;
  white-space: nowrap !important;
}
.giv-storefront .main-nav .mega-trigger.nav-link::after,
.giv-storefront .main-nav > .nav-link:first-child::after,
.giv-storefront .main-nav > .nav-link:nth-child(3)::after,
.giv-storefront .main-nav > .nav-link:nth-child(4)::after,
.giv-storefront .main-nav > .nav-link:nth-child(5)::after,
.giv-storefront .main-nav > .nav-link:nth-child(7)::after,
.giv-storefront .main-nav > .nav-link:nth-child(8)::after {
  content: "⌄" !important;
  margin-left: 5px !important;
  color: #8a8a8a !important;
  font-size: 13px !important;
}
.giv-storefront .main-nav > .nav-link:first-child::after,
.giv-storefront .main-nav > .nav-link:last-child::after {
  content: none !important;
}
.giv-storefront .main-nav .mega-menu:nth-child(2) .mega-trigger.nav-link {
  min-width: 116px !important;
  justify-content: center !important;
  border-radius: 8px 8px 0 0 !important;
  background: linear-gradient(180deg, #b000d7, #8100c8) !important;
  color: #fff !important;
}
.giv-storefront .main-nav .mega-menu:nth-child(2) .mega-trigger.nav-link::after {
  color: #fff !important;
}
.giv-storefront .main-nav .mega-panel.managed-menu-panel {
  position: absolute !important;
  top: 43px !important;
  left: 0 !important;
  right: auto !important;
  z-index: 120 !important;
  min-width: 230px !important;
  max-width: 320px !important;
  display: none !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding: 8px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 0 0 8px 8px !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .12) !important;
}
.giv-storefront .main-nav .mega-panel.managed-menu-panel.open {
  display: grid !important;
}
.giv-storefront .main-nav .managed-sub-link {
  width: 100% !important;
  min-height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #353535 !important;
  font: 700 13px/1.2 DM Sans, sans-serif !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.giv-storefront .main-nav .managed-sub-link:hover {
  background: #f5f5f5 !important;
  color: #8500c8 !important;
}
.giv-storefront .main-nav .mega-menu:nth-last-child(-n + 1) .mega-trigger.nav-link,
.giv-storefront .main-nav > .nav-link:last-child {
  color: #333 !important;
  font-weight: 900 !important;
}
/* Header actions correction matching the provided reference. */
.giv-storefront .header-actions {
  width: 278px !important;
  min-width: 278px !important;
  gap: 18px !important;
  justify-content: flex-end !important;
}
.giv-storefront .top-account-pill {
  width: 126px !important;
  min-width: 126px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 13px !important;
  gap: 9px !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
  font: 700 12px/1.08 DM Sans, sans-serif !important;
}
.giv-storefront .top-account-icon {
  width: 15px !important;
  height: 15px !important;
  border: 1.8px solid #111 !important;
  border-radius: 50% !important;
  position: relative !important;
  flex: 0 0 auto !important;
}
.giv-storefront .top-account-icon::after {
  content: "" !important;
  position: absolute !important;
  left: -6px !important;
  right: -6px !important;
  bottom: -12px !important;
  height: 11px !important;
  border: 1.8px solid #111 !important;
  border-bottom: 0 !important;
  border-radius: 13px 13px 0 0 !important;
  background: transparent !important;
}
.giv-storefront .top-icon-button {
  width: 24px !important;
  min-width: 24px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111 !important;
  overflow: visible !important;
}
.giv-storefront .top-whatsapp-button::before {
  content: "" !important;
  width: 18px !important;
  height: 18px !important;
  border: 1.6px solid #111 !important;
  border-radius: 50% !important;
  background: transparent !important;
}
.giv-storefront .top-whatsapp-button::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  bottom: 9px !important;
  width: 7px !important;
  height: 7px !important;
  border-left: 1.6px solid #111 !important;
  border-bottom: 1.6px solid #111 !important;
  transform: rotate(-28deg) !important;
  background: #fff !important;
}
.giv-storefront .top-alert-button::before {
  content: "" !important;
  width: 17px !important;
  height: 19px !important;
  border: 1.7px solid #111 !important;
  border-radius: 11px 11px 7px 7px !important;
  border-bottom-width: 2px !important;
  background: transparent !important;
}
.giv-storefront .top-alert-button::after {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  bottom: 8px !important;
  width: 5px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #111 !important;
}
.giv-storefront .top-alert-button span {
  position: absolute !important;
  top: 5px !important;
  right: -2px !important;
  min-width: 14px !important;
  height: 14px !important;
  padding: 0 3px !important;
  border-radius: 999px !important;
  background: #d50000 !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font: 900 9px/1 DM Sans, sans-serif !important;
}
.giv-storefront .cart-toggle .cart-count {
  display: none !important;
}
.giv-storefront .cart-toggle::before {
  content: "" !important;
  position: absolute !important;
  left: 3px !important;
  top: 14px !important;
  width: 17px !important;
  height: 11px !important;
  border: 1.7px solid #111 !important;
  border-top: 0 !important;
  border-radius: 0 0 2px 2px !important;
  transform: skewX(-8deg) !important;
  background: transparent !important;
}
.giv-storefront .cart-toggle::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  bottom: 9px !important;
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: #111 !important;
  box-shadow: 13px 0 0 #111 !important;
}
@media (max-width: 980px) {
  .giv-storefront .header-actions {
    width: auto !important;
    min-width: 0 !important;
  }
}
/* Barra superior reservada, sem texto promocional. */
.giv-storefront .utility-bar.giv-offer-bar {
  position: relative !important;
  z-index: 110 !important;
  width: 100vw !important;
  height: 38px !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  border: 0 !important;
  background: #2f6fba !important; color: #fff !important;
  box-shadow: none !important;
  font: 700 14px/1 DM Sans, sans-serif !important;
}
.giv-storefront .utility-bar.giv-offer-bar button { all: unset !important; cursor: pointer !important; }
.giv-storefront .utility-bar.giv-offer-bar strong { font-weight: 900 !important; }
.giv-storefront .giv-offer-gift { color: #8e00c9 !important; font-size: 17px !important; line-height: 1 !important; }
.giv-storefront .giv-coupon-pill {
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #eac0f3 !important;
  color: #111 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}
.giv-storefront .giv-coupon-pill b {
  display: inline-flex !important;
  align-items: center !important;
  height: 16px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  background: #8d00c7 !important;
  color: #fff !important;
  font-size: 9px !important;
}
.giv-storefront .topbar {
  top: 0 !important;
  width: min(1180px, calc(100vw - 96px)) !important;
  min-height: 144px !important;
  grid-template-columns: 166px minmax(0, 1fr) 334px !important;
  grid-template-rows: 99px 45px !important;
  padding: 0 !important;
  overflow: visible !important;
}
.giv-storefront .topbar::before { top: 38px !important; height: 99px !important; border-bottom: 1px solid #ededed !important; }
.giv-storefront .topbar::after { top: 137px !important; height: 45px !important; border-bottom: 1px solid #f1f1f1 !important; }
.giv-storefront .brand.mouse-brand { height: 99px !important; }
.giv-storefront .mouse-brand .brand-logo { max-width: 166px !important; max-height: 76px !important; }
.giv-storefront .main-product-search { height: 43px !important; min-height: 43px !important; }
.giv-storefront .header-actions { width: 334px !important; min-width: 334px !important; height: 99px !important; gap: 14px !important; }
.giv-storefront .main-nav {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 37px !important;
  overflow: visible !important;
  border-top: 1px solid #ededed !important;
  background: #fff !important;
}
.giv-storefront .main-nav > .nav-link,
.giv-storefront .main-nav .mega-trigger.nav-link,
.giv-storefront .mega-menu > .nav-link,
.giv-storefront .managed-menu > .nav-link {
  height: 45px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #4a4a4a !important;
  font: 800 13px/1 DM Sans, sans-serif !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.giv-storefront .main-nav > .nav-link:first-child::after,
.giv-storefront .main-nav > .nav-link:nth-child(3)::after,
.giv-storefront .main-nav > .nav-link:nth-child(4)::after,
.giv-storefront .main-nav > .nav-link:nth-child(5)::after,
.giv-storefront .main-nav > .nav-link:nth-child(7)::after,
.giv-storefront .main-nav > .nav-link:nth-child(8)::after { content: "⌄" !important; margin-left: 5px !important; color: #8a8a8a !important; font-size: 13px !important; }
.giv-storefront .main-nav > .nav-link:nth-child(2) { min-width: 116px !important; justify-content: center !important; border-radius: 8px 8px 0 0 !important; background: linear-gradient(180deg, #b000d7, #8100c8) !important; color: #fff !important; }
.giv-storefront .main-nav > .nav-link:nth-last-child(-n + 2) { color: #333 !important; font-weight: 900 !important; }
.giv-storefront .giv-home-hero { margin-top: 0 !important; }
@media (max-width: 980px) {
  .giv-storefront .topbar { width: calc(100vw - 28px) !important; grid-template-columns: 150px minmax(0, 1fr) auto !important; }
  .giv-storefront .header-actions { width: auto !important; min-width: 0 !important; }
  .giv-storefront .top-app-download { display: none !important; }
  .giv-storefront .main-nav { overflow-x: auto !important; padding: 0 8px !important; }
}
/* Home product rows: three rectangular cards aligned to the main slide. */
.giv-storefront #promo.weekly-products-section,
.giv-storefront .weekly-products-section {
  width: 1140px !important;
  max-width: calc(100vw - 96px) !important;
  margin: 30px auto 0 !important;
  padding: 28px 0 30px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.giv-storefront .weekly-products-heading {
  margin: 0 0 18px !important;
  padding: 0 !important;
}
.giv-storefront .weekly-products-heading h2 {
  font-size: 31px !important;
  line-height: 1.08 !important;
}
.giv-storefront .weekly-products-heading p {
  font-size: 15px !important;
  line-height: 1.45 !important;
}
.giv-storefront .weekly-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
}
.giv-storefront .weekly-product-card {
  min-height: 254px !important;
  display: grid !important;
  grid-template-columns: 43% 57% !important;
  grid-template-rows: 1fr !important;
  overflow: hidden !important;
  border: 1px solid #e2e5ea !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .07) !important;
}
.giv-storefront .weekly-product-media {
  min-height: 254px !important;
  background: #f2f5f8 !important;
}
.giv-storefront .weekly-product-media span {
  left: 12px !important;
  top: 12px !important;
  padding: 7px 10px !important;
  font-size: 11px !important;
}
.giv-storefront .weekly-product-media img,
.giv-storefront .weekly-product-media .product-visual {
  object-fit: cover !important;
}
.giv-storefront .weekly-product-info {
  padding: 18px 18px 16px !important;
  gap: 10px !important;
  align-content: center !important;
}
.giv-storefront .weekly-product-info small {
  font-size: 12px !important;
  line-height: 1.1 !important;
}
.giv-storefront .weekly-product-info h3 {
  font-size: 22px !important;
  line-height: 1.08 !important;
}
.giv-storefront .weekly-product-info p {
  min-height: 52px !important;
  font-size: 15px !important;
  line-height: 1.38 !important;
}
.giv-storefront .weekly-product-price s {
  font-size: 14px !important;
}
.giv-storefront .weekly-product-price strong {
  font-size: 29px !important;
  line-height: 1 !important;
}
.giv-storefront .weekly-product-price em {
  font-size: 13px !important;
}
.giv-storefront .weekly-product-info .product-buy-button {
  min-height: 42px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}
.giv-storefront .bestsellers {
  width: 1140px !important;
  max-width: calc(100vw - 96px) !important;
}
.giv-storefront .home-best-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.giv-storefront .home-best-card {
  grid-template-rows: 210px 1fr !important;
}
.giv-storefront .home-best-info h3 {
  font-size: 20px !important;
}
.giv-storefront .home-best-info p {
  font-size: 14px !important;
  line-height: 1.4 !important;
}
.giv-storefront .home-best-info small,
.giv-storefront .home-best-rating {
  font-size: 12px !important;
}
@media (max-width: 980px) {
  .giv-storefront #promo.weekly-products-section,
  .giv-storefront .weekly-products-section,
  .giv-storefront .bestsellers {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }
  .giv-storefront .weekly-products-grid,
  .giv-storefront .home-best-grid {
    grid-template-columns: 1fr !important;
  }
  .giv-storefront .weekly-product-card {
    grid-template-columns: 40% 60% !important;
  }
}
@media (max-width: 560px) {
  .giv-storefront .weekly-product-card {
    grid-template-columns: 1fr !important;
    grid-template-rows: 220px 1fr !important;
  }
  .giv-storefront .weekly-product-media {
    min-height: 220px !important;
  }
}
/* Managed e-commerce content */
.commemorative-campaign { margin: 28px auto; padding: 32px; border-radius: 24px; background: linear-gradient(135deg, var(--blue, #2563eb), #111827); color: #fff; text-align: center; }
.commemorative-campaign h2 { margin: 8px 0; color: #fff; }
.commemorative-campaign p { max-width: 680px; margin: 0 auto 18px; opacity: .9; }
.testimonials-section { padding: 48px 0; }
.testimonials-section > h2 { margin: 8px 0 24px; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.testimonial-card, .testimonial-empty { min-height: 170px; padding: 22px; border: 1px solid #e5e7eb; border-radius: 18px; background: #fff; box-shadow: 0 10px 25px rgba(15,23,42,.06); }
.testimonial-stars { color: #f59e0b; letter-spacing: 2px; }
.testimonial-card h3 { margin: 12px 0 8px; }
.testimonial-card p { color: #475569; line-height: 1.6; }
.testimonial-card footer { display: flex; flex-direction: column; gap: 3px; margin-top: 16px; color: #64748b; }
.managed-page { padding: 48px 0; min-height: 460px; }
.managed-page h1 { margin: 14px 0 24px; }
.managed-page-content { max-width: 860px; color: #334155; line-height: 1.8; white-space: normal; }
.store-popup { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(15,23,42,.62); opacity: 0; transition: opacity .2s ease; }
.store-popup.is-open { opacity: 1; }
.store-popup-card { position: relative; width: min(480px, 100%); padding: 32px; border-radius: 24px; background: #fff; box-shadow: 0 25px 80px rgba(15,23,42,.3); }
.store-popup-card h2 { margin: 12px 0; }
.store-popup-card p { color: #475569; line-height: 1.6; }
.store-popup-close { position: absolute; top: 10px; right: 14px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
@media (max-width: 800px) { .testimonials-grid { grid-template-columns: 1fr; } }
.footer-pages { display: flex; flex-wrap: wrap; gap: 12px 18px; justify-content: center; margin-top: 10px; }
.footer-pages a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.home-best-stock { color: #64748b; font-size: 12px; }
/* Editor do site: cores, banners e rodape administraveis */
.giv-storefront { background: var(--store-bg, var(--cream)); color: var(--store-text, var(--ink)); font-size: var(--store-base-font-size, 15px); font-weight: var(--store-body-weight, 400); }
.giv-storefront .utility-bar { background: var(--store-top-bg, #1e293b); color: var(--store-top-text, #fff); }
.giv-storefront .topbar { background: var(--store-header-bg, #fff); color: var(--store-header-text, #223047); }
.giv-storefront .topbar .main-nav a, .giv-storefront .topbar .main-nav button { color: var(--store-header-text, #223047); }
.giv-storefront.store-header-fixed .topbar { position: sticky; top: 0; z-index: 80; }
.giv-storefront .site-footer { background: var(--store-footer-bg, #152238); color: var(--store-footer-text, #dbe7f5); }
.giv-storefront .site-footer h3 { color: var(--store-footer-title, #fff); }
.giv-storefront .site-footer p, .giv-storefront .site-footer a, .giv-storefront .site-footer button, .giv-storefront .site-footer span { color: inherit; }
.giv-storefront .giv-banner-managed { position: relative; overflow: hidden; }
.giv-storefront .giv-banner-managed > picture, .giv-storefront .giv-banner-managed > picture img { display: block; width: 100%; height: 100%; object-fit: cover; }
.giv-storefront .giv-banner-copy { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 10px; max-width: 620px; padding: clamp(28px, 7vw, 88px); color: var(--banner-copy-color, #fff); background: linear-gradient(90deg, rgba(5,15,35,.78), rgba(5,15,35,.05)); }
.giv-storefront .giv-banner-copy.position-center { left: 50%; right: auto; transform: translateX(-50%); align-items: center; text-align: center; background: none; }
.giv-storefront .giv-banner-copy.position-right { left: auto; right: 0; align-items: flex-end; text-align: right; background: linear-gradient(270deg, rgba(5,15,35,.78), rgba(5,15,35,.05)); }
.giv-storefront .giv-banner-copy h1 { margin: 0; color: inherit; font-size: clamp(28px, 5vw, var(--store-title-size, 56px)); font-family: var(--store-heading-font, inherit); font-weight: var(--store-heading-weight, 800); }
.giv-storefront .giv-banner-copy p { max-width: 52ch; margin: 0; color: inherit; font-size: var(--store-text-size, 16px); line-height: 1.55; }
.giv-storefront .giv-banner-copy small { color: inherit; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.giv-storefront .giv-banner-cta { display: inline-flex; border: 0; border-radius: var(--store-button-radius, 8px); padding: 12px 20px; background: var(--banner-button-color, #1262e8); color: #fff; font-weight: 700; text-decoration: none; cursor: pointer; }
.giv-storefront .managed-footer-menu { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 12px 0 18px; }
.giv-storefront .managed-footer-menu .footer-link { color: inherit; text-decoration: none; }
.giv-storefront .managed-footer-menu button.footer-link { border: 0; background: transparent; padding: 0; cursor: pointer; }
@media (max-width: 700px) {
  .giv-storefront .giv-banner-copy, .giv-storefront .giv-banner-copy.position-right { left: 0; right: 0; bottom: 0; top: auto; transform: none; max-width: none; padding: 26px 22px; align-items: flex-start; text-align: left; background: linear-gradient(0deg, rgba(5,15,35,.86), transparent); }
  .giv-storefront .giv-banner-copy h1 { font-size: clamp(24px, 8vw, 38px); }
  .giv-storefront .giv-banner-copy p { font-size: 14px; }
}
/* Rodape administravel: quatro colunas, icones tocaveis e layout responsivo */
.giv-storefront .site-footer { --footer-bg:#071b36; --footer-title:#fff; --footer-text:#dbe7f5; --footer-icon-color:#79c9ff; --footer-icon-size:28px; --footer-font-size:14px; --footer-title-font-size:12px; --footer-column-gap:32px; --footer-section-gap:32px; background:var(--footer-bg)!important; color:var(--footer-text)!important; padding:clamp(44px,6vw,76px) clamp(20px,7vw,8vw) 0!important; overflow-x:clip; }
.giv-storefront .site-footer [hidden] { display:none!important; }
.giv-storefront .site-footer .footer-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:var(--footer-column-gap)!important; max-width:1280px; margin:0 auto; align-items:start; }
.giv-storefront .site-footer .footer-column { min-width:0; display:flex; flex-direction:column; }
.giv-storefront .site-footer h3 { margin:0 0 18px; color:var(--footer-title)!important; font-size:clamp(14px,1.2vw,17px)!important; line-height:1.2; letter-spacing:.04em; }
.giv-storefront .site-footer p,.giv-storefront .site-footer a,.giv-storefront .site-footer button,.giv-storefront .site-footer span,.giv-storefront .site-footer em { color:var(--footer-text)!important; font-size:var(--footer-font-size)!important; line-height:1.55; }
.giv-storefront .site-footer .footer-brand-link { display:flex; align-items:center; gap:12px; margin:0 0 18px; text-decoration:none; }
.giv-storefront .site-footer .footer-brand-logo { width:54px; height:54px; object-fit:contain; padding:4px; border-radius:14px; background:#fff; }
.giv-storefront .site-footer .footer-brand-link>span { color:var(--footer-title)!important; font:800 18px/1.1 Manrope,sans-serif!important; }
.giv-storefront .site-footer [data-footer-about] { margin:0; max-width:30ch; }
.giv-storefront .site-footer .footer-company-data,.giv-storefront .site-footer .footer-business-data { display:block; margin-top:14px; font-weight:700; }
.giv-storefront .site-footer .footer-contact-list { display:grid; gap:12px; }
.giv-storefront .site-footer .footer-info { display:grid!important; grid-template-columns:var(--footer-icon-size) minmax(0,1fr); align-items:start; gap:11px; width:100%; margin:0!important; text-decoration:none; }
.giv-storefront .site-footer .footer-info:hover,.giv-storefront .site-footer .footer-social-link:hover,.giv-storefront .site-footer .footer-link:hover,.giv-storefront .site-footer .footer-actions button:hover { color:var(--footer-title)!important; transform:translateY(-1px); }
.giv-storefront .site-footer .footer-icon,.giv-storefront .site-footer .footer-social-icon { width:var(--footer-icon-size); height:var(--footer-icon-size); min-width:var(--footer-icon-size); display:grid; place-items:center; color:var(--footer-icon-color)!important; transition:transform .2s ease,color .2s ease; }
.giv-storefront .site-footer .footer-info:hover .footer-icon,.giv-storefront .site-footer .footer-social-link:hover .footer-social-icon { transform:scale(1.08); color:var(--footer-title)!important; }
.giv-storefront .site-footer .footer-icon svg,.giv-storefront .site-footer .footer-social-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.giv-storefront .site-footer .footer-info strong { display:block; margin:0 0 2px; color:var(--footer-title)!important; font-size:11px!important; text-transform:uppercase; letter-spacing:.04em; }
.giv-storefront .site-footer .footer-info em { display:block; font-style:normal; overflow-wrap:anywhere; }
.giv-storefront .site-footer .managed-footer-menu { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin:0 0 18px; }
.giv-storefront .site-footer .managed-footer-menu .footer-link,.giv-storefront .site-footer .footer-actions button { display:block; padding:0; border:0; background:transparent; text-decoration:none; cursor:pointer; text-align:left; transition:color .2s ease,transform .2s ease; }
.giv-storefront .site-footer .footer-actions { display:grid; gap:8px; margin-top:auto; }
.giv-storefront .site-footer .footer-social { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 22px; }
.giv-storefront .site-footer .footer-social-link { display:flex!important; align-items:center; gap:10px; min-height:42px; padding:7px 8px; border:1px solid rgba(219,231,245,.2); border-radius:10px; text-decoration:none; transition:color .2s ease,transform .2s ease,border-color .2s ease; }
.giv-storefront .site-footer .footer-social-link:hover { border-color:var(--footer-icon-color); }
.giv-storefront .site-footer .footer-social-link>span:last-child { font-size:12px!important; }
.giv-storefront .site-footer .secure-purchase { margin-top:auto; padding:14px; border:1px dashed rgba(219,231,245,.45); border-radius:12px; }
.giv-storefront .site-footer .secure-purchase strong,.giv-storefront .site-footer .secure-purchase small { display:block; }
.giv-storefront .site-footer .secure-purchase small { margin-top:4px; font-size:11px!important; }
.giv-storefront .site-footer .footer-commercial { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:var(--footer-section-gap)!important; max-width:1280px; margin:42px auto 0!important; padding-top:28px; border-top:1px solid rgba(219,231,245,.18); }
.giv-storefront .site-footer .footer-commercial h3 { font-size:12px!important; }
.giv-storefront .site-footer .payment-badges,.giv-storefront .site-footer .delivery-badges,.giv-storefront .site-footer .security-badges { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.giv-storefront .site-footer .payment-logo,.giv-storefront .site-footer .delivery-logo { display:flex!important; align-items:center; justify-content:center; min-width:64px; min-height:42px; padding:6px 8px!important; border-radius:8px; background:#fff!important; color:#10243e!important; font-size:11px!important; font-weight:800; }
.giv-storefront .site-footer .payment-logo img,.giv-storefront .site-footer .delivery-logo img { display:block; width:auto; max-width:74px; height:30px; object-fit:contain; }
.giv-storefront .site-footer .security-badges { min-height:42px; }
.giv-storefront .site-footer .security-brand { display:flex; align-items:center; gap:8px; min-height:42px; padding:6px 8px; border-radius:8px; background:#fff; color:#17456d!important; }
.giv-storefront .site-footer .security-brand img { width:34px; height:30px; object-fit:contain; }
.giv-storefront .site-footer .security-brand strong { color:#17456d!important; font-size:11px!important; }
.giv-storefront .site-footer .safe-browsing-logo { width:142px; height:42px; object-fit:contain; padding:6px; border-radius:8px; background:#fff; }
.giv-storefront .site-footer .footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 22px; max-width:1280px; margin:30px auto 0; padding:18px 0 22px; border-top:1px solid rgba(219,231,245,.18); }
.giv-storefront .site-footer .footer-bottom>span { font-size:12px!important; }
@media (max-width:980px) { .giv-storefront .site-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
@media (max-width:640px) { .giv-storefront .site-footer { padding-left:20px!important; padding-right:20px!important; } .giv-storefront .site-footer .footer-grid,.giv-storefront .site-footer .footer-commercial { grid-template-columns:1fr!important; gap:28px!important; } .giv-storefront .site-footer .footer-social { grid-template-columns:repeat(2,minmax(0,1fr)); } .giv-storefront .site-footer .footer-info,.giv-storefront .site-footer .footer-social-link { min-height:46px; } .giv-storefront .site-footer .footer-bottom { align-items:flex-start; flex-direction:column; } }
/* MENU PRINCIPAL â€” CONTROLE FINAL */
.giv-storefront {
  --store-menu-bg: #ffffff;
  --store-menu-text: #172033;
  --store-menu-active: #0c5de8;
  --store-menu-accent: #f4c84f;
  --store-menu-size: 13px;
  --store-menu-gap: 8px;
  --store-menu-radius: 8px;
}
.giv-storefront .topbar {
  position: sticky !important;
  isolation: isolate;
  overflow: visible !important;
}
.giv-storefront .main-nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  width: 44px;
  height: 44px;
  padding: 8px;
  border: 1px solid #dbe2ec;
  border-radius: var(--store-menu-radius);
  background: var(--store-menu-bg);
  color: var(--store-menu-text);
  cursor: pointer;
  z-index: 3;
}
.giv-storefront .main-nav-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  transition: transform .18s ease, opacity .18s ease;
}
.giv-storefront .main-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.giv-storefront .main-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.giv-storefront .main-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.giv-storefront .main-nav {
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  gap: var(--store-menu-gap) !important;
  min-width: 0;
  max-width: 100%;
  overflow: visible !important;
  padding: 5px 0 !important;
  background: var(--store-menu-bg) !important;
  color: var(--store-menu-text) !important;
  border-top: 0 !important;
  scrollbar-width: none;
}
.giv-storefront .main-nav::-webkit-scrollbar { display: none; }
.giv-storefront .main-nav > .nav-link,
.giv-storefront .main-nav > .mega-menu > .mega-trigger,
.giv-storefront .main-nav .managed-sub-link {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  max-width: 100%;
  padding: 0 12px !important;
  border: 1px solid transparent !important;
  border-radius: var(--store-menu-radius) !important;
  background: transparent !important;
  color: var(--store-menu-text) !important;
  font: 700 var(--store-menu-size)/1.2 var(--store-body-font, 'DM Sans'), sans-serif !important;
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.giv-storefront .main-nav > .nav-link:hover,
.giv-storefront .main-nav > .nav-link:focus-visible,
.giv-storefront .main-nav > .mega-menu > .mega-trigger:hover,
.giv-storefront .main-nav > .mega-menu > .mega-trigger:focus-visible,
.giv-storefront .main-nav .managed-sub-link:hover,
.giv-storefront .main-nav .managed-sub-link:focus-visible {
  background: color-mix(in srgb, var(--store-menu-active) 9%, transparent) !important;
  border-color: color-mix(in srgb, var(--store-menu-active) 20%, transparent) !important;
  color: var(--store-menu-active) !important;
  outline: none;
}
.giv-storefront .main-nav > .nav-link.active,
.giv-storefront .main-nav > .mega-menu > .mega-trigger.active,
.giv-storefront .main-nav .managed-sub-link.active {
  background: color-mix(in srgb, var(--store-menu-active) 12%, transparent) !important;
  color: var(--store-menu-active) !important;
}
.giv-storefront .main-nav > .nav-link.is-highlighted,
.giv-storefront .main-nav > .mega-menu > .mega-trigger.is-highlighted {
  background: var(--store-menu-accent) !important;
  border-color: color-mix(in srgb, var(--store-menu-accent) 70%, #b88600) !important;
  color: #172033 !important;
  font-weight: 800 !important;
}
.giv-storefront .main-nav .menu-item-label { overflow: hidden; text-overflow: ellipsis; }
.giv-storefront .main-nav .menu-item-icon { display: inline-grid; flex: 0 0 auto; place-items: center; width: 17px; height: 17px; }
.giv-storefront .main-nav .menu-item-icon svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.giv-storefront .main-nav .menu-chevron { width: 7px; height: 7px; margin-left: 2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.giv-storefront .main-nav .mega-trigger[aria-expanded="true"] .menu-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.giv-storefront .main-nav .mega-menu { position: relative; display: block; min-width: 0; }
.giv-storefront .main-nav .mega-panel {
  display: none !important;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 120;
  grid-template-columns: minmax(190px, 1fr);
  gap: 3px;
  width: max-content;
  min-width: 230px;
  max-width: min(420px, calc(100vw - 24px));
  max-height: min(62vh, 520px);
  overflow: auto;
  padding: 8px;
  border: 1px solid #dbe2ec;
  border-radius: var(--store-menu-radius);
  background: var(--store-menu-bg);
  box-shadow: 0 18px 48px rgba(23, 32, 51, .18);
}
.giv-storefront .main-nav .mega-panel.open,
.giv-storefront .main-nav .mega-menu:hover > .mega-panel { display: grid !important; }
.giv-storefront .main-nav .mega-panel .mega-menu { width: 100%; }
.giv-storefront .main-nav .mega-panel .mega-panel { top: -8px; left: calc(100% + 5px); }
.giv-storefront .main-nav .mega-panel .managed-sub-link { justify-content: flex-start; width: 100%; min-height: 42px; text-align: left; }
.giv-storefront .main-nav .mega-panel .menu-hide-desktop,
.giv-storefront .main-nav .mega-panel .menu-hide-mobile { display: none !important; }
.giv-storefront .main-nav > .nav-link::after,
.giv-storefront .main-nav > .mega-menu > .nav-link::after,
.giv-storefront .main-nav > .mega-menu > .mega-trigger::after { content: none !important; display: none !important; }
.giv-storefront .main-nav .menu-hide-desktop { display: none !important; }
.giv-storefront .main-nav :where(a, button):focus-visible,
.giv-storefront .main-nav-toggle:focus-visible { outline: 3px solid color-mix(in srgb, var(--store-menu-active) 38%, transparent); outline-offset: 2px; }
@media (min-width: 761px) {
  .giv-storefront .topbar { grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) auto 44px !important; grid-template-rows: auto auto !important; row-gap: 6px !important; }
  .giv-storefront .brand { grid-column: 1 !important; grid-row: 1 !important; }
  .giv-storefront .main-product-search { grid-column: 2 !important; grid-row: 1 !important; }
  .giv-storefront .header-actions { grid-column: 3 !important; grid-row: 1 !important; }
  .giv-storefront .main-nav-toggle { display: none !important; grid-column: 4 !important; grid-row: 1 !important; }
  .giv-storefront .main-nav { grid-column: 1 / -1 !important; grid-row: 2 !important; justify-self: stretch !important; justify-content: center !important; }
  .giv-storefront .main-nav .menu-hide-mobile { display: inline-flex !important; }
}
@media (max-width: 760px) {
  body.menu-open { overflow: hidden !important; }
  .giv-storefront { overflow-x: hidden; }
  .giv-storefront .topbar { grid-template-columns: minmax(0, 1fr) auto !important; grid-template-rows: auto auto auto auto !important; grid-template-areas: "brand toggle" "search search" "actions actions" "nav nav" !important; gap: 8px !important; padding: 10px 12px !important; }
  .giv-storefront .brand { grid-area: brand !important; }
  .giv-storefront .main-product-search { grid-area: search !important; width: 100% !important; max-width: none !important; }
  .giv-storefront .header-actions { grid-area: actions !important; justify-self: end !important; min-width: 0; }
  .giv-storefront .main-nav-toggle { display: inline-flex !important; grid-area: toggle !important; justify-self: end !important; }
  .giv-storefront .main-nav { display: none !important; position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; z-index: 140 !important; align-items: stretch !important; justify-content: flex-start !important; flex-direction: column !important; gap: 3px !important; max-height: min(70vh, 560px) !important; overflow-y: auto !important; overflow-x: hidden !important; padding: 10px 12px 14px !important; border-top: 1px solid #dbe2ec !important; border-bottom: 1px solid #dbe2ec !important; box-shadow: 0 22px 48px rgba(23, 32, 51, .2) !important; visibility: hidden; opacity: 0; pointer-events: none; }
  .giv-storefront .main-nav.mobile-open { display: flex !important; visibility: visible; opacity: 1; pointer-events: auto; }
  .giv-storefront .main-nav > .nav-link,
  .giv-storefront .main-nav > .mega-menu > .mega-trigger { justify-content: flex-start !important; width: 100% !important; min-height: 48px !important; padding: 0 14px !important; white-space: normal !important; text-align: left; }
  .giv-storefront .main-nav .menu-hide-desktop { display: inline-flex !important; }
  .giv-storefront .main-nav .menu-hide-mobile { display: none !important; }
  .giv-storefront .main-nav .mega-menu { width: 100%; }
  .giv-storefront .main-nav .mega-panel,
  .giv-storefront .main-nav .mega-panel .mega-panel { position: static !important; display: none !important; width: 100% !important; min-width: 0 !important; max-width: none !important; max-height: none !important; overflow: visible !important; padding: 4px 0 4px 14px !important; border: 0 !important; border-left: 2px solid color-mix(in srgb, var(--store-menu-active) 26%, transparent) !important; border-radius: 0 !important; box-shadow: none !important; }
  .giv-storefront .main-nav .mega-panel.open { display: grid !important; }
  .giv-storefront .main-nav .mega-panel .managed-sub-link { min-height: 44px; }
  .giv-storefront .main-nav .mega-menu:hover > .mega-panel { display: none !important; }
  .giv-storefront .main-nav .mega-menu:hover > .mega-panel.open { display: grid !important; }
}
@media (prefers-reduced-motion: reduce) {
  .giv-storefront .main-nav-toggle span,
  .giv-storefront .main-nav :where(a, button),
  .giv-storefront .main-nav .menu-chevron { transition: none !important; }
}
/* CABEÃ‡ALHO â€” ÃCONES ATUALIZADOS */
.giv-storefront .top-app-download { display: none !important; }
.giv-storefront .header-actions {
  width: 298px !important;
  min-width: 298px !important;
  gap: 10px !important;
}
.giv-storefront .top-icon-button {
  position: relative !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #1f2937 !important;
  box-shadow: none !important;
  overflow: visible !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}
.giv-storefront .top-icon-button::before,
.giv-storefront .top-icon-button::after { content: none !important; }
.giv-storefront .top-icon-button:hover,
.giv-storefront .top-icon-button:focus-visible {
  background: #edf4fc !important;
  border-color: #cfe0f4 !important;
  color: #155ea8 !important;
  outline: none !important;
}
.giv-storefront .top-icon-button:hover { transform: translateY(-1px); }
.giv-storefront .top-icon-button:active { transform: translateY(0); }
.giv-storefront .top-icon-svg {
  display: block !important;
  width: 23px !important;
  height: 23px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.75 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  pointer-events: none !important;
}
.giv-storefront .top-alert-button span {
  position: absolute !important;
  top: 2px !important;
  right: -1px !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 4px !important;
  border-radius: 999px !important;
  background: #e11d48 !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font: 800 9px/1 DM Sans, sans-serif !important;
}
.giv-storefront .cart-toggle .cart-count { display: none !important; }
@media (max-width: 980px) {
  .giv-storefront .header-actions { width: auto !important; min-width: 0 !important; gap: 8px !important; }
  .giv-storefront .top-account-pill { width: 42px !important; min-width: 42px !important; padding: 0 !important; justify-content: center !important; }
  .giv-storefront .top-account-pill span:not(.top-account-icon) { display: none !important; }
}
/* VITRINE MAIS VENDIDOS â€” ACABAMENTO FINAL */
.giv-storefront .bestsellers {
  width: min(1180px, calc(100vw - 64px)) !important;
  max-width: none !important;
  margin: 34px auto 48px !important;
  padding: 30px 28px 32px !important;
  box-sizing: border-box !important;
  border: 1px solid #e3ebf5 !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #f7faff 0%, #ffffff 68%) !important;
  box-shadow: 0 18px 44px rgba(31, 67, 115, .08) !important;
}
.giv-storefront .bestsellers .mini-heading {
  align-items: end !important;
  margin: 0 0 24px !important;
  padding: 0 2px !important;
}
.giv-storefront .bestsellers .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 9px !important;
  color: #0c5de8 !important;
  font: 800 10px/1 DM Sans, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.giv-storefront .bestsellers .eyebrow i {
  display: inline-block !important;
  width: 24px !important;
  height: 2px !important;
  border-radius: 99px !important;
  background: #0c5de8 !important;
}
.giv-storefront .bestsellers h2 {
  color: #172033 !important;
  font: 900 clamp(26px, 3vw, 34px)/1.05 Manrope, sans-serif !important;
  letter-spacing: -.025em !important;
}
.giv-storefront .bestsellers .mini-heading > p {
  max-width: 260px !important;
  color: #64748b !important;
  font: 600 13px/1.4 DM Sans, sans-serif !important;
  text-align: right !important;
}
.giv-storefront .home-best-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}
.giv-storefront .home-best-card {
  grid-template-rows: 164px minmax(0, 1fr) !important;
  min-height: 366px !important;
  border: 1px solid #e1e9f3 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(31, 67, 115, .07) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.giv-storefront .home-best-card:hover {
  transform: translateY(-5px) !important;
  border-color: #bfd5ef !important;
  box-shadow: 0 18px 34px rgba(31, 67, 115, .14) !important;
}
.giv-storefront .home-best-media {
  background: #eef4fa !important;
  overflow: hidden !important;
}
.giv-storefront .home-best-media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(10, 32, 64, .06), transparent 36%) !important;
}
.giv-storefront .home-best-media span {
  top: 12px !important;
  left: 12px !important;
  max-width: calc(100% - 24px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255, 255, 255, .42) !important;
  background: linear-gradient(135deg, #0c5de8, #17459c) !important;
  box-shadow: 0 6px 14px rgba(12, 93, 232, .22) !important;
  font: 900 9px/1 DM Sans, sans-serif !important;
  letter-spacing: .035em !important;
}
.giv-storefront .home-best-media img,
.giv-storefront .home-best-media .product-visual {
  position: relative !important;
  z-index: 0 !important;
  transition: transform .35s ease !important;
}
.giv-storefront .home-best-card:hover .home-best-media img,
.giv-storefront .home-best-card:hover .home-best-media .product-visual {
  transform: scale(1.045) !important;
}
.giv-storefront .home-best-info {
  grid-template-rows: auto auto minmax(38px, auto) auto !important;
  gap: 8px !important;
  padding: 16px !important;
}
.giv-storefront .home-best-info small {
  color: #5b78a1 !important;
  font: 800 10px/1.1 DM Sans, sans-serif !important;
  letter-spacing: .06em !important;
}
.giv-storefront .home-best-info h3 {
  min-height: 42px !important;
  color: #172033 !important;
  font: 900 17px/1.18 Manrope, sans-serif !important;
  letter-spacing: -.012em !important;
}
.giv-storefront .home-best-info p {
  min-height: 38px !important;
  color: #66758a !important;
  font: 500 12px/1.45 DM Sans, sans-serif !important;
}
.giv-storefront .home-best-rating {
  align-self: end !important;
  width: 100% !important;
  padding-top: 9px !important;
  border-top: 1px solid #edf1f6 !important;
  color: #7a8799 !important;
  font: 600 11px/1.2 DM Sans, sans-serif !important;
}
.giv-storefront .home-best-rating strong {
  color: #079455 !important;
  font-weight: 900 !important;
}
@media (min-width: 761px) and (max-width: 1120px) {
  .giv-storefront .bestsellers {
    width: calc(100vw - 40px) !important;
  }
  .giv-storefront .home-best-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .giv-storefront .bestsellers {
    width: calc(100vw - 24px) !important;
    margin: 24px auto 34px !important;
    padding: 24px 16px 20px !important;
    border-radius: 19px !important;
  }
  .giv-storefront .bestsellers .mini-heading {
    align-items: start !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
  }
  .giv-storefront .bestsellers .mini-heading > p {
    max-width: none !important;
    text-align: left !important;
  }
  .giv-storefront .home-best-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .giv-storefront .home-best-card {
    grid-template-rows: 132px minmax(0, 1fr) !important;
    min-height: 324px !important;
    border-radius: 13px !important;
  }
  .giv-storefront .home-best-info {
    padding: 12px !important;
    gap: 6px !important;
  }
  .giv-storefront .home-best-info h3 {
    min-height: 38px !important;
    font-size: 14px !important;
  }
  .giv-storefront .home-best-info p {
    min-height: 34px !important;
    font-size: 11px !important;
  }
  .giv-storefront .home-best-media span {
    top: 9px !important;
    left: 9px !important;
    padding: 6px 8px !important;
    font-size: 8px !important;
  }
}
@media (max-width: 520px) {
  .giv-storefront .home-best-grid {
    grid-template-columns: 1fr !important;
  }
  .giv-storefront .home-best-card {
    grid-template-rows: 184px minmax(0, 1fr) !important;
  }
}
/* VITRINES DE PRODUTOS â€” CATEGORIAS E CARDS COMPACTOS */
.giv-storefront .product-shelves {
  width: min(1180px, calc(100vw - 64px));
  margin: 28px auto 44px;
}
.giv-storefront .product-shelf {
  margin: 0 0 38px;
}
.giv-storefront .product-shelf-heading {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 45px;
  border-bottom: 1px solid #cbd5e1;
}
.giv-storefront .product-shelf-heading h2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0 16px 10px 4px;
  border-bottom: 2px solid #172033;
  color: #172033;
  font: 900 25px/1 Manrope, sans-serif;
  letter-spacing: -.025em;
}
.giv-storefront .product-shelf-icon {
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  color: #0c5de8;
}
.giv-storefront .product-shelf-icon svg {
  display: block;
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.giv-storefront .product-shelf-row {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 10px;
}
.giv-storefront .product-shelf-viewport {
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}
.giv-storefront .product-shelf-viewport::-webkit-scrollbar { display: none; }
.giv-storefront .product-shelf-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 48px) / 4);
  gap: 16px;
  width: max-content;
  min-width: 100%;
  padding: 14px 2px 8px;
}
.giv-storefront .product-shelf-track > .product {
  min-width: 0;
  scroll-snap-align: start;
}
.giv-storefront .product-shelf-arrow {
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  border: 1px solid #d7e1ed !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #0c5de8 !important;
  font: 800 19px/1 DM Sans, sans-serif !important;
  box-shadow: 0 6px 16px rgba(31, 67, 115, .1) !important;
  cursor: pointer !important;
}
.giv-storefront .product-shelf-arrow:hover,
.giv-storefront .product-shelf-arrow:focus-visible {
  border-color: #0c5de8 !important;
  background: #0c5de8 !important;
  color: #fff !important;
  outline: none !important;
}
.giv-storefront .product-shelf-track .catalog-product-card,
.giv-storefront .catalog-product-card {
  min-height: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 22px rgba(31, 67, 115, .07) !important;
}
.giv-storefront .catalog-product-card .giv-product-media {
  height: 158px !important;
  aspect-ratio: auto !important;
}
.giv-storefront .product-shelf-track .catalog-product-card .giv-product-media {
  height: 146px !important;
}
.giv-storefront .catalog-product-card .giv-product-info {
  gap: 7px !important;
  padding: 12px !important;
}
.giv-storefront .catalog-product-card h3 {
  min-height: 36px !important;
  font-size: 15px !important;
  line-height: 1.18 !important;
}
.giv-storefront .catalog-product-card p {
  min-height: 34px !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}
.giv-storefront .catalog-product-specs {
  gap: 4px !important;
}
.giv-storefront .catalog-product-specs div {
  padding: 6px !important;
}
.giv-storefront .catalog-product-specs dd {
  font-size: 8px !important;
}
.giv-storefront .catalog-product-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  align-items: stretch !important;
}
.giv-storefront .catalog-product-actions > button,
.giv-storefront .catalog-product-card .catalog-product-actions .product-buy-button,
.giv-storefront .catalog-product-card .catalog-product-actions .product-zap-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 7px !important;
  border-radius: 7px !important;
  font: 900 10px/1.1 DM Sans, sans-serif !important;
  white-space: normal !important;
  text-align: center !important;
}
.giv-storefront .catalog-product-card .product-zap-button img {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
}
.giv-storefront .catalog-product-card .product-zap-button span {
  font-size: 10px !important;
}
.giv-storefront .product-shelf-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 32px;
  color: #64748b;
  text-align: center;
}
@media (max-width: 1120px) {
  .giv-storefront .product-shelves { width: calc(100vw - 40px); }
  .giv-storefront .product-shelf-track { grid-auto-columns: calc((100% - 32px) / 3); }
}
@media (max-width: 760px) {
  .giv-storefront .product-shelves { width: calc(100vw - 24px); margin-top: 20px; }
  .giv-storefront .product-shelf { margin-bottom: 28px; }
  .giv-storefront .product-shelf-heading h2 { font-size: 21px; }
  .giv-storefront .product-shelf-row { grid-template-columns: 26px minmax(0, 1fr) 26px; gap: 6px; }
  .giv-storefront .product-shelf-arrow { width: 26px !important; height: 26px !important; font-size: 16px !important; }
  .giv-storefront .product-shelf-track { grid-auto-columns: calc((100% - 12px) / 2); gap: 12px; }
  .giv-storefront .catalog-product-card .giv-product-media,
  .giv-storefront .product-shelf-track .catalog-product-card .giv-product-media { height: 132px !important; }
}
@media (max-width: 520px) {
  .giv-storefront .product-shelf-track { grid-auto-columns: 100%; }
  .giv-storefront .catalog-product-card .giv-product-media { height: 170px !important; }
}
/* Garantia de exibição da vitrine principal da home. */
.giv-storefront .giv-home-hero { display: block !important; visibility: visible !important; min-height: 320px; }
.giv-storefront #siteBannerStrip { display: block !important; visibility: visible !important; min-height: 320px; }
.giv-storefront #siteBannerStrip .giv-banner.active { display: block !important; visibility: visible !important; }
.giv-storefront #siteBannerStrip .giv-banner img { display: block; width: 100%; min-height: 320px; object-fit: cover; }
@media (max-width: 640px) { .giv-storefront .giv-home-hero, .giv-storefront #siteBannerStrip, .giv-storefront #siteBannerStrip .giv-banner img { min-height: 220px; } }
/* Vitrines de produtos: grade compacta sem setas laterais. */
.giv-storefront .product-shelf-row { display: block; }
.giv-storefront .product-shelf-viewport { overflow: visible; }
.giv-storefront .product-shelf-track { grid-auto-flow: unset; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; padding: 12px 0 8px; }
.giv-storefront .product-shelf-arrow { display: none !important; }
.giv-storefront .product-shelf-track .catalog-product-card { min-width: 0 !important; }
.giv-storefront .product-shelf-track .catalog-product-card .giv-product-media { height: 118px !important; }
.giv-storefront .product-shelf-track .catalog-product-card h3 { font-size: 14px !important; }
.giv-storefront .product-shelf-track .catalog-product-card p { font-size: 12px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .product-buy-button { min-height: 34px !important; font-size: 12px !important; }
@media (max-width: 1120px) { .giv-storefront .product-shelf-track { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .giv-storefront .product-shelf-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .giv-storefront .product-shelf-track .catalog-product-card .giv-product-media { height: 108px !important; } }
@media (max-width: 420px) { .giv-storefront .product-shelf-track { grid-template-columns: minmax(0, 1fr); } }
/* Banner imediatamente após o menu principal. */
.giv-storefront .giv-home-hero { margin-top: 0 !important; }

/* Cards de produto compactos: compra pelo site acima do WhatsApp. */
.giv-storefront .catalog-product-card .giv-product-media { height: 138px !important; }
.giv-storefront .catalog-product-card .giv-product-info { gap: 6px !important; padding: 10px !important; }
.giv-storefront .catalog-product-card h3 { min-height: 32px !important; font-size: 14px !important; }
.giv-storefront .catalog-product-card p { min-height: 30px !important; font-size: 10px !important; }
.giv-storefront .catalog-product-card .catalog-product-actions { grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }
.giv-storefront .catalog-product-card .catalog-product-actions > button { min-height: 34px !important; height: 34px !important; font-size: 11px !important; }
.giv-storefront .catalog-product-card .catalog-product-actions .product-zap-button span { font-size: 11px !important; }
.giv-storefront .catalog-product-card .catalog-product-actions .product-zap-button img { width: 14px !important; height: 14px !important; flex-basis: 14px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .giv-product-media { height: 108px !important; }
@media (max-width: 720px) {
  .giv-storefront .catalog-product-card .giv-product-media { height: 126px !important; }
  .giv-storefront .product-shelf-track .catalog-product-card .giv-product-media { height: 100px !important; }
}
/* Grade enxuta no formato aprovado: imagem, código, nome, preço e ações. */
.giv-storefront .catalog-upgraded .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 10px !important; }
.giv-storefront .catalog-product-card { border: 1px solid #c9cdd3 !important; border-radius: 7px !important; box-shadow: none !important; overflow: hidden; }
.giv-storefront .catalog-product-card .giv-product-media { height: 232px !important; padding: 20px !important; background: #fff !important; }
.giv-storefront .catalog-product-card .giv-product-media img { object-fit: contain !important; }
.giv-storefront .catalog-product-card .giv-product-info { min-height: 235px; padding: 10px 8px 12px !important; gap: 8px !important; }
.giv-storefront .catalog-product-card .catalog-product-code { color: #0d1117 !important; font-size: 12px !important; font-weight: 900 !important; line-height: 1.2; }
.giv-storefront .catalog-product-card h3 { min-height: 40px !important; margin: 0 !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.42 !important; }
.giv-storefront .catalog-product-card .giv-product-price { gap: 10px !important; }
.giv-storefront .catalog-product-card .giv-product-price > span strong { font-size: 23px !important; font-weight: 500 !important; }
.giv-storefront .catalog-product-card .catalog-product-actions { margin-top: auto; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 5px !important; }
.giv-storefront .catalog-product-card .catalog-product-actions > button { min-height: 33px !important; height: 33px !important; padding: 0 4px !important; font-size: 10px !important; border-radius: 3px !important; white-space: nowrap !important; }
.giv-storefront .catalog-product-card .catalog-product-actions .product-zap-button img { width: 12px !important; height: 12px !important; flex-basis: 12px !important; }
.giv-storefront .catalog-product-card .catalog-product-actions .product-zap-button span { font-size: 9px !important; }
@media (max-width: 1000px) { .giv-storefront .catalog-upgraded .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 720px) { .giv-storefront .catalog-upgraded .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .giv-storefront .catalog-product-card .giv-product-media { height: 170px !important; padding: 14px !important; } .giv-storefront .catalog-product-card .giv-product-info { min-height: 205px; } }
@media (max-width: 420px) { .giv-storefront .catalog-upgraded .product-grid { grid-template-columns: 1fr !important; } }
/* Topo Mouse Criativo: sem link de aplicativo e sem marca de referência. */
.giv-storefront .top-app-download { display: none !important; }
.giv-storefront .topbar { grid-template-columns: 166px minmax(0, 1fr) 298px !important; }
.giv-storefront .mouse-brand .brand-logo { display: block !important; }

/* Vitrines da home isoladas do catálogo para manter proporção e alinhamento. */
.giv-storefront .product-shelves { width: min(1180px, calc(100vw - 64px)) !important; margin: 30px auto 46px !important; }
.giv-storefront .product-shelf { margin: 0 0 42px !important; }
.giv-storefront .product-shelf-row { display: block !important; }
.giv-storefront .product-shelf-viewport { overflow: visible !important; width: 100%; }
.giv-storefront .product-shelf-track { display: grid !important; width: 100% !important; min-width: 0 !important; grid-auto-flow: row !important; grid-auto-columns: auto !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 14px !important; padding: 14px 0 2px !important; }
.giv-storefront .product-shelf-track .catalog-product-card { min-width: 0 !important; min-height: 0 !important; border-radius: 8px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .giv-product-media { height: 124px !important; padding: 12px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .giv-product-info { min-height: 164px !important; padding: 9px !important; gap: 6px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .catalog-product-code { min-height: 14px; font-size: 10px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.giv-storefront .product-shelf-track .catalog-product-card h3 { min-height: 34px !important; font-size: 12px !important; line-height: 1.35 !important; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.giv-storefront .product-shelf-track .catalog-product-card .giv-product-price { gap: 7px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .giv-product-price > span strong { font-size: 18px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .catalog-product-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 4px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .catalog-product-actions > button { height: 31px !important; min-height: 31px !important; padding: 0 3px !important; font-size: 8px !important; overflow: hidden; }
.giv-storefront .product-shelf-track .catalog-product-card .product-zap-button { gap: 3px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .product-zap-button img { display: none !important; }
.giv-storefront .product-shelf-track .catalog-product-card .product-zap-button span { font-size: 8px !important; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1120px) { .giv-storefront .product-shelf-track { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .giv-storefront .product-shelf-track .catalog-product-card .giv-product-media { height: 138px !important; } }
@media (max-width: 720px) { .giv-storefront .product-shelves { width: calc(100vw - 28px) !important; } .giv-storefront .product-shelf-track { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; } .giv-storefront .product-shelf-track .catalog-product-card .giv-product-media { height: 126px !important; } }
@media (max-width: 420px) { .giv-storefront .product-shelf-track { grid-template-columns: minmax(0, 1fr) !important; } }
/* Ordem fixa de compra em todos os cards: site acima, WhatsApp abaixo. */
.giv-storefront .catalog-product-card .catalog-product-actions,
.giv-storefront .product-shelf-track .catalog-product-card .catalog-product-actions {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, auto);
  gap: 6px !important;
}
.giv-storefront .catalog-product-card .catalog-product-actions .product-buy-button { grid-row: 1; }
.giv-storefront .catalog-product-card .catalog-product-actions .product-zap-button { grid-row: 2; }
.giv-storefront .product-shelf-track .catalog-product-card .giv-product-info { min-height: 199px !important; }
.giv-storefront .product-shelf-track .catalog-product-card .catalog-product-actions > button { width: 100% !important; }
.giv-storefront .product-shelf-track .catalog-product-card .product-zap-button img { display: inline-block !important; }
/* Banner imediatamente abaixo do menu principal. */
.giv-storefront .topbar + #storeView { margin-top: 0 !important; padding-top: 0 !important; }
.giv-storefront .topbar + #storeView > .giv-home-hero { margin-top: 0 !important; }
.giv-storefront .topbar + #storeView > .giv-home-hero:first-child { clear: both; }
/* Ordem estrutural das vitrines da home. */
.giv-storefront #bestSellerShelf { margin-bottom: 0 !important; }
.giv-storefront #specialOffersShelf { margin-top: 34px !important; }

/* Carrinho ativo: contador e controles de quantidade visíveis. */
.giv-storefront .cart-toggle .cart-count { display: grid !important; }
.giv-storefront .cart-toggle .cart-count[hidden] { display: none !important; }
.giv-storefront .cart-quantity { display: inline-flex; align-items: center; gap: 7px; margin-top: 7px; }
.giv-storefront .cart-quantity button { width: 23px; height: 23px; border: 1px solid #cfd8e5; border-radius: 5px; background: #fff; color: #0c5de8; font-weight: 900; cursor: pointer; }
.giv-storefront .cart-quantity span { min-width: 18px; text-align: center; font-weight: 800; }
/* Central de avisos do sino. */
.giv-storefront .notification-panel { position:absolute; top:76px; right:0; z-index:220; width:min(360px,calc(100vw - 28px)); padding:14px; border:1px solid #dbe3ee; border-radius:12px; background:#fff; box-shadow:0 18px 40px rgba(23,32,51,.18); }
.giv-storefront .notification-panel[hidden] { display:none!important; }.giv-storefront .notification-panel header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 2px 10px; border-bottom:1px solid #eef2f6; }.giv-storefront .notification-panel header strong { font:900 16px Manrope,sans-serif; color:#172033; }.giv-storefront .notification-panel header button { border:0; background:transparent; color:#0c5de8; font:800 11px DM Sans,sans-serif; cursor:pointer; }.giv-storefront .notification-item { display:grid; gap:4px; width:100%; padding:13px 4px; border:0; border-bottom:1px solid #eef2f6; background:transparent; text-align:left; cursor:pointer; }.giv-storefront .notification-item strong { color:#172033; font-size:13px; }.giv-storefront .notification-item span { color:#647184; font-size:12px; line-height:1.35; }.giv-storefront .notification-item:not(.is-read) { border-left:3px solid #0c5de8; padding-left:10px; background:#f7faff; }.giv-storefront .notification-item.is-read { opacity:.62; }.giv-storefront .notification-empty { margin:16px 2px 4px; color:#647184; font-size:13px; }.giv-storefront .top-alert-button span[hidden] { display:none!important; } @media(max-width:980px){.giv-storefront .notification-panel{top:62px;right:8px}}
.giv-storefront .site-footer .footer-social-link.is-disabled { opacity:.58; cursor:default; }

.giv-storefront .whatsapp-floating-button{right:24px;bottom:24px;width:58px;min-width:58px;height:58px;padding:0;border-radius:50%;background:#25D366;display:grid;place-items:center}.giv-storefront .whatsapp-floating-button svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:560px){.giv-storefront .whatsapp-floating-button{right:16px;bottom:16px;width:54px;min-width:54px;height:54px}}

/* Rodapé: selos e títulos comerciais padronizados. */
.giv-storefront .site-footer .footer-commercial h3,.giv-storefront .site-footer .footer-social-column>h3{font-size:12px!important;line-height:1.2!important;min-height:15px;margin:0 0 12px!important}.giv-storefront .site-footer .payment-badges,.giv-storefront .site-footer .security-badges{display:flex!important;align-items:center!important;gap:8px!important}.giv-storefront .site-footer .payment-logo,.giv-storefront .site-footer .security-brand,.giv-storefront .site-footer .safe-browsing-logo{box-sizing:border-box;width:82px!important;height:42px!important;min-width:82px!important;min-height:42px!important;padding:5px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border-radius:7px!important}.giv-storefront .site-footer .payment-logo img,.giv-storefront .site-footer .security-brand img,.giv-storefront .site-footer .safe-browsing-logo{width:70px!important;height:30px!important;max-width:70px!important;object-fit:contain!important}.giv-storefront .site-footer .security-brand strong{display:none!important}.giv-storefront .site-footer .footer-social-column{display:block!important}.giv-storefront .site-footer .footer-social{display:grid!important}

.giv-storefront .site-footer .footer-column>h3,.giv-storefront .site-footer .footer-useful-title,.giv-storefront .site-footer .footer-commercial h3,.giv-storefront .site-footer .footer-info strong{font-size:var(--footer-title-font-size)!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.03em!important}.giv-storefront .site-footer .footer-info strong{margin-bottom:3px!important}.giv-storefront .site-footer .footer-useful-title{margin:0 0 12px!important;color:var(--footer-title)!important}

.giv-storefront .site-footer .footer-social-link>span:last-child:empty{display:none!important}.giv-storefront .site-footer .footer-social-link:has(>span:last-child:empty){justify-content:center}

.giv-storefront .site-footer{font-family:var(--footer-font-family),'DM Sans',sans-serif}.giv-storefront .site-footer h3,.giv-storefront .site-footer .footer-info strong{font-family:var(--footer-title-font-family),'Manrope',sans-serif}

.giv-storefront .whatsapp-floating-button{width:64px;min-width:64px;height:64px;background:#25D366;border:4px solid rgba(255,255,255,.18);box-shadow:0 14px 32px rgba(0,0,0,.30),0 0 0 6px rgba(37,211,102,.20)}.giv-storefront .whatsapp-floating-button svg{width:34px;height:34px}@media(max-width:560px){.giv-storefront .whatsapp-floating-button{width:58px;min-width:58px;height:58px}.giv-storefront .whatsapp-floating-button svg{width:31px;height:31px}}

/* Rodapé: redes sociais compactas. */
.giv-storefront .site-footer .footer-social{grid-template-columns:repeat(5,42px)!important;gap:8px!important}
.giv-storefront .site-footer .footer-social-link{box-sizing:border-box!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;justify-content:center!important;border-radius:8px!important}
.giv-storefront .site-footer .footer-social-link .footer-social-icon{width:21px!important;height:21px!important;min-width:21px!important}
@media(max-width:640px){.giv-storefront .site-footer .footer-social{grid-template-columns:repeat(5,40px)!important;gap:7px!important}.giv-storefront .site-footer .footer-social-link{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}}

/* Rodapé: somente símbolos das redes sociais. */
.giv-storefront .site-footer .footer-social{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
.giv-storefront .site-footer .footer-social-link{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.giv-storefront .site-footer .footer-social-link:hover{border-color:transparent!important;background:transparent!important}
.giv-storefront .site-footer .footer-social-link .footer-social-icon{width:24px!important;height:24px!important;min-width:24px!important}

/* Logo do rodapé configurável pelo painel. */
.giv-storefront .site-footer .footer-brand-logo{width:var(--footer-logo-size)!important;height:var(--footer-logo-size)!important}

.giv-storefront .store-popup-image{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:10px;margin:0 0 14px}

/* Menu vertical de produtos. */
.giv-storefront .main-nav,.giv-storefront .main-nav-toggle{display:none!important}.giv-storefront .vertical-catalog{position:fixed;z-index:160;top:108px;left:12px;width:310px;max-height:calc(100vh - 124px);overflow:auto;background:#fff;border:1px solid #d9dee6;box-shadow:0 8px 24px rgba(23,32,51,.12)}.giv-storefront .vertical-catalog-filter{box-sizing:border-box;width:calc(100% - 12px);height:34px;margin:6px;border:1px solid #bfc7d2;border-radius:4px;padding:0 9px;font:13px Arial,sans-serif}.giv-storefront .vertical-catalog .catalog-nav{display:block!important}.giv-storefront .vertical-catalog .catalog-menu-groups{display:block!important}.giv-storefront .vertical-catalog .catalog-all,.giv-storefront .vertical-catalog .catalog-direct-link,.giv-storefront .vertical-catalog .catalog-menu-trigger{width:100%;min-height:38px;padding:0 12px;border:0;border-bottom:1px solid #edf0f4;background:#fff;color:#40516a;text-align:left;font:14px Arial,sans-serif}.giv-storefront .vertical-catalog .catalog-menu-trigger{display:flex;align-items:center;justify-content:space-between}.giv-storefront .vertical-catalog .catalog-submenu{position:static;display:none!important;box-shadow:none;border:0}.giv-storefront .vertical-catalog .catalog-menu-group.open .catalog-submenu{display:block!important}.giv-storefront .vertical-catalog .catalog-submenu button{width:100%;padding:9px 24px;border:0;background:#f8fafc;text-align:left;color:#4e6079}.giv-storefront .vertical-catalog .catalog-mobile-toggle{display:none!important}@media(max-width:1100px){.giv-storefront .vertical-catalog{position:static;width:auto;max-height:none;margin:8px 12px}.giv-storefront .vertical-catalog .catalog-menu-groups{max-height:260px;overflow:auto}}

/* Banner principal: formato administrado compacto. */
.giv-storefront .giv-home-hero{max-width:1280px!important;margin:18px auto 0!important;padding:0 24px!important}.giv-storefront .giv-hero-carousel{min-height:226px!important;height:226px!important;border-radius:20px!important;overflow:visible!important;box-shadow:none!important}.giv-storefront .giv-hero-carousel .giv-banner.active.giv-banner-image-only{display:block!important;min-height:226px!important;height:226px!important;padding:0!important;background:transparent!important}.giv-storefront .giv-hero-carousel .giv-banner-image-only img{display:block!important;width:100%!important;height:226px!important;object-fit:cover!important;border-radius:20px!important}.giv-storefront .giv-hero-carousel .giv-banner-image-only .giv-slide-count,.giv-storefront .giv-hero-nav{display:none!important}.giv-storefront .giv-hero-dots{bottom:-38px!important;gap:14px!important}.giv-storefront .giv-hero-dots button{width:12px!important;height:12px!important;background:#c2cdcc!important}.giv-storefront .giv-hero-dots button.active{background:#7f9290!important}@media(max-width:760px){.giv-storefront .giv-home-hero{padding:0 12px!important}.giv-storefront .giv-hero-carousel,.giv-storefront .giv-hero-carousel .giv-banner.active.giv-banner-image-only,.giv-storefront .giv-hero-carousel .giv-banner-image-only img{height:170px!important;min-height:170px!important;border-radius:14px!important}}

/* Correção final do topo e carrossel. */
.giv-storefront .topbar{display:grid!important;grid-template-columns:110px minmax(0,1fr) 360px!important;grid-template-rows:92px!important;align-items:center!important;gap:14px!important;width:min(1280px,calc(100vw - 48px))!important;margin:0 auto!important;padding:0!important;background:#fff!important}.giv-storefront .brand.mouse-brand{width:110px!important;height:auto!important}.giv-storefront .mouse-brand .brand-logo{width:92px!important;max-width:92px!important;height:auto!important}.giv-storefront .main-product-search{width:100%!important;height:40px!important;min-height:40px!important}.giv-storefront .header-actions{width:360px!important;min-width:0!important;height:auto!important;justify-content:flex-end!important}.giv-storefront .main-nav,.giv-storefront .main-nav-toggle{display:none!important}.giv-storefront .giv-home-hero{display:block!important;max-width:1280px!important;margin:18px auto 0!important;padding:0 24px!important}.giv-storefront .giv-hero-carousel{position:relative!important;display:block!important;height:226px!important;min-height:226px!important;overflow:visible!important;border-radius:18px!important}.giv-storefront .giv-hero-carousel>.giv-banner{display:none!important}.giv-storefront .giv-hero-carousel>.giv-banner.active{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:226px!important;min-height:226px!important;padding:0!important}.giv-storefront .giv-hero-carousel>.giv-banner.active picture,.giv-storefront .giv-hero-carousel>.giv-banner.active img{display:block!important;width:100%!important;height:226px!important;object-fit:cover!important;border-radius:18px!important}.giv-storefront .giv-hero-carousel .giv-banner-copy,.giv-storefront .giv-hero-nav,.giv-storefront .giv-slide-count{display:none!important}.giv-storefront .giv-hero-dots{bottom:-36px!important;z-index:3!important}@media(max-width:820px){.giv-storefront .topbar{grid-template-columns:88px minmax(0,1fr) auto!important;width:calc(100vw - 24px)!important;height:76px!important}.giv-storefront .header-actions{width:auto!important}.giv-storefront .top-account-pill span:not(.top-account-icon),.giv-storefront .top-help-copy{display:none!important}.giv-storefront .giv-home-hero{padding:0 12px!important}.giv-storefront .giv-hero-carousel,.giv-storefront .giv-hero-carousel>.giv-banner.active,.giv-storefront .giv-hero-carousel>.giv-banner.active img{height:170px!important;min-height:170px!important}}

/* Grade compacta de produtos. */
.giv-storefront .product-grid,.giv-storefront .catalog-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.giv-storefront .catalog-product-card{min-width:0!important;min-height:430px!important;padding:10px!important;border:1px solid #cbd1d9!important;border-radius:7px!important;background:#fff!important;display:flex!important;flex-direction:column!important}.giv-storefront .catalog-product-card .product-image,.giv-storefront .catalog-product-card figure{height:220px!important;display:grid!important;place-items:center!important;margin:0 0 8px!important}.giv-storefront .catalog-product-card img{width:100%!important;height:190px!important;object-fit:contain!important}.giv-storefront .catalog-product-card h3{font-size:13px!important;line-height:1.35!important;min-height:36px!important;margin:7px 0!important}.giv-storefront .catalog-product-card p{font-size:11px!important;line-height:1.4!important;margin:5px 0!important}.giv-storefront .catalog-product-card .product-actions{margin-top:auto!important;display:flex!important;gap:5px!important}.giv-storefront .catalog-product-card .product-actions button,.giv-storefront .catalog-product-card .product-actions a{flex:1!important;min-height:34px!important;font-size:11px!important;padding:6px!important}@media(max-width:1000px){.giv-storefront .product-grid,.giv-storefront .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:700px){.giv-storefront .product-grid,.giv-storefront .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.giv-storefront .catalog-product-card{min-height:390px!important}.giv-storefront .catalog-product-card .product-image,.giv-storefront .catalog-product-card figure{height:170px!important}.giv-storefront .catalog-product-card img{height:145px!important}}

/* Garantia de exibição do menu vertical. */
.giv-storefront .vertical-catalog{display:block!important;visibility:visible!important;opacity:1!important}.giv-storefront .vertical-catalog .vertical-catalog-nav,.giv-storefront .vertical-catalog .catalog-menu-groups{display:block!important;visibility:visible!important;opacity:1!important}.giv-storefront .vertical-catalog [hidden]{display:none!important}.giv-storefront #storeView{padding-left:334px!important}@media(max-width:1100px){.giv-storefront #storeView{padding-left:0!important}}

/* Ordem visual definitiva da home. */
.giv-storefront #storeView{display:flex!important;flex-direction:column!important}.giv-storefront #storeView>.giv-home-hero{order:-100!important;margin-top:0!important}.giv-storefront #storeView>#bestSellerShelf{order:-90!important}.giv-storefront #storeView>#catalog{order:-80!important}.giv-storefront #storeView>#promo{order:-70!important}

/* Home reconstruída. */
.giv-storefront .store-rebuilt-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:14px;max-width:1320px;margin:18px auto;padding:0 18px}.giv-storefront .store-rebuilt-layout .vertical-catalog{position:sticky!important;top:108px!important;left:auto!important;width:100%!important;max-height:calc(100vh - 124px)!important}.giv-storefront .store-rebuilt-content{min-width:0;display:flex;flex-direction:column;gap:24px}.giv-storefront .store-rebuilt-content .giv-home-hero{width:100%;max-width:none!important;padding:0!important;margin:0!important}.giv-storefront .home-banner-grid{display:grid;gap:12px}.giv-storefront .home-banner-small{grid-template-columns:repeat(2,minmax(0,1fr))}.giv-storefront .home-banner-offers,.giv-storefront .home-banner-best{grid-template-columns:repeat(3,minmax(0,1fr))}.giv-storefront .home-banner-card{display:block;overflow:hidden;border-radius:14px;background:#f4f6fa}.giv-storefront .home-banner-card img{display:block;width:100%;height:220px;object-fit:cover}@media(max-width:1000px){.giv-storefront .store-rebuilt-layout{grid-template-columns:1fr}.giv-storefront .store-rebuilt-layout .vertical-catalog{position:static!important}.giv-storefront .home-banner-card img{height:180px}}@media(max-width:620px){.giv-storefront .home-banner-small,.giv-storefront .home-banner-offers,.giv-storefront .home-banner-best{grid-template-columns:1fr}.giv-storefront .home-banner-card img{height:auto}}
