
:root{--rr-ink:#2d2429;--rr-muted:#736970;--rr-line:#ebe4e8;--rr-pink:#e90078;--rr-yellow:#ffd529;--rr-bg:#f8f6f7;--rr-max:1180px}
body{background:#f8f6f7!important}
.topbar{background:#f6bfd7!important;box-shadow:none!important}.topbar::before{opacity:.35!important}
.desktop-nav{background:#fff!important;border-bottom:1px solid var(--rr-line)!important;box-shadow:none!important}.nav-badge{border-radius:999px!important;box-shadow:none!important}
.campaign-banner{box-shadow:0 6px 20px rgba(41,23,34,.08)!important}
.commerce-highlights{background:#fff!important;border:1px solid var(--rr-line)!important;border-radius:14px!important;box-shadow:none!important;overflow:hidden!important;gap:0!important}
.commerce-highlights>div{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;padding:15px 18px!important}
.commerce-highlights>div+div{border-left:1px solid var(--rr-line)!important}.commerce-highlights>div::after{display:none!important}
.highlight-icon{width:40px!important;height:40px!important;border-radius:10px!important;background:#fff8d9!important}.commerce-highlights b{font-size:13px!important}.commerce-highlights small{font-size:10px!important;color:var(--rr-muted)!important}
.category-section,.age-section,.products-section,.trust-grid.section{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:26px 0!important}
.section-head{margin-bottom:16px!important}.section-head h2{font-size:clamp(26px,2.1vw,34px)!important;line-height:1.08!important;letter-spacing:-.035em!important}.section-head p{color:var(--rr-muted)!important;font-size:12px!important}.head-spark,.editorial-head::after{display:none!important}
.trend-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;padding-top:18px!important}
.trend-card{display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;padding:0!important;background:#fff!important;border:1px solid var(--rr-line)!important;border-radius:16px!important;box-shadow:none!important;overflow:hidden!important}
.trend-card::before{display:none!important}.trend-card>img{order:1!important;width:100%!important;height:220px!important;max-height:none!important;object-fit:cover!important;border-radius:0!important;box-shadow:none!important}
.trend-copy{order:2!important;min-height:0!important;padding:18px 18px 20px!important}.trend-copy .eyebrow{display:inline-block!important;width:auto!important;padding:0!important;margin:0 0 8px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#b4005d!important;font-size:9px!important;letter-spacing:.12em!important}
.trend-copy h3{margin:0 0 8px!important;max-width:none!important;font-size:22px!important;line-height:1.12!important;font-weight:850!important}.trend-copy p{margin:0!important;font-size:12px!important;line-height:1.5!important;color:var(--rr-muted)!important}
.category-row{gap:18px!important}.category-chip{min-width:84px!important}.category-chip span{width:64px!important;height:64px!important;background:#fff!important;border:1px solid var(--rr-line)!important;box-shadow:none!important}.category-chip.active span{background:#fff5fa!important;border-color:#e8a3c7!important}.category-chip b{font-size:10px!important;color:#4b4046!important}
.age-pills{gap:12px!important}.age-pills a{min-height:82px!important;padding:14px 16px!important;background:#fff!important;border:1px solid var(--rr-line)!important;border-radius:12px!important;box-shadow:none!important}.age-pills b{font-size:22px!important}.age-pills span{font-size:10px!important}
.product-filter-nav{padding-bottom:12px!important}.product-filter-nav a{min-height:34px!important;border-radius:8px!important;background:#fff!important;border:1px solid var(--rr-line)!important;color:#5c4e56!important;box-shadow:none!important}.product-filter-nav a.active{background:#2f2630!important;border-color:#2f2630!important;color:#fff!important}.active-filter-note{background:#fff!important;border:1px solid var(--rr-line)!important;color:#675c63!important;border-radius:10px!important}.active-filter-note a{color:var(--rr-pink)!important}
.product-card{background:#fff!important;border:1px solid var(--rr-line)!important;border-radius:12px!important;box-shadow:none!important}.product-card:hover{transform:translateY(-2px)!important;box-shadow:0 8px 22px rgba(41,23,34,.07)!important}.product-image-wrap{border-bottom:1px solid #f1ecef!important}.gift-hook{background:transparent!important;border:0!important;padding:0!important;margin:3px 0 5px!important;border-radius:0!important;font-size:8px!important;color:#a3326a!important}.gift-hook::before{display:none!important}.add-cart{border-radius:8px!important;box-shadow:none!important}
.trust-grid.section{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;background:#fff!important;border:1px solid var(--rr-line)!important;border-radius:14px!important;overflow:hidden!important;padding:0!important;margin-top:28px!important}.trust-grid>div{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;padding:18px 20px!important}.trust-grid>div+div{border-left:1px solid var(--rr-line)!important}.trust-grid>div::after{display:none!important}
.footer-modern{background:#f3eff1!important;border-radius:0!important;box-shadow:none!important}.footer-main-card,.footer-links-grid>div{box-shadow:none!important}.footer-main-card{border-radius:14px!important}.footer-links-grid>div{border-radius:10px!important}
@media(max-width:759px){body{background:#f8f6f7!important}.commerce-highlights{display:flex!important;gap:0!important;border-radius:12px!important}.commerce-highlights>div{flex:0 0 86%!important;min-width:86%!important;border-left:0!important;border-right:1px solid var(--rr-line)!important}.trend-grid{display:none!important}.mobile-promo-strip{padding-top:4px!important}.mobile-promo-card{flex:0 0 84%!important;width:84%!important;min-width:84%!important;max-width:none!important;display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important;background:#fff!important;border:1px solid var(--rr-line)!important;border-radius:14px!important;box-shadow:none!important;overflow:hidden!important}.mobile-promo-card img{order:1!important;width:100%!important;height:180px!important;min-height:180px!important;max-height:180px!important;border-radius:0!important;box-shadow:none!important;object-fit:cover!important}.mobile-promo-text{order:2!important;display:block!important;height:auto!important;min-height:0!important;max-height:none!important;padding:14px 14px 16px!important;overflow:visible!important}.mobile-promo-text>span{display:inline-block!important;margin:0 0 7px!important;padding:0!important;background:transparent!important;color:#b4005d!important;border:0!important;border-radius:0!important;font-size:8px!important;letter-spacing:.11em!important}.mobile-promo-text h3{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0 0 7px!important;font-size:19px!important;line-height:1.12!important;overflow:visible!important}.mobile-promo-text p{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;font-size:10px!important;line-height:1.45!important;overflow:visible!important}.category-section,.age-section,.products-section{padding-top:22px!important;padding-bottom:22px!important}.trust-grid.section{grid-template-columns:1fr!important}.trust-grid>div+div{border-left:0!important;border-top:1px solid var(--rr-line)!important}.products-section .product-card{border-radius:10px!important}}


/* ============================================================
   Crystal Presentes 3.4.4 — calculadora de frete por CEP
   ============================================================ */
.freight-calculator{
  margin-top:16px;
  padding:14px;
  border:1px solid #e9e1e6;
  border-radius:12px;
  background:#faf8f9;
}
.freight-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.freight-title b{
  font-size:13px;
  color:#2e252a;
}
.freight-title span{
  font-size:9px;
  color:#7b6d75;
}
.freight-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.freight-form input{
  width:100%;
  min-width:0;
  height:42px;
  padding:0 12px;
  border:1px solid #ddd3d9;
  border-radius:9px;
  background:#fff;
  color:#2e252a;
  font-size:14px;
  outline:none;
}
.freight-form input:focus{
  border-color:#d76a9f;
  box-shadow:0 0 0 3px rgba(233,0,120,.08);
}
.freight-form button{
  min-width:92px;
  height:42px;
  padding:0 14px;
  border:0;
  border-radius:9px;
  background:#2f2630;
  color:#fff;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.freight-form button:disabled{
  opacity:.65;
  cursor:wait;
}
.freight-result{
  margin-top:9px;
  padding:10px 11px;
  border-radius:9px;
  display:grid;
  gap:2px;
  font-size:10px;
}
.freight-result b{
  font-size:12px;
}
.freight-result span{
  line-height:1.4;
}
.freight-result.loading{
  background:#f3f0f2;
  color:#655b61;
}
.freight-result.success{
  background:#eef9f2;
  color:#176b40;
  border:1px solid #d0ebda;
}
.freight-result.error{
  background:#fff1f1;
  color:#9c3f3f;
  border:1px solid #f1d2d2;
}

@media(max-width:759px){
  .freight-calculator{
    padding:12px;
    border-radius:11px;
  }
  .freight-title{
    display:grid;
    gap:3px;
  }
  .freight-form{
    grid-template-columns:minmax(0,1fr) 88px;
  }
  .freight-form input,
  .freight-form button{
    height:44px;
  }
}


/* Crystal Presentes 3.4.5 — resumo de checkout com total */
.checkout-summary .summary-total{
  margin-top:8px;
  padding-top:14px;
  border-top:1px solid #e6dfe3;
}
.checkout-summary .summary-total span{
  font-weight:900;
  color:#2d252a;
}
.checkout-summary .summary-total b{
  font-size:20px;
  color:#d50070;
  letter-spacing:-.02em;
}
#checkoutShipping{
  text-align:right;
}
#checkoutShippingHint{
  display:block;
  margin-top:8px;
  line-height:1.45;
}

/* =========================================================
   Crystal Presentes v4.0.3 — Página PIX refinada
   ========================================================= */
.pix-page{
  max-width:1080px !important;
  padding-top:22px !important;
  padding-bottom:54px !important;
}
.pix-checkout-card{
  background:linear-gradient(180deg,#fff 0%,#fff9fc 100%);
  border:1px solid #f0dbe7;
  border-radius:28px;
  padding:28px;
  box-shadow:0 22px 56px rgba(54,24,43,.10);
  overflow:hidden;
}
.pix-checkout-card>h1,
.pix-paid-wrap h1{
  margin:4px 0 8px;
  font-size:38px;
  line-height:.98;
  letter-spacing:-.045em;
  color:#2d1524;
}
.pix-lead{
  margin:0;
  color:#655861;
  line-height:1.6;
  font-size:15px;
}
.pix-hero-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:24px;
  align-items:center;
  padding:6px 4px 24px;
}
.pix-hero-copy .eyebrow{margin-bottom:10px}
.pix-hero-copy strong#pixCountdown{
  color:#d6006e;
  white-space:nowrap;
}
.pix-mini-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.pix-mini-row span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid #f1dbe6;
  font-size:12px;
  font-weight:800;
  color:#5d4655;
  box-shadow:0 8px 20px rgba(212,0,110,.06);
}
.pix-hero-illustration{
  position:relative;
  height:220px;
  border-radius:28px;
  background:radial-gradient(circle at 20% 20%,rgba(255,211,60,.55),transparent 30%),linear-gradient(145deg,#ffe9f4 0%,#fffafc 42%,#fff1f8 100%);
  border:1px solid #f2dbe8;
  overflow:hidden;
}
.pix-blob{
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  right:24px;
  top:20px;
  background:rgba(255,255,255,.5);
}
.pix-phone{
  position:absolute;
  left:88px;
  top:38px;
  width:92px;
  height:156px;
  border-radius:24px;
  background:#25212b;
  box-shadow:0 20px 30px rgba(56,19,41,.16);
  transform:rotate(12deg);
}
.pix-phone:before{
  content:'';
  position:absolute;
  inset:9px;
  border-radius:17px;
  background:linear-gradient(180deg,#fff 0%,#f5fffb 100%);
}
.pix-phone-screen{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:28px;
  font-weight:1000;
  color:#0aa36c;
  z-index:2;
}
.pix-clock{
  position:absolute;
  left:42px;
  top:30px;
  font-size:28px;
}
.pix-layout-rich{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) 340px;
  gap:22px;
  align-items:start;
}
.pix-main-panel,
.pix-qr-side,
.pix-bottom-grid > *{
  min-width:0;
}
.pix-info-panel{
  display:grid;
  gap:16px;
}
.pix-status-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  min-height:38px;
  padding:10px 14px;
  border-radius:999px;
  background:#fff8d4;
  color:#7b6510;
  font-size:12px;
  font-weight:950;
  box-shadow:inset 0 0 0 1px #f4e9a7;
}
.pix-status-chip span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#f0b400;
  box-shadow:0 0 0 5px rgba(240,180,0,.18);
}
.pix-label{
  display:block;
  font-size:11px;
  font-weight:1000;
  color:#46323f;
  margin-bottom:-4px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.rich-copy-box{
  display:grid;
  gap:10px;
}
.pix-copy-box textarea{
  width:100%;
  min-height:92px;
  resize:none;
  padding:14px 16px;
  border-radius:18px;
  border:1px dashed #d9c5d2;
  background:#fff;
  color:#4a3d45;
  font-size:12px;
  line-height:1.45;
  word-break:break-all;
}
.pix-copy-box button{
  min-height:54px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,#17a9e7,#0b8fce);
  color:#fff;
  font-weight:1000;
  font-size:18px;
  cursor:pointer;
  box-shadow:0 16px 28px rgba(23,169,231,.22);
}
.pix-total-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-radius:18px;
  background:#fff7fb;
  border:1px solid #f0dce6;
}
.pix-total-box span{
  font-size:12px;
  color:#705f69;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pix-total-box b{
  font-size:32px;
  color:#d4006e;
  letter-spacing:-.04em;
  line-height:1;
}
.highlight-box{box-shadow:0 12px 26px rgba(212,0,110,.06)}
.pix-trust-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#fffaf1 100%);
  border:1px solid #f1e7c6;
}
.pix-trust-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#fff1b1;
  font-size:22px;
}
.pix-trust-card b{
  display:block;
  margin-bottom:4px;
  color:#30262c;
  font-size:16px;
}
.pix-trust-card span{
  display:block;
  color:#6c6067;
  line-height:1.55;
  font-size:13px;
}
.pix-order-link-row{padding-top:2px}
.featured-qr-panel{
  display:grid;
  justify-items:center;
  gap:12px;
  padding:20px 18px;
  background:#fff;
  border:1px solid #ecdce5;
  border-radius:24px;
  box-shadow:0 16px 34px rgba(52,22,41,.08);
}
.pix-qr-title{
  font-size:18px;
  font-weight:1000;
  color:#2f1d29;
}
.pix-qr{
  display:block;
  width:min(260px,100%);
  aspect-ratio:1;
  object-fit:contain;
  background:#fff;
  border-radius:18px;
  padding:12px;
  border:1px solid #ece3e8;
}
.pix-qr-help{
  margin:0;
  text-align:center;
  font-size:13px;
  line-height:1.55;
  color:#685a62;
}
.pix-bottom-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:22px;
  margin-top:22px;
  align-items:start;
}
.steps-card,
.pix-warning-card{
  border-radius:24px;
  border:1px solid #eddfe6;
  background:#fff;
  box-shadow:0 14px 30px rgba(52,22,41,.05);
}
.pix-steps{
  display:grid;
  gap:12px;
  padding:20px 22px;
  color:#6d6067;
  font-size:12px;
  line-height:1.5;
}
.pix-steps b{
  color:#2f222a;
  font-size:24px;
  line-height:1;
  margin-bottom:6px;
}
.pix-step-item{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.pix-step-item span{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#14aceb,#0e8ac8);
  color:#fff;
  font-weight:1000;
  box-shadow:0 10px 20px rgba(20,172,235,.20);
}
.pix-step-item p{
  margin:5px 0 0;
  color:#665962;
  font-size:14px;
}
.pix-warning-card{
  padding:18px;
  background:linear-gradient(180deg,#fffef8 0%,#fff9ed 100%);
  border-color:#f0e3bf;
}
.pix-warning-title{
  font-size:20px;
  font-weight:1000;
  color:#5a4310;
  margin-bottom:10px;
}
.pix-warning-card p{
  margin:0 0 14px;
  color:#775f1e;
  line-height:1.6;
  font-size:14px;
}
.pix-bank-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
}
.pix-bank-tags span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:68px;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff3c8;
  border:1px solid #f2df96;
  color:#7a5d15;
  font-size:12px;
  font-weight:900;
}
.pix-warning-card small{
  display:block;
  color:#826b28;
  line-height:1.55;
  font-size:12px;
}
.pix-state-icon{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:50%;
  margin-bottom:16px;
  background:#fff2c6;
  color:#8c6500;
  font-size:30px;
  font-weight:1000;
}
.pix-state-icon.success{
  background:#eaf8ef;
  color:#187444;
}
.pix-paid-wrap{
  max-width:700px;
}
.paid-box{margin:20px 0 14px}
.pix-success-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.pix-success-badges span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  background:#f6f4f5;
  border:1px solid #ece2e8;
  color:#584954;
  font-size:12px;
  font-weight:900;
}
.pix-dev-note{
  display:grid;
  gap:4px;
  margin:16px 0;
  padding:14px 16px;
  border-radius:16px;
  background:#fff8df;
  border:1px solid #f0df9b;
  color:#6e5c1c;
  font-size:12px;
  line-height:1.55;
}
.pix-main-button{
  margin-top:12px;
}
@media(max-width:1023px){
  .pix-hero-box,
  .pix-layout-rich,
  .pix-bottom-grid{
    grid-template-columns:1fr;
  }
  .pix-hero-illustration{
    max-width:340px;
  }
  .pix-qr-side{order:-1}
}
@media(max-width:759px){
  .pix-page{
    padding:14px 10px 32px !important;
  }
  .pix-checkout-card{
    padding:16px 14px;
    border-radius:22px;
  }
  .pix-checkout-card>h1,
  .pix-paid-wrap h1{
    font-size:31px;
  }
  .pix-lead{
    font-size:14px;
  }
  .pix-hero-box{
    gap:16px;
    padding-bottom:18px;
  }
  .pix-mini-row span{
    font-size:11px;
    min-height:32px;
    padding:7px 10px;
  }
  .pix-hero-illustration{
    height:180px;
    max-width:none;
  }
  .pix-phone{
    left:74px;
    top:24px;
    width:82px;
    height:138px;
  }
  .pix-clock{left:28px;top:24px}
  .pix-status-chip{
    width:100%;
    justify-content:center;
  }
  .pix-copy-box textarea{
    min-height:110px;
    font-size:11px;
  }
  .pix-copy-box button{
    min-height:50px;
    font-size:17px;
  }
  .pix-total-box{
    padding:16px;
  }
  .pix-total-box b{
    font-size:26px;
  }
  .pix-trust-card{
    grid-template-columns:42px minmax(0,1fr);
    padding:14px;
  }
  .pix-trust-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    font-size:20px;
  }
  .featured-qr-panel{
    padding:16px 14px;
    border-radius:20px;
  }
  .pix-qr{
    width:min(240px,78vw);
  }
  .pix-steps{
    padding:18px 16px;
  }
  .pix-steps b{
    font-size:21px;
  }
  .pix-step-item{
    grid-template-columns:32px minmax(0,1fr);
    gap:10px;
  }
  .pix-step-item span{
    width:32px;
    height:32px;
    font-size:13px;
  }
  .pix-step-item p,
  .pix-warning-card p{
    font-size:13px;
  }
  .pix-warning-card{
    padding:16px 14px;
    border-radius:20px;
  }
  .pix-warning-title{
    font-size:18px;
  }
  .pix-bank-tags span{
    min-width:60px;
    min-height:34px;
    font-size:11px;
  }
}

/* =========================================================
   Crystal Presentes v3.5.1 — ordenação dos produtos
   ========================================================= */
.product-sort-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:-6px 0 14px;
}
.product-sort-label{
  font-size:10px;
  font-weight:850;
  color:#756570;
}
.product-sort-form{
  margin:0;
}
.product-sort-form select{
  min-width:190px;
  height:42px;
  padding:0 38px 0 13px;
  border:1px solid #e3d8df;
  border-radius:12px;
  background:#fff;
  color:#33272f;
  font:inherit;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  outline:none;
  box-shadow:0 6px 16px rgba(54,24,43,.04);
}
.product-sort-form select:focus{
  border-color:#dc7bab;
  box-shadow:0 0 0 3px rgba(233,0,120,.08);
}
.product-sort-form noscript button{
  margin-left:6px;
  min-height:42px;
  border:0;
  border-radius:10px;
  padding:0 13px;
  background:#2e252b;
  color:#fff;
  font-weight:900;
}

@media(max-width:759px){
  .product-sort-row{
    justify-content:space-between;
    margin:0 0 12px;
    gap:8px;
  }
  .product-sort-label{
    white-space:nowrap;
  }
  .product-sort-form{
    flex:1;
    max-width:210px;
  }
  .product-sort-form select{
    width:100%;
    min-width:0;
    height:40px;
  }
}


/* =========================================================
   Crystal Presentes v3.5.2 — preço destacado como valor no PIX
   ========================================================= */
.pix-price-tag{
  display:inline-block;
  margin-left:4px;
  font-size:.48em;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
  color:#1f7a4a;
  vertical-align:middle;
  white-space:nowrap;
}
.product-card .price strong .pix-price-tag{
  font-size:9px;
}
.product-detail .price strong .pix-price-tag,
.detail-copy .price strong .pix-price-tag{
  font-size:11px;
}


/* =========================================================
   Crystal Presentes v3.6.0 — refino geral
   ========================================================= */
.institutional-page{
  max-width:900px !important;
  padding-top:26px !important;
  padding-bottom:44px !important;
}
.institutional-card{
  background:#fff;
  border:1px solid #eadfe5;
  border-radius:22px;
  padding:28px;
  box-shadow:0 16px 42px rgba(54,24,43,.06);
}
.institutional-card h1{
  margin:6px 0 20px;
  font-size:32px;
  letter-spacing:-.035em;
}
.institutional-card h2{
  margin:24px 0 7px;
  font-size:17px;
}
.institutional-card p{
  margin:0 0 12px;
  color:#6e6068;
  line-height:1.7;
  font-size:13px;
}
.product-card .stock-ok{
  color:#1d7849 !important;
}
@media(max-width:759px){
  .institutional-page{
    padding:16px 12px 34px !important;
  }
  .institutional-card{
    padding:20px 16px;
    border-radius:18px;
  }
  .institutional-card h1{
    font-size:26px;
  }
}


/* =========================================================
   Crystal Presentes v3.6.2 — refinamento mobile geral
   ========================================================= */
@media(max-width:759px){

  /* base */
  html,body{
    max-width:100%;
    overflow-x:hidden;
  }
  body{
    padding-bottom:78px;
  }
  main{
    width:100%;
    overflow:hidden;
  }

  /* faixa de campanha */
  .announcement{
    min-height:30px!important;
    padding:7px 0!important;
    font-size:9px!important;
    letter-spacing:.035em!important;
  }
  .announcement-track{
    gap:26px!important;
  }

  /* topo */
  .site-header{
    position:sticky!important;
    top:0!important;
    z-index:50!important;
    box-shadow:0 8px 24px rgba(75,22,55,.08)!important;
  }
  .topbar{
    min-height:70px!important;
    padding:8px 12px!important;
    gap:8px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
  }
  .modern-brand{
    min-width:0!important;
    gap:8px!important;
  }
  .brand-mark-image{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:14px!important;
  }
  .brand-wordmark{
    min-width:0!important;
  }
  .brand-wordmark b{
    display:block!important;
    max-width:160px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    font-size:16px!important;
    line-height:1.05!important;
  }
  .brand-wordmark small{
    display:none!important;
  }
  .top-actions{
    gap:5px!important;
  }
  .icon-btn{
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
  }
  .cart-badge b{
    min-width:18px!important;
    height:18px!important;
    font-size:9px!important;
    right:-4px!important;
    top:-4px!important;
  }

  /* busca */
  .search-panel{
    box-shadow:0 8px 22px rgba(70,24,53,.08)!important;
  }
  .search-panel form{
    margin:8px 10px!important;
    min-height:46px!important;
  }

  /* carrossel */
  .campaign-banner{
    width:100%!important;
    margin:10px 0 0!important;
    padding:0 10px!important;
  }
  .campaign-carousel{
    border-radius:18px!important;
    box-shadow:0 12px 28px rgba(80,23,60,.11)!important;
  }
  .campaign-slide img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    border-radius:18px!important;
  }
  .campaign-arrow{
    width:34px!important;
    height:34px!important;
    bottom:10px!important;
  }
  .campaign-arrow-prev{left:10px!important}
  .campaign-arrow-next{right:10px!important}
  .campaign-dots{
    bottom:10px!important;
    padding:5px 8px!important;
    gap:5px!important;
  }
  .campaign-dot{
    width:8px!important;
    height:8px!important;
  }
  .campaign-dot.is-active{
    width:22px!important;
  }

  /* benefícios */
  .commerce-highlights{
    width:100%!important;
    margin:10px 0 0!important;
    padding:0 10px 5px!important;
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }
  .commerce-highlights::-webkit-scrollbar{display:none!important}
  .commerce-highlights>div{
    display:flex!important;
    flex:0 0 82%!important;
    min-width:0!important;
    scroll-snap-align:start!important;
    padding:11px 12px!important;
    border-radius:14px!important;
    gap:10px!important;
  }
  .commerce-highlights>div:nth-child(2),
  .commerce-highlights>div:nth-child(3){
    display:flex!important;
  }
  .highlight-icon{
    width:38px!important;
    height:38px!important;
    border-radius:11px!important;
  }
  .commerce-highlights b{
    font-size:11px!important;
  }
  .commerce-highlights small{
    font-size:9px!important;
    line-height:1.3!important;
  }

  /* seções */
  .section{
    width:100%!important;
    margin-top:18px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .section-head{
    margin-bottom:12px!important;
    align-items:flex-start!important;
  }
  .section-head h2{
    font-size:22px!important;
    line-height:1.08!important;
  }
  .section-head p{
    font-size:11px!important;
    line-height:1.45!important;
    margin-top:5px!important;
  }
  .eyebrow{
    font-size:8px!important;
    margin-bottom:5px!important;
  }
  .count{
    font-size:9px!important;
    padding-top:3px!important;
  }

  /* cards promocionais mobile */
  .trend-grid{
    display:none!important;
  }
  .mobile-promo-strip{
    display:flex!important;
    width:100%!important;
    gap:10px!important;
    overflow-x:auto!important;
    padding:0 12px 8px!important;
    margin:18px 0 0!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }
  .mobile-promo-strip::-webkit-scrollbar{display:none!important}
  .mobile-promo-card{
    flex:0 0 84%!important;
    min-width:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    box-shadow:0 8px 22px rgba(60,24,48,.07)!important;
  }
  .mobile-promo-text{
    padding:14px 14px 10px!important;
  }
  .mobile-promo-text span{
    font-size:8px!important;
  }
  .mobile-promo-text h3{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    font-size:18px!important;
    line-height:1.08!important;
    margin:5px 0 6px!important;
  }
  .mobile-promo-text p{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    font-size:10px!important;
    line-height:1.4!important;
  }
  .mobile-promo-card img{
    height:142px!important;
    min-height:142px!important;
    max-height:142px!important;
    object-fit:cover!important;
  }

  /* categorias */
  .category-section{
    padding-top:10px!important;
  }
  .category-row{
    display:flex!important;
    grid-template-columns:none!important;
    gap:8px!important;
    overflow-x:auto!important;
    padding:2px 0 8px!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }
  .category-row::-webkit-scrollbar{display:none!important}
  .category-chip{
    flex:0 0 94px!important;
    min-width:94px!important;
    padding:10px 7px!important;
    border-radius:14px!important;
    scroll-snap-align:start!important;
    box-shadow:none!important;
  }
  .category-chip span{
    width:44px!important;
    height:44px!important;
    font-size:22px!important;
  }
  .category-chip b{
    font-size:9px!important;
    line-height:1.15!important;
    text-align:center!important;
  }

  /* ordenação */
  .product-sort-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin:0 0 10px!important;
  }
  .product-sort-label{
    font-size:9px!important;
    white-space:nowrap!important;
  }
  .product-sort-form{
    flex:1!important;
    max-width:205px!important;
  }
  .product-sort-form select{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    border-radius:10px!important;
    font-size:10px!important;
  }

  /* filtros */
  .product-filter-nav{
    display:flex!important;
    gap:7px!important;
    overflow-x:auto!important;
    padding:0 0 8px!important;
    margin:0 0 8px!important;
    scrollbar-width:none!important;
  }
  .product-filter-nav::-webkit-scrollbar{display:none!important}
  .product-filter-nav a{
    flex:0 0 auto!important;
    min-height:34px!important;
    display:flex!important;
    align-items:center!important;
    padding:0 11px!important;
    border-radius:999px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }

  /* produtos */
  .products-section{
    padding-top:14px!important;
  }
  .product-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .product-card{
    border-radius:15px!important;
    box-shadow:0 5px 16px rgba(62,28,51,.055)!important;
    overflow:hidden!important;
  }
  .product-image-wrap{
    aspect-ratio:1/1!important;
  }
  .product-info{
    padding:10px!important;
  }
  .product-cat{
    font-size:7px!important;
  }
  .product-info h3{
    font-size:11px!important;
    line-height:1.25!important;
    min-height:28px!important;
    margin:4px 0 7px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .price{
    gap:1px!important;
  }
  .price-label{
    font-size:8px!important;
  }
  .price strong{
    font-size:17px!important;
    line-height:1.1!important;
  }
  .price.sale{
    padding:7px 8px!important;
    border-radius:10px!important;
  }
  .price.sale strong{
    font-size:19px!important;
  }
  .pix-price-tag{
    display:block!important;
    margin:2px 0 0!important;
    font-size:8px!important;
  }
  .old-price{
    font-size:8px!important;
  }
  .save{
    margin-top:3px!important;
    padding:3px 6px!important;
    font-size:7px!important;
  }
  .payment-hint{
    font-size:8px!important;
    line-height:1.25!important;
  }
  .stock-ok{
    font-size:8px!important;
    margin:6px 0!important;
  }
  .add-cart{
    min-height:38px!important;
    padding:8px 5px!important;
    border-radius:10px!important;
    font-size:9px!important;
  }

  /* produto individual */
  .product-detail{
    margin-top:12px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .detail-image,
  .detail-copy{
    border-radius:16px!important;
  }
  .detail-copy{
    padding:14px!important;
  }
  .detail-copy h1{
    font-size:23px!important;
    line-height:1.08!important;
  }
  .detail-thumbs{
    gap:7px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .detail-thumbs::-webkit-scrollbar{display:none!important}
  .product-thumb{
    flex:0 0 64px!important;
    width:64px!important;
    height:64px!important;
  }
  .freight-calculator{
    margin-top:12px!important;
  }

  /* carrinho / checkout */
  .cart-page,
  .checkout-page,
  .result-page{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .cart-box,
  .checkout-card{
    border-radius:16px!important;
    padding:14px!important;
  }

  /* footer */
  .footer{
    margin-top:28px!important;
  }
  .footer-shell{
    padding:0 12px 18px!important;
  }
  .footer-main-card{
    padding:16px!important;
    border-radius:18px!important;
  }
  .footer-brand{
    gap:10px!important;
  }
  .footer-logo-mark-image{
    width:48px!important;
    height:48px!important;
  }
  .footer-brand strong{
    font-size:15px!important;
  }
  .footer-brand p{
    font-size:9px!important;
    line-height:1.45!important;
  }
  .footer-promise{
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin-top:12px!important;
  }
  .footer-promise span{
    min-height:0!important;
    padding:9px 10px!important;
    border-radius:12px!important;
  }
  .footer-links-grid{
    grid-template-columns:1fr 1fr!important;
    gap:18px 14px!important;
    padding:18px 4px 8px!important;
  }
  .footer-links-grid>div:last-child{
    grid-column:1/-1!important;
  }
  .footer-links-grid strong{
    font-size:10px!important;
  }
  .footer-links-grid a,
  .footer-links-grid p{
    font-size:9px!important;
    line-height:1.5!important;
  }
  .footer-bottom{
    padding:14px 4px 0!important;
    gap:4px!important;
    font-size:8px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }

  /* navegação inferior */
  .mobile-nav{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    width:auto!important;
    height:62px!important;
    padding:4px!important;
    border-radius:18px!important;
    background:rgba(43,23,40,.97)!important;
    box-shadow:0 12px 32px rgba(28,12,24,.22)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    padding-bottom:max(4px,env(safe-area-inset-bottom))!important;
  }
  .mobile-nav a,
  .mobile-nav button{
    min-width:0!important;
    padding:6px 3px!important;
    border-radius:13px!important;
  }
  .mobile-nav svg{
    width:18px!important;
    height:18px!important;
  }
  .mobile-nav span{
    font-size:7.5px!important;
    margin-top:2px!important;
  }

  /* WhatsApp não deve disputar espaço com a nav inferior */
  .whatsapp{
    bottom:82px!important;
    right:12px!important;
    padding:9px 11px!important;
    font-size:9px!important;
    border-radius:999px!important;
  }
}

@media(max-width:380px){
  .brand-wordmark b{
    max-width:130px!important;
    font-size:15px!important;
  }
  .product-grid{
    gap:7px!important;
  }
  .product-info{
    padding:8px!important;
  }
  .price strong{
    font-size:16px!important;
  }
  .add-cart{
    font-size:8px!important;
  }
}


/* =========================================================
   Crystal Presentes v3.6.3 — meta de frete grátis no carrinho
   ========================================================= */
.shipping-goal{
  margin-top:14px;
  padding:14px 15px;
  border:1px solid #eadfe5;
  border-radius:14px;
  background:#fff9fc;
}
.shipping-goal-text{
  display:grid;
  gap:3px;
}
.shipping-goal-text b{
  font-size:12px;
  color:#3a2c35;
}
.shipping-goal-text span{
  font-size:9px;
  color:#7a6b74;
  line-height:1.4;
}
.shipping-goal-bar{
  width:100%;
  height:8px;
  margin-top:10px;
  overflow:hidden;
  border-radius:999px;
  background:#f1e8ed;
}
.shipping-goal-bar span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#ef5ca2,#ffd34f);
  transition:width .28s ease;
}
.shipping-goal.is-complete{
  background:#eff9f3;
  border-color:#cfe8d8;
}
.shipping-goal.is-complete .shipping-goal-text b{
  color:#176d42;
}
.shipping-goal.is-complete .shipping-goal-text span{
  color:#4f7b63;
}
.shipping-goal.is-complete .shipping-goal-bar{
  background:#dfeee5;
}
.shipping-goal.is-complete .shipping-goal-bar span{
  background:linear-gradient(90deg,#35a86f,#7bd29e);
}

@media(max-width:759px){
  .shipping-goal{
    margin-top:12px;
    padding:12px 13px;
    border-radius:12px;
  }
  .shipping-goal-text b{
    font-size:11px;
  }
  .shipping-goal-text span{
    font-size:8.5px;
  }
  .shipping-goal-bar{
    height:7px;
    margin-top:8px;
  }
}


/* =========================================================
   Crystal Presentes v3.6.5 — Dúvidas frequentes
   ========================================================= */
.faq-card{
  max-width:860px;
  margin:0 auto;
}
.faq-intro{
  margin-bottom:20px !important;
}
.faq-list{
  display:grid;
  gap:10px;
}
.faq-item{
  border:1px solid #eadfe5;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.faq-item summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:15px 44px 15px 16px;
  font-size:13px;
  font-weight:900;
  color:#342830;
}
.faq-item summary::-webkit-details-marker{
  display:none;
}
.faq-item summary:after{
  content:'+';
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff0f7;
  color:#d4006e;
  font-size:18px;
  font-weight:700;
}
.faq-item[open] summary:after{
  content:'−';
}
.faq-item[open] summary{
  background:#fff9fc;
}
.faq-answer{
  padding:0 16px 15px;
}
.faq-answer p{
  margin:0;
  font-size:12px;
  line-height:1.65;
  color:#70626b;
}
.faq-answer a{
  color:#d0006b;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:2px;
}

@media(max-width:759px){
  .faq-list{
    gap:8px;
  }
  .faq-item{
    border-radius:12px;
  }
  .faq-item summary{
    padding:13px 40px 13px 13px;
    font-size:11px;
    line-height:1.35;
  }
  .faq-item summary:after{
    right:12px;
    width:22px;
    height:22px;
    font-size:16px;
  }
  .faq-answer{
    padding:0 13px 13px;
  }
  .faq-answer p{
    font-size:10px;
    line-height:1.6;
  }
}


/* =========================================================
   Crystal Presentes v3.6.7 — rodapé visível no mobile
   ========================================================= */
@media(max-width:759px){
  .footer{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin:28px 0 88px !important;
    padding:0 !important;
    transform:none !important;
  }

  .footer-shell{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:0 12px 18px !important;
    margin:0 !important;
  }

  .footer-main-card{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:16px !important;
    border-radius:18px !important;
  }

  .footer-brand,
  .footer-promise,
  .footer-links-grid,
  .footer-bottom{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .footer-brand{
    grid-template-columns:48px minmax(0,1fr) !important;
    align-items:center !important;
    gap:10px !important;
  }

  .footer-promise{
    grid-template-columns:1fr !important;
    gap:7px !important;
    margin-top:12px !important;
  }

  .footer-links-grid{
    grid-template-columns:1fr 1fr !important;
    gap:18px 14px !important;
    padding:18px 4px 8px !important;
  }

  .footer-links-grid > div{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    gap:6px !important;
    min-width:0 !important;
  }

  .footer-links-grid > div:last-child{
    grid-column:1/-1 !important;
  }

  .footer-links-grid a,
  .footer-links-grid p,
  .footer-links-grid strong,
  .footer-brand p,
  .footer-brand strong{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .footer-bottom{
    grid-template-columns:1fr !important;
    gap:4px !important;
    padding:14px 4px 0 !important;
    font-size:8px !important;
  }
}


/* =========================================================
   Crystal Presentes v3.6.8 — correção real do rodapé mobile
   Havia uma regra antiga: .footer>div:last-child{display:none!important}
   que escondia justamente .footer-shell no celular.
   ========================================================= */
@media(max-width:759px){
  footer.footer.footer-modern > div.footer-shell:last-child{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  footer.footer.footer-modern{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  footer.footer.footer-modern .footer-main-card,
  footer.footer.footer-modern .footer-links-grid,
  footer.footer.footer-modern .footer-bottom{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}


/* =========================================================
   Crystal Presentes v3.6.9 — rodapé mobile redesenhado
   ========================================================= */
@media(max-width:759px){

  footer.footer.footer-modern{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin:28px 0 84px !important;
    padding:0 12px !important;
    background:transparent !important;
  }

  footer.footer.footer-modern > .footer-shell{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* bloco principal */
  footer.footer.footer-modern .footer-main-card{
    display:block !important;
    padding:16px !important;
    border:1px solid rgba(78,32,61,.08) !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(75,25,58,.06) !important;
  }

  footer.footer.footer-modern .footer-brand{
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
  }

  footer.footer.footer-modern .footer-logo-mark-image{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:14px !important;
    overflow:hidden !important;
    background:#fff6fa !important;
  }

  footer.footer.footer-modern .footer-logo-image{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  footer.footer.footer-modern .footer-brand strong{
    display:block !important;
    margin:0 0 3px !important;
    font-size:15px !important;
    line-height:1.1 !important;
    color:#2f2430 !important;
  }

  footer.footer.footer-modern .footer-brand p{
    display:block !important;
    margin:0 !important;
    max-width:260px !important;
    font-size:9.5px !important;
    line-height:1.45 !important;
    color:#776873 !important;
  }

  /* selos/benefícios */
  footer.footer.footer-modern .footer-promise{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    margin-top:14px !important;
  }

  footer.footer.footer-modern .footer-promise span{
    display:grid !important;
    grid-template-columns:32px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:9px !important;
    align-items:center !important;
    min-height:58px !important;
    padding:10px 11px !important;
    border:1px solid #eee4e9 !important;
    border-radius:13px !important;
    background:#fffafc !important;
  }

  footer.footer.footer-modern .footer-promise svg{
    grid-row:1 / 3 !important;
    width:18px !important;
    height:18px !important;
    margin:auto !important;
    color:#d73381 !important;
  }

  footer.footer.footer-modern .footer-promise b{
    display:block !important;
    margin:0 !important;
    font-size:10px !important;
    line-height:1.15 !important;
    color:#3d3038 !important;
  }

  footer.footer.footer-modern .footer-promise small{
    display:block !important;
    margin:2px 0 0 !important;
    font-size:8.5px !important;
    line-height:1.35 !important;
    color:#81717c !important;
  }

  /* links */
  footer.footer.footer-modern .footer-links-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:18px 12px !important;
    margin-top:12px !important;
    padding:16px 2px 6px !important;
    background:transparent !important;
  }

  footer.footer.footer-modern .footer-links-grid > div{
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    min-width:0 !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:last-child{
    grid-column:1 / -1 !important;
    padding-top:2px !important;
  }

  footer.footer.footer-modern .footer-links-grid strong{
    display:block !important;
    margin-bottom:2px !important;
    font-size:9px !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
    color:#493643 !important;
  }

  footer.footer.footer-modern .footer-links-grid a,
  footer.footer.footer-modern .footer-links-grid p{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:9.5px !important;
    line-height:1.35 !important;
    color:#776873 !important;
    text-decoration:none !important;
  }

  footer.footer.footer-modern .footer-links-grid a{
    width:max-content !important;
    max-width:100% !important;
  }

  footer.footer.footer-modern .footer-links-grid a:active{
    color:#d73381 !important;
  }

  /* bloco de informações em formato de chips para não virar lista enorme */
  footer.footer.footer-modern .footer-links-grid > div:last-child{
    flex-direction:row !important;
    flex-wrap:wrap !important;
    gap:7px !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:last-child strong{
    width:100% !important;
    margin-bottom:1px !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:last-child a{
    width:auto !important;
    padding:7px 9px !important;
    border:1px solid #eadfe5 !important;
    border-radius:999px !important;
    background:#fff !important;
    font-size:8.5px !important;
    line-height:1 !important;
    color:#65535f !important;
  }

  /* base */
  footer.footer.footer-modern .footer-bottom{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:3px !important;
    margin-top:10px !important;
    padding:12px 2px 0 !important;
    border-top:1px solid #eee6ea !important;
    font-size:8px !important;
    line-height:1.35 !important;
    color:#9a8b94 !important;
  }
}


/* =========================================================
   Crystal Presentes v3.7.0 — rodapé mobile premium/confiança
   ========================================================= */
@media(max-width:759px){

  footer.footer.footer-modern{
    margin:34px 0 84px !important;
    padding:0 12px !important;
    background:transparent !important;
  }

  footer.footer.footer-modern > .footer-shell{
    position:relative !important;
    overflow:hidden !important;
    border-radius:24px !important;
    padding:0 !important;
    background:
      radial-gradient(circle at 85% 8%, rgba(255,105,180,.18), transparent 28%),
      radial-gradient(circle at 10% 90%, rgba(255,211,79,.10), transparent 24%),
      linear-gradient(160deg,#34202f 0%,#241821 58%,#1d151b 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 18px 42px rgba(42,20,34,.20) !important;
  }

  footer.footer.footer-modern > .footer-shell:before{
    content:"";
    display:block !important;
    width:100% !important;
    height:4px !important;
    background:linear-gradient(90deg,#f05ca8,#ff9bc7,#ffd34f) !important;
  }

  footer.footer.footer-modern .footer-main-card{
    position:relative !important;
    margin:0 !important;
    padding:18px 16px 14px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  footer.footer.footer-modern .footer-brand{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding-bottom:14px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }

  footer.footer.footer-modern .footer-logo-mark-image{
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    border-radius:15px !important;
    overflow:hidden !important;
    background:#fff !important;
    border:2px solid rgba(255,255,255,.18) !important;
    box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
  }

  footer.footer.footer-modern .footer-brand strong{
    font-size:16px !important;
    color:#fff !important;
    letter-spacing:-.01em !important;
  }

  footer.footer.footer-modern .footer-brand p{
    margin-top:4px !important;
    max-width:260px !important;
    font-size:9.5px !important;
    line-height:1.5 !important;
    color:rgba(255,255,255,.68) !important;
  }

  footer.footer.footer-modern .footer-promise{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-top:14px !important;
  }

  footer.footer.footer-modern .footer-promise span{
    position:relative !important;
    display:grid !important;
    grid-template-columns:36px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:10px !important;
    align-items:center !important;
    min-height:60px !important;
    padding:10px 12px !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:15px !important;
    background:rgba(255,255,255,.055) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
  }

  footer.footer.footer-modern .footer-promise span:before{
    content:"" !important;
    grid-row:1 / 3 !important;
    grid-column:1 !important;
    width:36px !important;
    height:36px !important;
    border-radius:12px !important;
    background:linear-gradient(145deg,#f05ca8,#c7357f) !important;
    box-shadow:0 8px 18px rgba(240,92,168,.18) !important;
  }

  footer.footer.footer-modern .footer-promise svg{
    position:relative !important;
    z-index:1 !important;
    grid-row:1 / 3 !important;
    grid-column:1 !important;
    width:17px !important;
    height:17px !important;
    margin:auto !important;
    color:#fff !important;
  }

  footer.footer.footer-modern .footer-promise b{
    font-size:10px !important;
    color:#fff !important;
    letter-spacing:.01em !important;
  }

  footer.footer.footer-modern .footer-promise small{
    margin-top:2px !important;
    font-size:8.5px !important;
    line-height:1.4 !important;
    color:rgba(255,255,255,.62) !important;
  }

  footer.footer.footer-modern .footer-links-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:20px 14px !important;
    margin:0 !important;
    padding:18px 16px 14px !important;
    background:rgba(255,255,255,.025) !important;
    border-top:1px solid rgba(255,255,255,.06) !important;
  }

  footer.footer.footer-modern .footer-links-grid > div{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:last-child{
    grid-column:1/-1 !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    padding-top:2px !important;
  }

  footer.footer.footer-modern .footer-links-grid strong{
    width:100% !important;
    margin-bottom:2px !important;
    font-size:9px !important;
    text-transform:uppercase !important;
    letter-spacing:.11em !important;
    color:#ff9dcb !important;
  }

  footer.footer.footer-modern .footer-links-grid a,
  footer.footer.footer-modern .footer-links-grid p{
    font-size:9.5px !important;
    line-height:1.4 !important;
    color:rgba(255,255,255,.72) !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:not(:last-child) a{
    position:relative !important;
    width:max-content !important;
    max-width:100% !important;
    padding-left:10px !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:not(:last-child) a:before{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    top:50% !important;
    width:4px !important;
    height:4px !important;
    border-radius:50% !important;
    transform:translateY(-50%) !important;
    background:#ffd34f !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:last-child a{
    width:auto !important;
    padding:8px 10px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.055) !important;
    color:rgba(255,255,255,.78) !important;
    font-size:8.5px !important;
    line-height:1 !important;
  }

  footer.footer.footer-modern .footer-bottom{
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
    margin:0 !important;
    padding:13px 16px 16px !important;
    border-top:1px solid rgba(255,255,255,.06) !important;
    background:rgba(0,0,0,.08) !important;
    color:rgba(255,255,255,.42) !important;
    font-size:8px !important;
  }
}


/* =========================================================
   Crystal Presentes v3.7.1 — corrige cards brancos no footer mobile
   ========================================================= */
@media(max-width:759px){

  /* As regras antigas deixavam estes blocos brancos enquanto
     o texto novo era claro, fazendo o conteúdo "sumir". */
  footer.footer.footer-modern .footer-links-grid > div{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.09) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
    border-radius:15px !important;
    padding:13px !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:nth-child(1),
  footer.footer.footer-modern .footer-links-grid > div:nth-child(2){
    flex-direction:column !important;
    gap:8px !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:last-child{
    flex-direction:row !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }

  footer.footer.footer-modern .footer-links-grid strong{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    color:#ff9dcb !important;
  }

  footer.footer.footer-modern .footer-links-grid a,
  footer.footer.footer-modern .footer-links-grid p{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:rgba(255,255,255,.82) !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:not(:last-child) a{
    width:max-content !important;
    max-width:100% !important;
    color:rgba(255,255,255,.86) !important;
  }

  footer.footer.footer-modern .footer-links-grid > div:last-child a{
    display:inline-flex !important;
    align-items:center !important;
    visibility:visible !important;
    opacity:1 !important;
    color:rgba(255,255,255,.84) !important;
    background:rgba(255,255,255,.07) !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }
}


/* Crystal Presentes v3.7.2 — identificação empresarial */
.footer-bottom span:nth-child(2){
  font-weight:700;
}

@media(max-width:759px){
  footer.footer.footer-modern .footer-bottom span:nth-child(2){
    color:rgba(255,255,255,.68) !important;
    font-weight:800 !important;
    letter-spacing:.02em !important;
  }
}


/* =========================================================
   Crystal Presentes v3.8.0 — mobile e página de produto
   ========================================================= */

/* confiança e conversão na página do produto */
.product-confidence-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 12px;
}
.product-confidence-line span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border-radius:999px;
  background:#fff4f9;
  color:#684354;
  font-size:9px;
  font-weight:800;
}
.product-confidence-line svg{
  width:13px;
  height:13px;
  color:#d93682;
}
.product-sales-cues{
  display:grid;
  gap:8px;
  margin:13px 0;
}
.sales-cue{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid #eee3e9;
  border-radius:14px;
  background:#fff;
}
.sales-cue-highlight{
  border-color:#f3d5e4;
  background:linear-gradient(135deg,#fff8fb,#fffdf5);
}
.sales-cue-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#f7e6ef;
  color:#c82c76;
  font-size:16px;
  font-weight:900;
}
.sales-cue b{
  display:block;
  font-size:10px;
  color:#40313a;
}
.sales-cue small{
  display:block;
  margin-top:2px;
  font-size:8.5px;
  line-height:1.4;
  color:#82727b;
}
.product-main-cta{
  min-height:52px;
  margin-top:14px;
  font-size:12px;
  box-shadow:0 10px 24px rgba(210,45,121,.20);
}
.product-description-card{
  margin-top:14px;
  padding:14px;
  border:1px solid #eee5ea;
  border-radius:14px;
  background:#fff;
}
.product-description-card h3{
  margin:0 0 7px;
}
.mobile-buy-bar{
  display:none;
}

@media(max-width:759px){

  /* mais respiro entre conteúdo e rodapé */
  footer.footer.footer-modern{
    margin-top:62px !important;
  }

  /* remove contorno duro do rodapé */
  footer.footer.footer-modern > .footer-shell{
    border:none !important;
    border-radius:20px !important;
    box-shadow:0 16px 38px rgba(42,20,34,.16) !important;
  }
  footer.footer.footer-modern > .footer-shell:before{
    height:3px !important;
    opacity:.85 !important;
  }

  /* página do produto mais editorial / menos "caixa em cima de caixa" */
  .product-detail{
    padding-left:10px !important;
    padding-right:10px !important;
    margin-top:8px !important;
    overflow:visible !important;
  }
  .product-detail .back{
    margin:2px 2px 10px !important;
    font-size:9px !important;
  }
  .detail-grid{
    display:block !important;
  }
  .product-gallery{
    margin:0 -2px !important;
  }
  .detail-image{
    border-radius:18px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:0 10px 28px rgba(58,27,47,.08) !important;
  }
  .detail-image img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1/1 !important;
    object-fit:contain !important;
    padding:8px !important;
  }
  .detail-discount{
    top:10px !important;
    left:10px !important;
    padding:6px 9px !important;
    border-radius:999px !important;
    font-size:9px !important;
    box-shadow:0 6px 14px rgba(150,30,80,.15) !important;
  }
  .product-thumbnails{
    margin:9px 0 0 !important;
    padding-bottom:2px !important;
  }
  .product-thumb{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    border-radius:11px !important;
  }

  .detail-copy{
    margin-top:10px !important;
    padding:16px 14px 14px !important;
    border:1px solid #f0e7eb !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 9px 25px rgba(58,27,47,.055) !important;
  }
  .detail-copy .eyebrow{
    margin-bottom:6px !important;
  }
  .detail-copy h1{
    margin:0 !important;
    font-size:23px !important;
    line-height:1.12 !important;
    letter-spacing:-.025em !important;
    color:#2f2630 !important;
  }
  .product-confidence-line{
    gap:6px !important;
    margin:9px 0 12px !important;
  }
  .product-confidence-line span{
    padding:6px 8px !important;
    font-size:8px !important;
  }

  .detail-copy .price.big{
    margin:6px 0 4px !important;
    padding:13px 12px !important;
    border-radius:14px !important;
    background:linear-gradient(135deg,#fff5fa,#fffaf0) !important;
    border:1px solid #f4dfe9 !important;
  }
  .detail-copy .price.big strong{
    font-size:27px !important;
    letter-spacing:-.03em !important;
  }
  .detail-copy .old-price{
    font-size:9px !important;
  }
  .detail-copy .save{
    margin-top:5px !important;
    font-size:8.5px !important;
  }
  .detail-copy .pix-price-tag{
    font-size:9px !important;
  }

  .product-sales-cues{
    gap:7px !important;
    margin:11px 0 !important;
  }
  .sales-cue{
    grid-template-columns:34px minmax(0,1fr) !important;
    padding:10px !important;
    border-radius:12px !important;
  }
  .sales-cue-icon{
    width:34px !important;
    height:34px !important;
    border-radius:10px !important;
  }
  .sales-cue b{
    font-size:9.5px !important;
  }
  .sales-cue small{
    font-size:8px !important;
  }

  .product-meta-row{
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    margin:10px 0 !important;
  }
  .product-meta-row .meta{
    padding:9px !important;
    border-radius:11px !important;
  }
  .product-meta-row .meta span{
    font-size:7.5px !important;
  }
  .product-meta-row .meta b{
    font-size:9px !important;
  }

  .freight-calculator{
    margin-top:10px !important;
    padding:12px !important;
    border-radius:13px !important;
    background:#faf7f9 !important;
    border:1px solid #eee3e8 !important;
  }
  .freight-title b{
    font-size:10px !important;
  }
  .freight-title span{
    font-size:8px !important;
  }
  .freight-form{
    gap:6px !important;
    margin-top:8px !important;
  }
  .freight-form input,
  .freight-form button{
    min-height:40px !important;
    border-radius:10px !important;
    font-size:9px !important;
  }

  .product-main-cta{
    min-height:50px !important;
    border-radius:13px !important;
    font-size:11px !important;
    margin-top:12px !important;
  }

  .purchase-note{
    margin-top:10px !important;
    padding:10px !important;
    border-radius:12px !important;
  }
  .purchase-note span{
    font-size:8px !important;
  }
  .detail-benefits{
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    margin-top:8px !important;
  }
  .detail-benefits > div{
    padding:10px !important;
    border-radius:12px !important;
  }
  .detail-benefits b{
    font-size:9px !important;
  }
  .detail-benefits span{
    font-size:8px !important;
    line-height:1.35 !important;
  }

  .product-description-card{
    margin-top:11px !important;
    padding:12px !important;
    border-radius:12px !important;
    background:#fcfafb !important;
  }
  .product-description-card h3{
    font-size:10px !important;
  }
  .product-description-card p{
    font-size:9px !important;
    line-height:1.55 !important;
  }

  /* CTA fixo discreto no mobile */
  .mobile-buy-bar{
    position:fixed !important;
    z-index:70 !important;
    left:10px !important;
    right:10px !important;
    bottom:76px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 132px !important;
    align-items:center !important;
    gap:9px !important;
    padding:9px 10px !important;
    border:1px solid rgba(61,31,49,.08) !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 12px 32px rgba(44,22,36,.18) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
  }
  .mobile-buy-price{
    min-width:0 !important;
  }
  .mobile-buy-price small{
    display:block !important;
    font-size:7.5px !important;
    color:#8b7984 !important;
  }
  .mobile-buy-price b{
    display:block !important;
    margin-top:1px !important;
    font-size:17px !important;
    color:#2f2630 !important;
    white-space:nowrap !important;
  }
  .mobile-buy-bar .btn{
    min-height:42px !important;
    border-radius:11px !important;
    font-size:10px !important;
  }

  /* compensa CTA + nav fixa */
  .product-detail{
    padding-bottom:72px !important;
  }
}

@media(max-width:380px){
  .mobile-buy-bar{
    grid-template-columns:minmax(0,1fr) 118px !important;
  }
  .mobile-buy-price b{
    font-size:15px !important;
  }
}


/* =========================================================
   Crystal Presentes v3.8.1 — gatilhos reais + cards mais fortes
   ========================================================= */

/* Página do produto */
.product-offer-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:8px 0 10px;
}
.offer-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.01em;
}
.offer-badge-hot{
  color:#fff;
  background:linear-gradient(135deg,#ee4d95,#c72e76);
  box-shadow:0 8px 20px rgba(210,46,118,.18);
}
.offer-badge-discount{
  color:#6d4b19;
  background:linear-gradient(135deg,#ffeaa5,#ffd34f);
}
.offer-badge-trust{
  color:#624050;
  background:#fff2f8;
  border:1px solid #f1d8e5;
}

.compare-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:4px;
}
.compare-line .old-price{
  display:inline-flex;
  align-items:center;
  font-size:11px;
  color:#9c8a94;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#d44c8e;
}
.sale-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:#fff;
  border:1px solid #f1d6e3;
  color:#cb3078;
  font-size:9px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(189,52,114,.08);
}

.detail-copy .price.big.sale{
  position:relative;
  overflow:hidden;
}
.detail-copy .price.big.sale:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(255,255,255,.75), transparent 38%);
  pointer-events:none;
}

/* Cards de produto na listagem */
.product-card{
  border:1px solid #efe5ea;
  box-shadow:0 10px 24px rgba(60,26,46,.055);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.product-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(60,26,46,.085);
  border-color:#edd2df;
}
.product-image-wrap{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff9fc,#fff);
}
.product-image-wrap img{
  transition:transform .24s ease;
}
.product-card:hover .product-image-wrap img{
  transform:scale(1.035);
}
.discount-pill{
  left:10px !important;
  top:10px !important;
  min-height:28px !important;
  padding:0 10px !important;
  border-radius:999px !important;
  font-size:10px !important;
  font-weight:900 !important;
  background:linear-gradient(135deg,#ef4e96,#c92f77) !important;
  color:#fff !important;
  box-shadow:0 9px 20px rgba(206,46,117,.2) !important;
}
.pill{
  right:10px !important;
  top:10px !important;
  min-height:24px !important;
  padding:0 8px !important;
  border-radius:999px !important;
  font-size:8px !important;
  font-weight:900 !important;
  background:#fff9e8 !important;
  color:#7b5c16 !important;
  border:1px solid #f4e4a5 !important;
}
.gift-hook{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  width:max-content !important;
  max-width:100% !important;
  margin:4px 0 6px !important;
  padding:5px 8px !important;
  border-radius:999px !important;
  background:#fff3f8 !important;
  color:#8a566d !important;
  font-size:8px !important;
  font-weight:800 !important;
}
.product-info h3{
  min-height:42px;
}
.product-info .price{
  border-radius:14px;
}
.product-info .price.sale{
  background:linear-gradient(135deg,#fff7fb,#fffdf7);
  border:1px solid #f3dce6;
}
.product-info .price.sale .old-price{
  display:block;
  margin-bottom:2px;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#d44c8e;
  color:#9a8993;
}
.product-info .price.sale strong{
  letter-spacing:-.02em;
}
.product-info .save{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#fff;
  border:1px solid #edd9e4;
  color:#c53078;
  font-size:8px;
  font-weight:900;
}
.payment-hint{
  margin-top:7px;
  padding-top:7px;
  border-top:1px dashed #efe3e9;
}
.stock-ok{
  margin:8px 0 10px;
  font-weight:700;
  color:#5b7b64;
}
.add-cart{
  box-shadow:0 8px 18px rgba(210,45,121,.13);
}

/* mobile product page and cards */
@media(max-width:759px){
  footer.footer.footer-modern{
    margin-top:84px !important;
  }
  footer.footer.footer-modern > .footer-shell{
    border-radius:22px !important;
    box-shadow:0 14px 34px rgba(42,20,34,.14) !important;
  }

  .product-offer-badges{
    gap:6px !important;
    margin:8px 0 10px !important;
  }
  .offer-badge{
    min-height:26px !important;
    padding:0 9px !important;
    font-size:8px !important;
  }
  .compare-line{
    margin-bottom:4px !important;
  }
  .compare-line .old-price{
    font-size:9px !important;
  }
  .sale-chip{
    min-height:22px !important;
    padding:0 8px !important;
    font-size:8px !important;
  }

  /* remove CTA fixo da versão anterior */
  .mobile-buy-bar{
    display:none !important;
  }
  .product-detail{
    padding-bottom:18px !important;
  }

  .product-card{
    border-radius:16px !important;
    box-shadow:0 8px 22px rgba(60,26,46,.06) !important;
  }
  .product-image-wrap{
    border-bottom:1px solid #f6edf2 !important;
  }
  .discount-pill{
    min-height:24px !important;
    padding:0 8px !important;
    font-size:8px !important;
    left:8px !important;
    top:8px !important;
  }
  .pill{
    right:8px !important;
    top:8px !important;
    min-height:22px !important;
    padding:0 7px !important;
    font-size:7px !important;
  }
  .gift-hook{
    font-size:7px !important;
    padding:4px 7px !important;
    margin:2px 0 5px !important;
  }
  .product-info h3{
    min-height:34px !important;
  }
  .product-info .price.sale{
    padding:8px 8px !important;
    border-radius:12px !important;
  }
  .product-info .price.sale .old-price{
    font-size:7px !important;
  }
  .product-info .save{
    margin-top:4px !important;
    font-size:7px !important;
  }
  .payment-hint{
    font-size:7.5px !important;
  }
}


/* =========================================================
   Crystal Presentes v3.8.2 — galeria, preço anterior e footer
   ========================================================= */

/* galeria com setas */
.detail-image{
  position:relative;
}
.gallery-arrow{
  position:absolute;
  z-index:5;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(62,36,52,.10);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#3e2a36;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(50,24,41,.12);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.gallery-arrow:hover{
  background:#fff;
  box-shadow:0 10px 26px rgba(50,24,41,.16);
}
.gallery-arrow:active{
  transform:translateY(-50%) scale(.94);
}
.gallery-arrow-prev{left:12px;}
.gallery-arrow-next{right:12px;}

#productMainImage{
  transition:opacity .16s ease, transform .16s ease;
}
#productMainImage.is-changing{
  opacity:.45;
  transform:scale(.985);
}

/* preço anterior mais claro visualmente */
.detail-copy .old-price{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  color:#97858f !important;
  text-decoration:line-through !important;
  text-decoration-thickness:2px !important;
  text-decoration-color:#d84a8f !important;
}
.detail-copy .old-price small{
  font-size:8px !important;
  font-weight:700 !important;
  color:#a4939d !important;
  text-decoration:none !important;
}
.detail-copy .compare-line{
  align-items:center !important;
}

/* remove a faixa colorida do topo do rodapé */
footer.footer.footer-modern > .footer-shell:before{
  display:none !important;
  content:none !important;
}

@media(max-width:759px){
  .gallery-arrow{
    width:36px !important;
    height:36px !important;
    font-size:24px !important;
    background:rgba(255,255,255,.96) !important;
  }
  .gallery-arrow-prev{left:8px !important;}
  .gallery-arrow-next{right:8px !important;}

  .detail-copy .old-price{
    font-size:9px !important;
    gap:5px !important;
  }
  .detail-copy .old-price small{
    font-size:7px !important;
  }

  footer.footer.footer-modern > .footer-shell{
    border-top:none !important;
  }
}


/* =========================================================
   Crystal Presentes v3.8.3 — card de preço redesenhado
   ========================================================= */

.detail-copy .product-price-card{
  display:block !important;
  width:100% !important;
  margin:12px 0 8px !important;
  padding:16px !important;
  border-radius:18px !important;
  border:1px solid #f0dbe5 !important;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,211,79,.16), transparent 25%),
    linear-gradient(135deg,#fff7fb 0%,#fff 56%,#fffaf1 100%) !important;
  box-shadow:0 10px 26px rgba(87,37,65,.07) !important;
  overflow:hidden !important;
}

.detail-copy .price-card-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:10px !important;
}

.detail-copy .product-price-card .old-price{
  display:inline-block !important;
  margin:0 !important;
  color:#9b8993 !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-decoration:line-through !important;
  text-decoration-thickness:2px !important;
  text-decoration-color:#d84a8f !important;
}

.detail-copy .product-price-card .sale-chip{
  flex:0 0 auto !important;
  min-height:30px !important;
  padding:0 11px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#ffe989,#ffd34f) !important;
  border:0 !important;
  color:#6c4b10 !important;
  font-size:10px !important;
  font-weight:950 !important;
  box-shadow:none !important;
}

.detail-copy .price-card-main{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:end !important;
  gap:14px !important;
}

.detail-copy .current-price-wrap{
  min-width:0 !important;
}

.detail-copy .price-card-label{
  display:block !important;
  margin-bottom:2px !important;
  color:#806d78 !important;
  font-size:9px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.detail-copy .product-price-card .current-price-wrap strong{
  display:block !important;
  margin:0 !important;
  color:#2f2330 !important;
  font-size:34px !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
}

.detail-copy .pix-emphasis{
  min-height:42px !important;
  padding:0 14px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:end !important;
  border-radius:13px !important;
  background:linear-gradient(135deg,#d93481,#b9286c) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.06em !important;
  box-shadow:0 8px 18px rgba(196,43,113,.16) !important;
  white-space:nowrap !important;
}

.detail-copy .price-card-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-top:12px !important;
  padding-top:10px !important;
  border-top:1px dashed #ead8e1 !important;
}

.detail-copy .product-price-card .save{
  margin:0 !important;
  padding:6px 9px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid #ead8e1 !important;
  color:#c22e74 !important;
  font-size:9px !important;
  font-weight:900 !important;
}

.detail-copy .price-card-note{
  color:#998892 !important;
  font-size:8px !important;
  font-weight:700 !important;
  text-align:right !important;
}

.detail-copy .regular-price-card{
  padding-top:18px !important;
  padding-bottom:18px !important;
}

@media(max-width:759px){
  .detail-copy .product-price-card{
    padding:13px !important;
    border-radius:15px !important;
  }

  .detail-copy .price-card-top{
    margin-bottom:9px !important;
  }

  .detail-copy .product-price-card .old-price{
    font-size:11px !important;
  }

  .detail-copy .product-price-card .sale-chip{
    min-height:26px !important;
    padding:0 9px !important;
    font-size:8px !important;
  }

  .detail-copy .price-card-main{
    gap:10px !important;
  }

  .detail-copy .price-card-label{
    font-size:7.5px !important;
  }

  .detail-copy .product-price-card .current-price-wrap strong{
    font-size:28px !important;
  }

  .detail-copy .pix-emphasis{
    min-height:38px !important;
    padding:0 12px !important;
    border-radius:11px !important;
    font-size:11px !important;
  }

  .detail-copy .price-card-bottom{
    margin-top:10px !important;
    padding-top:9px !important;
  }

  .detail-copy .product-price-card .save{
    font-size:7.5px !important;
    padding:5px 8px !important;
  }

  .detail-copy .price-card-note{
    font-size:7px !important;
  }
}

@media(max-width:380px){
  .detail-copy .product-price-card .current-price-wrap strong{
    font-size:25px !important;
  }
  .detail-copy .pix-emphasis{
    min-height:36px !important;
    padding:0 10px !important;
    font-size:10px !important;
  }
}


/* =========================================================
   Crystal Presentes v3.8.4 — destaque PIX mais elegante
   ========================================================= */

.detail-copy .pix-emphasis{
  min-height:auto !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  align-self:center !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#47333f !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}

.detail-copy .pix-emphasis .pix-dot{
  width:10px !important;
  height:10px !important;
  flex:0 0 10px !important;
  border-radius:50% !important;
  background:#d93481 !important;
  box-shadow:0 0 0 4px rgba(217,52,129,.09) !important;
}

.detail-copy .pix-emphasis > span:last-child{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:1px !important;
}

.detail-copy .pix-emphasis b{
  display:block !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.07em !important;
  color:#3b2b35 !important;
}

.detail-copy .pix-emphasis small{
  display:block !important;
  font-size:7.5px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#9a8792 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

@media(max-width:759px){
  .detail-copy .pix-emphasis{
    gap:7px !important;
  }

  .detail-copy .pix-emphasis .pix-dot{
    width:9px !important;
    height:9px !important;
    flex-basis:9px !important;
    box-shadow:0 0 0 3px rgba(217,52,129,.09) !important;
  }

  .detail-copy .pix-emphasis b{
    font-size:12px !important;
  }

  .detail-copy .pix-emphasis small{
    font-size:6.8px !important;
  }
}


/* Crystal Presentes v3.8.5 — galeria corrigida */
.gallery-arrow{
  pointer-events:auto !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}
.detail-image{
  touch-action:pan-y !important;
}


/* =========================================================
   Crystal Presentes v3.9.0 — refino de conversão
   ========================================================= */

.home-conversion-intro{
  max-width:1040px;
  margin-top:20px;
  text-align:center;
}
.home-conversion-intro .eyebrow{
  display:inline-block;
  margin-bottom:7px;
}
.home-conversion-intro h1{
  max-width:820px;
  margin:0 auto;
  font-size:clamp(28px,4vw,46px);
  line-height:1.04;
  letter-spacing:-.04em;
  color:#2f2630;
}
.home-conversion-intro p{
  max-width:670px;
  margin:12px auto 0;
  font-size:14px;
  line-height:1.55;
  color:#76636f;
}
.home-conversion-intro p strong{
  color:#c92e76;
}
.home-conversion-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:16px;
}
.home-conversion-actions .btn{
  min-width:150px;
}
.home-text-link{
  color:#604653;
  font-size:11px;
  font-weight:850;
  text-decoration:none;
}

/* Card de produto: menos ruído, oferta mais fácil de escanear */
.product-info .old-price{
  color:#9e8d97 !important;
  text-decoration:line-through !important;
  text-decoration-thickness:2px !important;
  text-decoration-color:#d64a8c !important;
}
.product-info .pix-price-tag{
  font-size:.45em !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
.product-info .save{
  font-weight:900 !important;
}
.product-info .payment-hint{
  color:#8e7784 !important;
}
.product-info .stock-ok{
  color:#4d795e !important;
}

/* Página do produto: remove espaço deixado pelos badges antigos */
.product-confidence-line{
  margin-top:10px !important;
}

@media(max-width:759px){
  .home-conversion-intro{
    margin-top:16px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .home-conversion-intro h1{
    font-size:25px !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
  }
  .home-conversion-intro p{
    margin-top:9px !important;
    font-size:10.5px !important;
    line-height:1.5 !important;
  }
  .home-conversion-actions{
    margin-top:13px !important;
    gap:12px !important;
  }
  .home-conversion-actions .btn{
    min-width:132px !important;
    min-height:42px !important;
    padding:10px 14px !important;
    border-radius:12px !important;
    font-size:9.5px !important;
  }
  .home-text-link{
    font-size:9px !important;
  }

  .commerce-highlights{
    margin-top:16px !important;
  }

  .product-info .old-price{
    font-size:7.5px !important;
  }
  .product-info .pix-price-tag{
    font-size:7px !important;
  }
  .product-info .payment-hint{
    margin-top:5px !important;
    padding-top:5px !important;
  }
}


/* =========================================================
   Crystal Presentes v3.9.1 — selo %OFF e compra protegida
   ========================================================= */

/* catálogo geral: centraliza o número/texto dentro do balão de desconto */
.discount-pill{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
  vertical-align:middle !important;
}
.discount-pill span,
.discount-pill b,
.discount-pill strong{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

/* página do produto: bloco "compra protegida" alinhado e centralizado no card */
.purchase-note{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
.purchase-note svg{
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  margin:0 !important;
}
.purchase-note span{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:3px !important;
  text-align:left !important;
}
.purchase-note b{
  display:block !important;
  margin:0 !important;
  line-height:1.15 !important;
}

@media(max-width:759px){
  .discount-pill{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1 !important;
  }

  .purchase-note{
    align-items:center !important;
  }
  .purchase-note span{
    justify-content:center !important;
  }
}


/* Crystal Presentes v4.0.2 — QR Code PIX */
.pix-qr{
  display:block !important;
  width:min(280px,100%) !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  object-fit:contain !important;
  margin:0 auto !important;
  padding:10px !important;
  border-radius:16px !important;
  background:#fff !important;
  image-rendering:auto !important;
}

/* =========================================================
   Crystal Presentes v4.0.4 — página PIX reorganizada
   ========================================================= */
.pix-hero-simple{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  padding:4px 0 18px;
}

.pix-layout-rich{
  grid-template-columns:minmax(0,1fr) 360px;
  gap:24px;
  align-items:start;
}

.compact-steps{
  margin-top:2px;
}

.compact-steps b{
  font-size:22px;
}

.qr-top-label{
  align-self:flex-start;
  margin:0 0 2px;
}

.in-qr{
  width:100%;
  margin-bottom:4px;
}

.in-qr textarea{
  min-height:96px;
}

.in-qr button{
  width:100%;
}

.bottom-grid-balanced{
  grid-template-columns:minmax(0,1fr);
  margin-top:24px;
}

.full-warning-card{
  padding:20px;
}

.pix-bank-showcase{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:14px 0 10px;
}

.bank-shot{
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(212,0,110,.12);
  box-shadow:0 12px 26px rgba(52,22,41,.08);
}

.bank-shot-top{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:linear-gradient(135deg,#fff7fb 0%,#f8fbff 100%);
  border-bottom:1px solid rgba(212,0,110,.10);
}

.bank-initial{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  font-size:14px;
  font-weight:1000;
  color:#fff;
  background:linear-gradient(135deg,#ff2e98,#ffb300);
  box-shadow:0 10px 18px rgba(212,0,110,.18);
}

.bank-shot-top b{
  color:#2e2029;
  font-size:15px;
  font-weight:1000;
}

.bank-shot-screen{
  display:grid;
  gap:10px;
  padding:14px;
  min-height:126px;
  background:linear-gradient(180deg,#ffffff 0%,#fff8fc 100%);
}

.bank-alert-pill{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:7px 12px;
  border-radius:999px;
  background:#fff2c7;
  color:#7f5f09;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.bank-shot-screen p{
  margin:0;
  color:#5f535a;
  font-size:13px;
  line-height:1.55;
}

@media (max-width: 980px){
  .pix-layout-rich{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width: 700px){
  .pix-hero-simple{
    padding:0 0 14px;
  }

  .pix-bank-showcase{
    grid-template-columns:minmax(0,1fr);
  }

  .bank-shot-screen{
    min-height:auto;
  }
}

/* =========================================================
   Crystal Presentes v4.0.6 — alertas reais em abas clicáveis
   ========================================================= */
.pix-bank-tabs{
  margin-top:16px;
}

.bank-tab-heads{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:14px;
}

.bank-tab-button{
  appearance:none;
  border:1px solid rgba(226,35,134,.18);
  background:linear-gradient(180deg,#fff 0%,#fff6fb 100%);
  color:#5a2c43;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  letter-spacing:.01em;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  box-shadow:0 8px 18px rgba(74,22,53,.06);
}

.bank-tab-button:hover{
  transform:translateY(-1px);
  border-color:rgba(226,35,134,.28);
}

.bank-tab-button.is-active{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#ff2e98 0%,#ffb300 100%);
  box-shadow:0 14px 26px rgba(226,35,134,.22);
}

.bank-tab-empty{
  padding:18px 18px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#fff8fc 100%);
  border:1px dashed rgba(226,35,134,.22);
  color:#7a6271;
  font-size:14px;
  line-height:1.6;
}

.bank-tab-panels{
  margin-top:14px;
}

.bank-tab-panel[hidden]{
  display:none !important;
}

.bank-tab-card{
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fff6fb 100%);
  border:1px solid rgba(226,35,134,.16);
  box-shadow:0 18px 38px rgba(74,22,53,.08);
}

.bank-tab-card .bank-shot-top{
  padding:14px 16px;
  background:linear-gradient(135deg,#fff2fa 0%,#fffaf0 100%);
}

.bank-tab-card .bank-shot-screen.with-image{
  padding:14px;
  display:grid;
  gap:12px;
  min-height:unset;
}

.bank-shot-image-wrap{
  border-radius:18px;
  overflow:hidden;
  background:#f7f7f7;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}

.bank-shot-image-wrap img{
  display:block;
  width:100%;
  height:auto;
}

.bank-shot-image-wrap.dark-shot{
  background:#111;
  border-color:rgba(255,255,255,.08);
}

.bank-shot-copy{
  display:grid;
  gap:8px;
}

.bank-shot-copy p{
  margin:0;
  color:#5a4c56;
  font-size:13px;
  line-height:1.6;
}

.bank-shot-copy strong{
  color:#351628;
}

.featured-qr-panel{
  align-items:stretch;
}

.featured-qr-panel .pix-qr-title,
.featured-qr-panel .pix-qr-help{
  text-align:center;
}

.featured-qr-panel .pix-qr-title{
  margin-top:2px;
}

@media (max-width: 700px){
  .bank-tab-heads{
    gap:8px;
    margin-bottom:12px;
  }

  .bank-tab-button{
    flex:1 1 calc(33.333% - 6px);
    min-width:0;
    padding:0 10px;
    font-size:13px;
    min-height:42px;
  }

  .bank-tab-empty{
    padding:15px 14px;
    font-size:13px;
  }

  .bank-tab-card .bank-shot-top{
    padding:12px 14px;
  }

  .bank-tab-card .bank-shot-screen.with-image{
    padding:12px;
  }

  .bank-shot-copy p{
    font-size:12.5px;
  }
}

/* =========================================================
   Crystal Presentes v4.0.7 — refinamento profissional da página PIX
   ========================================================= */
.pix-checkout-card{
  max-width:1180px;
  margin:0 auto;
  background:linear-gradient(180deg,#fffdfd 0%,#fff7fb 100%);
  border:1px solid rgba(228,214,223,.9);
  box-shadow:0 28px 60px rgba(69,27,50,.08);
}

.pix-hero-simple{
  padding:2px 0 22px;
  margin-bottom:8px;
  border-bottom:1px solid rgba(231,217,225,.8);
}

.pix-hero-copy h1{
  font-size:clamp(31px,4vw,44px);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:0 0 12px;
  color:#2d1626;
}

.pix-lead{
  max-width:760px;
}

.pix-mini-row span{
  background:linear-gradient(180deg,#fff 0%,#fff7fb 100%);
  border:1px solid rgba(228,214,223,.9);
  box-shadow:0 10px 20px rgba(69,27,50,.05);
}

.pix-layout-rich{
  grid-template-columns:minmax(0,1fr) 390px;
  gap:24px;
  align-items:start;
}

.pix-main-panel{
  display:grid;
  gap:16px;
}

.pix-status-chip{
  background:linear-gradient(180deg,#fff7d9 0%,#fff2b3 100%);
  border:1px solid #f4e191;
  box-shadow:0 12px 24px rgba(155,116,0,.08);
}

.pix-total-box{
  background:linear-gradient(180deg,#fffafd 0%,#fff3f9 100%);
  border:1px solid #efd9e5;
}

.pix-trust-card,
.steps-card,
.pix-warning-card,
.premium-qr-panel{
  box-shadow:0 18px 38px rgba(52,22,41,.06);
}

.premium-qr-panel{
  position:sticky;
  top:18px;
  gap:14px;
  padding:18px;
  background:linear-gradient(180deg,#fff 0%,#fff8fc 100%);
}

.pix-side-head{
  display:grid;
  gap:8px;
  width:100%;
  text-align:center;
}

.pix-side-chip{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 auto;
  min-height:32px;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff2e98 0%,#ffb300 100%);
  color:#fff;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 12px 24px rgba(226,35,134,.2);
}

.pix-side-head h3{
  margin:0;
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.03em;
  color:#301725;
}

.pix-side-head p{
  margin:0;
  color:#6a5b65;
  font-size:13px;
  line-height:1.6;
}

.qr-top-label{
  width:100%;
  text-align:left;
  margin:2px 0 -2px;
}

.premium-qr-panel .pix-copy-box textarea{
  min-height:108px;
  background:#fff;
  border-style:solid;
}

.premium-qr-panel .pix-copy-box button{
  background:linear-gradient(135deg,#ff2e98 0%,#ffb300 100%);
  box-shadow:0 16px 30px rgba(226,35,134,.2);
}

.pix-qr-divider{
  width:100%;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%, rgba(227,196,212,.9) 18%, rgba(227,196,212,.9) 82%, rgba(255,255,255,0) 100%);
}

.pix-qr-frame{
  width:100%;
  min-height:320px;
  display:grid;
  place-items:center;
  padding:16px;
  border-radius:24px;
  background:linear-gradient(180deg,#fff 0%,#fff9fc 100%);
  border:1px solid #efdfeb;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  box-sizing:border-box;
}

.pix-qr-title{
  font-size:20px;
}

.pix-qr{
  display:block !important;
  width:min(100%,280px) !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  object-fit:contain !important;
  padding:10px !important;
  border-radius:20px !important;
  background:#fff !important;
  border:1px solid #ece3e8 !important;
  box-shadow:0 18px 34px rgba(58,22,43,.08) !important;
  box-sizing:border-box !important;
}

.pix-qr-help{
  max-width:300px;
  margin:0 auto;
}

.full-warning-card{
  padding:18px;
}

.pix-warning-title{
  font-size:20px;
  font-weight:1000;
  color:#2f1a28;
  margin-bottom:6px;
}

.full-warning-card>p{
  margin:0 0 14px;
  color:#6b5c65;
  line-height:1.65;
}

.full-warning-card>small{
  display:block;
  margin-top:14px;
  color:#7a6c75;
  line-height:1.55;
}

@media (max-width:1023px){
  .premium-qr-panel{
    position:relative;
    top:auto;
  }

  .pix-layout-rich{
    grid-template-columns:1fr;
  }
}

@media (max-width:759px){
  .pix-checkout-card{
    box-shadow:0 18px 34px rgba(69,27,50,.08);
  }

  .pix-hero-simple{
    padding-bottom:18px;
    margin-bottom:6px;
  }

  .pix-hero-copy h1{
    font-size:31px;
  }

  .pix-mini-row{
    display:grid;
    grid-template-columns:1fr;
  }

  .pix-layout-rich{
    gap:16px;
  }

  .premium-qr-panel{
    padding:16px 14px;
    border-radius:22px;
    gap:12px;
  }

  .pix-side-head h3{
    font-size:20px;
  }

  .pix-side-head p{
    font-size:12.5px;
  }

  .premium-qr-panel .pix-copy-box textarea{
    min-height:96px;
    font-size:11px;
    padding:12px 14px;
  }

  .premium-qr-panel .pix-copy-box button{
    min-height:48px;
    font-size:16px;
  }

  .pix-qr-frame{
    min-height:auto;
    padding:12px;
    border-radius:20px;
  }

  .pix-qr{
    width:min(100%,250px) !important;
    padding:8px !important;
  }

  .pix-qr-help{
    max-width:unset;
    font-size:12.5px;
  }

  .full-warning-card{
    padding:16px 14px;
  }

  .pix-warning-title{
    font-size:18px;
    line-height:1.25;
  }
}


/* =========================================================
   Crystal Presentes v4.0.10 — loading do checkout
   ========================================================= */
.pay-button{
  position:relative;
  min-height:52px;
  overflow:hidden;
}

.checkout-submit-default,
.checkout-submit-loading{
  align-items:center;
  justify-content:center;
  gap:10px;
}

.checkout-submit-default{
  display:inline-flex;
}

.checkout-submit-loading{
  display:none;
}

.pay-button.is-loading{
  cursor:wait !important;
  pointer-events:none;
  opacity:1 !important;
  filter:none !important;
  background:linear-gradient(135deg,#e82988,#c7156c) !important;
}

.pay-button.is-loading .checkout-submit-default{
  display:none;
}

.pay-button.is-loading .checkout-submit-loading{
  display:inline-flex;
}

.checkout-spinner{
  width:18px;
  height:18px;
  border:2px solid rgba(255,255,255,.38);
  border-top-color:#fff;
  border-radius:50%;
  animation:checkoutSpinner .72s linear infinite;
  flex:0 0 18px;
}

@keyframes checkoutSpinner{
  to{transform:rotate(360deg)}
}

@media(max-width:759px){
  .pay-button{
    min-height:50px !important;
  }
  .checkout-submit-loading{
    font-size:10px;
  }
  .checkout-spinner{
    width:16px;
    height:16px;
    flex-basis:16px;
  }
}


/* =========================================================
   Crystal Presentes v4.0.11 — fallback extra para QR
   ========================================================= */
.pix-qr-frame{
  position:relative;
}

.pix-qr{
  margin:0 auto;
}

.pix-qr-error{
  min-height:220px;
  background:
    linear-gradient(180deg,#fff 0%,#fff8fc 100%),
    repeating-linear-gradient(45deg,rgba(233,42,136,.04) 0 10px, rgba(255,179,0,.05) 10px 20px) !important;
}


/* =========================================================
   Crystal Presentes v4.0.12 — QR mobile reforçado
   ========================================================= */
.pix-qr-frame{
  overflow:hidden !important;
}

#pixQrImage{
  display:block !important;
  width:280px !important;
  max-width:100% !important;
  height:280px !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
  margin:0 auto !important;
}

.pix-qr-frame.has-qr-error:after{
  content:"Se o QR não aparecer, use o PIX Copia e Cola acima.";
  display:block;
  max-width:260px;
  margin:12px auto 0;
  text-align:center;
  color:#75636e;
  font-size:12px;
  line-height:1.5;
}

@media(max-width:759px){
  #pixQrImage{
    width:min(250px,72vw) !important;
    height:min(250px,72vw) !important;
    min-width:210px !important;
    min-height:210px !important;
  }

  .pix-qr-frame{
    width:100% !important;
    min-height:274px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
  }
}


/* =========================================================
   Crystal Presentes v4.0.14 — scroll restaurado + fim do rodapé
   ========================================================= */
html,
body{
  min-height:100%;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:759px){
  body{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
    overflow-y:auto !important;
  }

  main{
    overflow-y:visible !important;
  }

  footer.footer.footer-modern{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }

  /* Reserva a barra fixa sem criar uma área vazia depois da página. */
  footer.footer.footer-modern > .footer-shell{
    margin-bottom:0 !important;
    padding-bottom:calc(78px + env(safe-area-inset-bottom)) !important;
  }

  footer.footer.footer-modern .footer-bottom{
    margin-bottom:0 !important;
  }
}


/* =========================================================
   Crystal Presentes v4.0.15 — selos de pagamento e confiança
   ========================================================= */
.footer-badges-card{
  margin:14px 0 0;
  padding:20px 22px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#fff7fb 100%);
  border:1px solid rgba(217,62,141,.12);
  box-shadow:0 18px 42px rgba(84,31,67,.07);
}

.footer-badges-group + .footer-badges-group{
  margin-top:18px;
}

.footer-badges-title{
  display:block;
  margin:0 0 12px;
  font-size:14px;
  line-height:1.2;
  color:#28162a;
}

.footer-badges-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.footer-badges-row-payments .footer-seal{
  flex:1 1 220px;
}

.footer-badges-row-security .footer-seal{
  flex:1 1 220px;
}

.footer-seal{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(35,26,37,.08);
  box-shadow:0 10px 26px rgba(37,19,32,.06);
}

.footer-seal-text small,
.footer-seal small{
  display:block;
  color:#756371;
  font-size:11px;
  line-height:1.35;
}

.footer-seal-text b,
.footer-seal b{
  display:block;
  color:#25192a;
  font-size:15px;
  line-height:1.15;
  margin-top:2px;
}

.footer-seal-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  flex:0 0 52px;
}

.footer-seal-icon svg{
  width:26px;
  height:26px;
}

.footer-seal-icon-card{
  color:#2a2431;
  background:linear-gradient(135deg,#fff8df 0%,#ffe9a4 100%);
}

.footer-seal-payment-pix .footer-seal-icon-pix{
  color:#0f9d84;
  background:linear-gradient(135deg,#ecfffb 0%,#cbfff2 100%);
}

.footer-seal-trust{
  display:block;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(40,106,255,.22);
}

.footer-seal-top{
  display:block;
  padding:9px 14px;
  background:linear-gradient(90deg,#365eff 0%,#6f7dff 100%);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}

.footer-seal-trust-body{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  background:linear-gradient(180deg,#ffffff 0%,#f6f8ff 100%);
}

.footer-seal-trust-body img{
  width:44px;
  height:44px;
  border-radius:14px;
  object-fit:cover;
  flex:0 0 44px;
  box-shadow:0 8px 18px rgba(255,39,153,.20);
}

.footer-seal-vtex,
.footer-seal-tuna{
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.footer-seal-vtex{
  background:linear-gradient(180deg,#fff 0%,#f8f8ff 100%);
  border-color:rgba(226,86,130,.24);
}

.footer-seal-vtex .footer-seal-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff4f89 0%,#ff8db0 100%);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
}

.footer-seal-tuna{
  background:linear-gradient(180deg,#fff 0%,#f5fff9 100%);
  border-color:rgba(38,163,104,.24);
}

.footer-seal-tuna .footer-seal-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#2cab73 0%,#7ed69c 100%);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
}

@media(max-width:759px){
  .footer-badges-card{
    padding:18px 16px;
    border-radius:18px;
  }

  .footer-badges-title{
    font-size:13px;
    margin-bottom:10px;
  }

  .footer-badges-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .footer-seal{
    padding:12px 13px;
    border-radius:16px;
    gap:10px;
  }

  .footer-seal-text b,
  .footer-seal b{
    font-size:14px;
  }

  .footer-seal-text small,
  .footer-seal small{
    font-size:10px;
  }

  .footer-seal-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
    border-radius:14px;
  }

  .footer-seal-icon svg{
    width:22px;
    height:22px;
  }

  .footer-seal-top{
    font-size:10px;
    padding:8px 12px;
  }

  .footer-seal-trust-body{
    padding:12px;
  }

  .footer-seal-trust-body img{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
}


/* =========================================================
   Crystal Presentes v4.0.16 — selos refinados no mobile
   ========================================================= */
@media(max-width:759px){

  .footer-badges-card{
    width:calc(100% - 28px) !important;
    margin:14px auto 0 !important;
    padding:15px 12px !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 12px 28px rgba(26,10,20,.14) !important;
    overflow:hidden !important;
  }

  .footer-badges-group + .footer-badges-group{
    margin-top:16px !important;
    padding-top:15px !important;
    border-top:1px solid #eee4ea !important;
  }

  .footer-badges-title{
    margin:0 0 10px !important;
    font-size:12px !important;
    line-height:1.2 !important;
    letter-spacing:.01em !important;
    color:#2e202a !important;
  }

  /* Cartão + PIX realmente lado a lado */
  .footer-badges-row-payments{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .footer-badges-row-payments .footer-seal{
    min-width:0 !important;
    min-height:82px !important;
    padding:10px 8px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    text-align:center !important;
    border-radius:15px !important;
  }

  .footer-badges-row-payments .footer-seal-icon{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
    border-radius:12px !important;
  }

  .footer-badges-row-payments .footer-seal-icon svg{
    width:20px !important;
    height:20px !important;
  }

  .footer-badges-row-payments .footer-seal-text small{
    display:none !important;
  }

  .footer-badges-row-payments .footer-seal-text b{
    margin:0 !important;
    font-size:11px !important;
    line-height:1.2 !important;
  }

  /* Segurança: loja confiável em destaque + 2 selos compactos abaixo */
  .footer-badges-row-security{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .footer-badges-row-security .footer-seal-trust{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-height:0 !important;
    border-radius:15px !important;
  }

  .footer-seal-top{
    padding:7px 10px !important;
    font-size:8px !important;
    line-height:1 !important;
    letter-spacing:.08em !important;
  }

  .footer-seal-trust-body{
    padding:10px !important;
    gap:9px !important;
  }

  .footer-seal-trust-body img{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
    border-radius:11px !important;
  }

  .footer-seal-trust-body b{
    margin:0 !important;
    font-size:12px !important;
    line-height:1.15 !important;
  }

  .footer-seal-trust-body small{
    margin-top:2px !important;
    font-size:9px !important;
    line-height:1.3 !important;
  }

  .footer-badges-row-security .footer-seal-vtex,
  .footer-badges-row-security .footer-seal-tuna{
    min-width:0 !important;
    min-height:92px !important;
    padding:10px !important;
    border-radius:15px !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:4px !important;
  }

  .footer-seal-vtex .footer-seal-label,
  .footer-seal-tuna .footer-seal-label{
    padding:5px 9px !important;
    font-size:9px !important;
    line-height:1 !important;
  }

  .footer-badges-row-security .footer-seal-vtex b,
  .footer-badges-row-security .footer-seal-tuna b{
    margin:2px 0 0 !important;
    font-size:9px !important;
    line-height:1.15 !important;
  }

  .footer-badges-row-security .footer-seal-vtex small,
  .footer-badges-row-security .footer-seal-tuna small{
    font-size:8px !important;
    line-height:1.2 !important;
  }

  /* Não deixa os selos encostarem na barra móvel */
  footer.footer.footer-modern > .footer-shell{
    padding-bottom:calc(84px + env(safe-area-inset-bottom)) !important;
  }
}

@media(max-width:360px){
  .footer-badges-card{
    width:calc(100% - 20px) !important;
    padding:13px 10px !important;
  }

  .footer-badges-row-payments,
  .footer-badges-row-security{
    gap:6px !important;
  }

  .footer-badges-row-security .footer-seal-vtex,
  .footer-badges-row-security .footer-seal-tuna{
    padding:8px 6px !important;
  }
}


/* =========================================================
   Crystal Presentes v4.0.17 — selos do rodapé mais naturais
   ========================================================= */
.footer-badges-card{
  margin:18px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

.footer-badges-group + .footer-badges-group{
  margin-top:14px !important;
  padding-top:0 !important;
  border-top:none !important;
}

.footer-badges-title{
  display:block !important;
  margin:0 0 10px !important;
  padding-left:2px !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
  color:#8b5672 !important;
}

.footer-badges-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.footer-badges-row-payments .footer-seal,
.footer-badges-row-security .footer-seal{
  flex:1 1 220px;
}

.footer-seal{
  min-width:0;
  border-radius:18px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(223,151,184,.32) !important;
  box-shadow:0 10px 24px rgba(83,27,63,.07) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.footer-seal-payment{
  align-items:center !important;
}

.footer-seal-trust{
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,247,252,.96) 100%) !important;
}

.footer-seal-top{
  background:linear-gradient(90deg,#ff4fa1 0%,#ff7bb6 60%,#ffd13e 100%) !important;
  color:#fff !important;
}

.footer-seal-trust-body{
  background:transparent !important;
}

.footer-seal-vtex{
  background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(249,245,255,.95) 100%) !important;
}

.footer-seal-tuna{
  background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(243,255,249,.95) 100%) !important;
}

@media(max-width:759px){
  .footer-badges-card{
    width:100% !important;
    margin:16px 0 0 !important;
  }

  .footer-badges-title{
    font-size:10px !important;
    margin:0 0 8px !important;
  }

  .footer-badges-row-payments{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .footer-badges-row-payments .footer-seal{
    min-height:76px !important;
    padding:10px 8px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    text-align:center !important;
    border-radius:16px !important;
  }

  .footer-badges-row-payments .footer-seal-icon{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
    border-radius:11px !important;
  }

  .footer-badges-row-payments .footer-seal-text small{
    display:none !important;
  }

  .footer-badges-row-payments .footer-seal-text b{
    margin:0 !important;
    font-size:11px !important;
    line-height:1.15 !important;
  }

  .footer-badges-row-security{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .footer-badges-row-security .footer-seal-trust{
    grid-column:1 / -1 !important;
    width:100% !important;
  }

  .footer-seal-trust-body{
    padding:10px !important;
    gap:10px !important;
  }

  .footer-seal-trust-body img{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
  }

  .footer-badges-row-security .footer-seal-vtex,
  .footer-badges-row-security .footer-seal-tuna{
    min-height:88px !important;
    padding:10px 8px !important;
    border-radius:16px !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:4px !important;
  }

  .footer-seal-vtex .footer-seal-label,
  .footer-seal-tuna .footer-seal-label{
    font-size:9px !important;
    padding:5px 8px !important;
  }

  .footer-badges-row-security .footer-seal-vtex b,
  .footer-badges-row-security .footer-seal-tuna b{
    font-size:9px !important;
    line-height:1.15 !important;
    margin:0 !important;
  }

  .footer-badges-row-security .footer-seal-vtex small,
  .footer-badges-row-security .footer-seal-tuna small{
    font-size:8px !important;
    line-height:1.2 !important;
  }

  footer.footer.footer-modern > .footer-shell{
    padding-bottom:calc(84px + env(safe-area-inset-bottom)) !important;
  }
}

@media(max-width:360px){
  .footer-badges-row-payments,
  .footer-badges-row-security{
    gap:6px !important;
  }

  .footer-badges-row-security .footer-seal-vtex,
  .footer-badges-row-security .footer-seal-tuna{
    padding:8px 6px !important;
  }
}


/* =========================================================
   Crystal Presentes v4.0.18 — rodapé sem quadrados brancos
   ========================================================= */
.footer-badges-card{
  margin:18px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

.footer-badges-title{
  color:rgba(255,255,255,.74) !important;
}

.footer-badges-row{
  gap:12px !important;
  align-items:stretch !important;
}

.footer-seal{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-radius:0 !important;
  padding:0 !important;
}

.footer-seal-text b,
.footer-seal b{
  color:#ffffff !important;
}

.footer-seal-text small,
.footer-seal small{
  color:rgba(255,255,255,.68) !important;
}

.footer-seal-icon{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:none !important;
}

.footer-seal-icon-card{
  color:#fff !important;
  background:rgba(255,211,79,.18) !important;
}

.footer-seal-payment-pix .footer-seal-icon-pix{
  color:#7effdf !important;
  background:rgba(70,255,204,.12) !important;
}

.footer-seal-payment{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

.footer-seal-trust{
  display:block !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  overflow:hidden !important;
}

.footer-seal-top{
  background:rgba(255,255,255,.08) !important;
  color:#ffe173 !important;
}

.footer-seal-trust-body{
  background:transparent !important;
}

.footer-seal-trust-body img{
  background:#fff !important;
}

.footer-seal-vtex,
.footer-seal-tuna{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:4px !important;
  padding:12px 14px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

.footer-seal-vtex .footer-seal-label{
  background:rgba(255,79,137,.18) !important;
  color:#fff !important;
}

.footer-seal-tuna .footer-seal-label{
  background:rgba(44,172,115,.18) !important;
  color:#fff !important;
}

@media(max-width:759px){
  footer.footer.footer-modern{
    margin:54px 0 84px !important;
    padding:0 !important;
    background:
      radial-gradient(circle at 85% 8%, rgba(255,105,180,.18), transparent 28%),
      radial-gradient(circle at 10% 90%, rgba(255,211,79,.10), transparent 24%),
      linear-gradient(160deg,#34202f 0%,#241821 58%,#1d151b 100%) !important;
  }

  footer.footer.footer-modern > .footer-shell{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
    padding:0 14px calc(84px + env(safe-area-inset-bottom)) !important;
    box-sizing:border-box !important;
  }

  footer.footer.footer-modern > .footer-shell:before{
    margin:0 -14px 0 !important;
    width:calc(100% + 28px) !important;
    opacity:1 !important;
  }

  .footer-badges-card{
    margin:16px 0 0 !important;
  }

  .footer-badges-title{
    font-size:10px !important;
    margin:0 0 8px !important;
    color:rgba(255,255,255,.72) !important;
  }

  .footer-badges-row-payments{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .footer-badges-row-payments .footer-seal{
    min-height:74px !important;
  }

  .footer-seal-payment{
    padding:10px 8px !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:6px !important;
  }

  .footer-seal-payment .footer-seal-text small{
    display:none !important;
  }

  .footer-seal-payment .footer-seal-text b{
    font-size:11px !important;
    line-height:1.15 !important;
    margin:0 !important;
  }

  .footer-seal-icon{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
    border-radius:11px !important;
  }

  .footer-badges-row-security{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .footer-badges-row-security .footer-seal-trust{
    grid-column:1 / -1 !important;
  }

  .footer-seal-trust-body{
    padding:10px !important;
    gap:10px !important;
  }

  .footer-seal-trust-body img{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
    border-radius:12px !important;
  }

  .footer-seal-vtex,
  .footer-seal-tuna{
    min-height:88px !important;
    padding:10px 8px !important;
    align-items:center !important;
    text-align:center !important;
  }

  .footer-seal-vtex .footer-seal-label,
  .footer-seal-tuna .footer-seal-label{
    font-size:9px !important;
    padding:5px 8px !important;
  }

  .footer-seal-vtex b,
  .footer-seal-tuna b{
    font-size:9px !important;
    line-height:1.15 !important;
    margin:0 !important;
  }

  .footer-seal-vtex small,
  .footer-seal-tuna small{
    font-size:8px !important;
    line-height:1.2 !important;
  }
}

@media(min-width:760px){
  footer.footer.footer-modern{
    background:linear-gradient(180deg,#f3eff1 0%, #efe6eb 100%) !important;
    padding-bottom:0 !important;
  }

  footer.footer.footer-modern > .footer-shell{
    background:transparent !important;
  }
}


/* =========================================================
   Crystal Presentes v4.0.19 — segurança só com Loja Confiável
   ========================================================= */
.footer-badges-row-security{
  display:block !important;
}

.footer-badges-row-security .footer-seal-trust{
  width:100% !important;
  max-width:520px !important;
  margin:0 !important;
}

@media(max-width:759px){
  .footer-badges-row-security{
    display:block !important;
  }

  .footer-badges-row-security .footer-seal-trust{
    width:100% !important;
    max-width:none !important;
    grid-column:auto !important;
  }
}


/* =========================================================
   Crystal Presentes v4.0.20 — página termina no rodapé
   ========================================================= */
html,
body{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

footer.footer.footer-modern{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

@media(max-width:759px){
  /*
   * O espaço necessário para a barra móvel fica dentro do próprio
   * rodapé. Assim não sobra área branca/de fundo depois dele.
   */
  footer.footer.footer-modern{
    margin:54px 0 0 !important;
    padding:0 !important;
    background:
      radial-gradient(circle at 85% 8%, rgba(255,105,180,.18), transparent 28%),
      radial-gradient(circle at 10% 90%, rgba(255,211,79,.10), transparent 24%),
      linear-gradient(160deg,#34202f 0%,#241821 58%,#1d151b 100%) !important;
  }

  footer.footer.footer-modern > .footer-shell{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 14px calc(92px + env(safe-area-inset-bottom)) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
    box-sizing:border-box !important;
  }

  footer.footer.footer-modern .footer-bottom{
    margin-bottom:0 !important;
    padding-bottom:14px !important;
  }

  body{
    overflow-y:auto !important;
    overscroll-behavior-y:auto !important;
  }
}

@media(min-width:760px){
  footer.footer.footer-modern{
    margin-bottom:0 !important;
  }
}


/* =========================================================
   Crystal Presentes v4.0.21 — selos com imagens de PIX e cartões
   ========================================================= */
.footer-seal-payment-has-image{
  gap:14px !important;
}

.footer-seal-media{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.footer-seal-media img{
  display:block;
  max-width:100%;
  height:auto;
}

.footer-seal-payment-card{
  align-items:center !important;
}

.footer-seal-payment-card .footer-seal-media-card{
  width:min(100%, 180px);
}

.footer-seal-payment-card .footer-seal-media-card img{
  width:100%;
  max-height:54px;
  object-fit:contain;
}

.footer-seal-payment-pix .footer-seal-media-pix{
  width:min(100%, 150px);
}

.footer-seal-payment-pix .footer-seal-media-pix img{
  width:100%;
  max-height:44px;
  object-fit:contain;
}

.footer-seal-payment-has-image .footer-seal-text{
  min-width:0;
}

/* remove ícone antigo quando usa imagem */
.footer-seal-payment-has-image .footer-seal-icon{
  display:none !important;
}

@media(min-width:760px){
  .footer-badges-row-payments .footer-seal-payment-has-image{
    justify-content:space-between !important;
    gap:16px !important;
  }
  .footer-seal-payment-card .footer-seal-media-card{
    width:min(100%, 220px);
  }
  .footer-seal-payment-pix .footer-seal-media-pix{
    width:min(100%, 180px);
  }
}

@media(max-width:759px){
  .footer-badges-row-payments .footer-seal-payment-has-image{
    min-height:88px !important;
    padding:12px 10px !important;
    gap:8px !important;
  }

  .footer-seal-payment-card .footer-seal-media-card{
    width:100%;
    max-width:112px;
  }

  .footer-seal-payment-card .footer-seal-media-card img{
    max-height:34px;
  }

  .footer-seal-payment-pix .footer-seal-media-pix{
    width:100%;
    max-width:86px;
  }

  .footer-seal-payment-pix .footer-seal-media-pix img{
    max-height:26px;
  }

  .footer-seal-payment-has-image .footer-seal-text b{
    font-size:11px !important;
  }
}


/* =========================================================
   Crystal Presentes v4.0.24 — seleção PIX / Cartão no checkout
   ========================================================= */
.checkout-payment-card{
  overflow:hidden;
}

.payment-method-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.payment-method-option{
  position:relative;
  width:100%;
  min-width:0;
  min-height:126px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
  padding:14px;
  border:1px solid #e5d7df;
  border-radius:17px;
  background:#fff;
  color:#3e2a37;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}

.payment-method-option:hover{
  transform:translateY(-1px);
  border-color:#dca9c4;
  box-shadow:0 10px 24px rgba(66,28,51,.07);
}

.payment-method-option.is-active{
  border-color:#df297f;
  box-shadow:0 0 0 3px rgba(235,0,122,.08);
  background:linear-gradient(180deg,#fff 0%,#fff7fb 100%);
}

.payment-method-logo{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.payment-method-logo img{
  display:block;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.payment-method-logo-pix img{
  width:82px;
  max-height:30px;
}

.payment-method-logo-card img{
  width:142px;
  max-height:38px;
}

.payment-method-copy{
  display:grid;
  gap:2px;
}

.payment-method-copy b{
  font-size:14px;
  color:#2c1b26;
}

.payment-method-copy small{
  font-size:9px;
  color:#88727f;
}

.payment-method-status{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:4px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.02em;
}

.payment-method-status.available{
  background:#e8f8ef;
  color:#177346;
}

.payment-method-status.unavailable{
  background:#f4edf1;
  color:#765e6d;
}

.payment-method-panel{
  margin-top:12px;
  padding:13px 14px;
  border-radius:16px;
  border:1px solid #e9dbe3;
  background:#fff9fc;
}

.payment-method-panel[hidden]{
  display:none !important;
}

.payment-method-panel.is-active{
  animation:paymentPanelIn .18s ease both;
}

.payment-method-panel[data-payment-panel="pix"]{
  display:flex;
  align-items:flex-start;
  gap:11px;
  border-color:#d8efdf;
  background:#f4fff8;
}

.payment-info-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e2f7ea;
  color:#187544;
  font-size:14px;
  font-weight:1000;
}

.payment-method-panel b{
  display:block;
  font-size:12px;
  color:#33222d;
}

.payment-method-panel p{
  margin:4px 0 0;
  color:#7d6976;
  font-size:9.5px;
  line-height:1.5;
}

.payment-card-unavailable{
  background:#fff8f5;
  border-color:#f1dfd5;
}

.payment-card-unavailable-head{
  display:flex;
  gap:11px;
  align-items:flex-start;
}

.payment-card-unavailable .payment-info-icon{
  background:#fff0df;
  color:#a76516;
}

.payment-switch-pix{
  margin-top:12px;
  min-height:42px;
  padding:0 14px;
  border:1px solid #df297f;
  background:#fff;
  color:#c40065;
  box-shadow:none;
}

.payment-switch-pix:hover{
  background:#fff5fa;
}

.pay-button.payment-blocked{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none !important;
}

@keyframes paymentPanelIn{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:none}
}

@media(max-width:520px){
  .payment-method-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .payment-method-option{
    min-height:116px;
    padding:11px 10px;
    border-radius:15px;
  }

  .payment-method-logo{
    min-height:32px;
  }

  .payment-method-logo-pix img{
    width:66px;
    max-height:25px;
  }

  .payment-method-logo-card img{
    width:112px;
    max-height:31px;
  }

  .payment-method-copy b{
    font-size:12px;
  }

  .payment-method-copy small{
    font-size:8px;
  }

  .payment-method-status{
    padding:4px 6px;
    font-size:7.5px;
  }

  .payment-method-panel{
    padding:12px;
  }
}

@media(max-width:355px){
  .payment-method-grid{
    grid-template-columns:1fr;
  }

  .payment-method-option{
    min-height:104px;
  }
}


/* =========================================================
   Crystal Presentes v4.0.25 — campos de cartão sem integração
   ========================================================= */
.payment-method-option{
  min-height:104px !important;
}

.payment-method-status{
  display:none !important;
}

.payment-card-form-panel{
  background:#fff !important;
  border-color:#eadde5 !important;
}

.payment-card-form-head{
  margin-bottom:14px;
}

.payment-card-form-head b{
  font-size:14px;
}

.payment-card-form-head p{
  max-width:620px;
}

.card-fields-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.card-field{
  display:block;
  min-width:0;
}

.card-field-full{
  grid-column:1 / -1;
}

.card-field > span{
  display:block;
  margin-bottom:6px;
  color:#57414f;
  font-size:10px;
  font-weight:800;
}

.card-field input,
.card-field select{
  width:100%;
  min-width:0;
  height:46px;
  padding:0 13px;
  border:1px solid #e2d4dc;
  border-radius:13px;
  background:#fff;
  color:#2d1d27;
  outline:none;
  font:inherit;
  font-size:13px;
  box-sizing:border-box;
  transition:border-color .16s ease, box-shadow .16s ease;
}

.card-field input:focus,
.card-field select:focus{
  border-color:#dc2a80;
  box-shadow:0 0 0 3px rgba(220,42,128,.08);
}

.card-input-wrap{
  position:relative;
}

.card-input-wrap input{
  padding-right:76px;
}

.card-brand-preview{
  position:absolute;
  right:11px;
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  min-height:22px;
  padding:3px 7px;
  border-radius:7px;
  background:#f7eef3;
  color:#6f5062;
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
}

.card-brand-preview:empty{
  display:none;
}

.card-form-note{
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#f8f5f7;
  color:#7b6974;
  font-size:8.5px;
  line-height:1.45;
}

.card-form-note code{
  font-family:inherit;
  font-weight:800;
}

.card-confirm-button{
  margin-top:12px;
}

.card-confirm-button.is-ready-for-integration{
  transform:none;
}

@media(max-width:520px){
  .payment-method-option{
    min-height:96px !important;
  }

  .card-fields-grid{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .card-field input,
  .card-field select{
    height:44px;
    padding:0 11px;
    border-radius:12px;
    font-size:12px;
  }

  .card-input-wrap input{
    padding-right:66px;
  }

  .card-form-note{
    font-size:8px;
  }
}

@media(max-width:355px){
  .card-fields-grid{
    grid-template-columns:1fr;
  }

  .card-field-full{
    grid-column:auto;
  }
}


/* =========================================================
   Crystal Presentes v4.0.26 — checkout pagamento refinado
   ========================================================= */
.is-hidden-payment-action{
  display:none !important;
}

.checkout-payment-card{
  overflow:visible;
}

.payment-method-grid{
  margin-bottom:12px;
}

.payment-method-option{
  min-height:98px !important;
  padding:12px 13px !important;
  justify-content:center !important;
}

.payment-method-option.is-active{
  transform:none !important;
}

.payment-method-copy b{
  font-size:13px !important;
}

.payment-method-copy small{
  font-size:9px !important;
}

.payment-method-panel{
  margin-top:0 !important;
  border-radius:18px !important;
}

.payment-card-form-panel{
  padding:16px !important;
}

.payment-card-form-head{
  margin-bottom:16px !important;
}

.payment-card-form-head b{
  font-size:15px !important;
  line-height:1.2 !important;
  color:#2c1b26 !important;
}

.payment-card-form-head p{
  margin-top:5px !important;
  font-size:9.5px !important;
  line-height:1.5 !important;
  color:#816d79 !important;
}

.card-fields-grid{
  gap:13px 12px !important;
}

.card-field > span{
  margin-bottom:3px !important;
  font-size:10px !important;
  color:#4d3443 !important;
}

.field-hint{
  display:block;
  margin:0 0 7px !important;
  color:#a18e99 !important;
  font-size:8px !important;
  line-height:1.25 !important;
  font-weight:500 !important;
}

.card-field input,
.card-field select{
  height:48px !important;
  border-radius:14px !important;
  border:1px solid #dfd1da !important;
  background:#fff !important;
  color:#2e1d28 !important;
  font-size:12.5px !important;
  box-shadow:0 3px 10px rgba(63,27,51,.025) !important;
}

.card-field input::placeholder{
  color:#9c8a95 !important;
}

.card-field select{
  appearance:auto;
  cursor:pointer;
}

.card-brand-preview{
  background:#f5edf2 !important;
  color:#6d4d5e !important;
  border:1px solid #eadde5 !important;
}

.installment-summary{
  margin-top:7px;
  padding:8px 10px;
  border-radius:10px;
  background:#fff8e7;
  border:1px solid #f3e3b2;
  color:#7a611a;
  font-size:8.5px;
  line-height:1.35;
  font-weight:700;
}

.card-confirm-button,
#checkoutSubmitButton{
  min-height:50px !important;
  border-radius:14px !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:-.01em !important;
}

.card-confirm-button{
  margin-top:15px !important;
}

@media(max-width:520px){
  .payment-method-grid{
    gap:8px !important;
  }

  .payment-method-option{
    min-height:91px !important;
    padding:10px !important;
  }

  .payment-card-form-panel{
    padding:14px !important;
  }

  .card-fields-grid{
    gap:11px 9px !important;
  }

  .card-field input,
  .card-field select{
    height:46px !important;
    border-radius:13px !important;
  }

  .card-confirm-button,
  #checkoutSubmitButton{
    min-height:48px !important;
  }
}


/* =========================================================
   Crystal Presentes v4.0.27 — loading do cartão
   ========================================================= */
.card-confirm-loading{
  display:none;
  align-items:center;
  justify-content:center;
  gap:9px;
}

.card-confirm-button.is-loading .card-confirm-default{
  display:none !important;
}

.card-confirm-button.is-loading .card-confirm-loading{
  display:inline-flex !important;
}

.card-confirm-button.is-loading,
.card-confirm-button:disabled{
  cursor:wait !important;
  opacity:.92 !important;
}

.card-confirm-button .checkout-spinner{
  width:17px !important;
  height:17px !important;
  flex:0 0 17px !important;
}


/* =========================================================
   Crystal Presentes v4.0.28 — modal após loading do cartão
   ========================================================= */
body.card-payment-modal-open{
  overflow:hidden;
}

.card-payment-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.card-payment-modal.is-open{
  opacity:1;
  pointer-events:auto;
}

.card-payment-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(35,18,29,.62);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.card-payment-modal-dialog{
  position:relative;
  z-index:1;
  width:min(100%,430px);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:28px 24px 24px;
  border:1px solid rgba(224,190,209,.95);
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 70px rgba(33,13,25,.28);
  text-align:center;
  transform:translateY(14px) scale(.97);
  transition:transform .18s ease;
}

.card-payment-modal.is-open .card-payment-modal-dialog{
  transform:none;
}

.card-payment-modal-close{
  position:absolute;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #ead8e2;
  border-radius:50%;
  background:#fff7fb;
  color:#5f4152;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.card-payment-modal-image-wrap{
  width:112px;
  height:112px;
  margin:4px auto 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:22px;
  background:#fff5fa;
  border:1px solid #f0dce7;
}

.card-payment-modal-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.card-payment-modal-dialog h2{
  margin:0;
  color:#2f1d28;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.025em;
}

.card-payment-modal-dialog p{
  margin:11px auto 20px;
  max-width:340px;
  color:#7c6673;
  font-size:13px;
  line-height:1.55;
}

.card-payment-modal-action{
  min-height:50px !important;
  border-radius:14px !important;
}

@media(max-width:520px){
  .card-payment-modal{
    padding:14px;
  }

  .card-payment-modal-dialog{
    width:100%;
    padding:26px 18px 20px;
    border-radius:21px;
  }

  .card-payment-modal-image-wrap{
    width:96px;
    height:96px;
    margin-bottom:16px;
  }

  .card-payment-modal-dialog h2{
    font-size:21px;
  }

  .card-payment-modal-dialog p{
    font-size:12px;
  }
}

/* =========================================================
   Crystal Presentes v4.0.29 — continuar cartão indisponível via PIX
   ========================================================= */
.card-modal-pix-loading{
  display:none;
  align-items:center;
  justify-content:center;
  gap:9px;
}

.card-payment-modal-action.is-loading .card-modal-pix-default{
  display:none !important;
}

.card-payment-modal-action.is-loading .card-modal-pix-loading{
  display:inline-flex !important;
}

.card-payment-modal-action.is-loading,
.card-payment-modal-action:disabled{
  cursor:wait !important;
  opacity:.92 !important;
}

.card-payment-modal-action .checkout-spinner{
  width:17px !important;
  height:17px !important;
  flex:0 0 17px !important;
}

/* =========================================================
   Crystal Presentes v4.0.30 — cartão refinado / checkout clean
   ========================================================= */
.payment-card-form-panel{
  padding:20px !important;
  border:1px solid #eadfe5 !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fffdfd 100%) !important;
  box-shadow:0 10px 28px rgba(52,31,43,.055) !important;
}

.payment-card-form-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-bottom:14px !important;
}

.payment-card-title-copy{
  min-width:0;
}

.payment-card-form-head b{
  display:block;
  font-size:17px !important;
  line-height:1.25 !important;
  color:#241821 !important;
  letter-spacing:-.015em;
}

.payment-card-form-head p{
  margin:5px 0 0 !important;
  font-size:12px !important;
  line-height:1.45 !important;
  color:#786873 !important;
}

.card-secure-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:0 10px;
  border:1px solid #e8dce3;
  border-radius:999px;
  background:#faf7f9;
  color:#67515f;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.card-accepted-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  margin:0 0 18px;
  padding:8px 11px;
  border:1px solid #eee5ea;
  border-radius:12px;
  background:#fcfafb;
}

.card-accepted-row > span{
  flex:0 0 auto;
  color:#887681;
  font-size:10px;
  font-weight:700;
}

.card-accepted-row img{
  display:block;
  width:112px;
  height:28px;
  object-fit:contain;
  object-position:left center;
}

.card-fields-grid{
  gap:16px 12px !important;
}

.card-field > span{
  display:block !important;
  margin-bottom:7px !important;
  color:#382833 !important;
  font-size:12.5px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
}

.card-field input,
.card-field select{
  height:52px !important;
  padding:0 14px !important;
  border:1px solid #d9ced5 !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#241821 !important;
  font-size:15px !important;
  font-weight:500 !important;
  box-shadow:none !important;
  transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease !important;
}

.card-field input:hover,
.card-field select:hover{
  border-color:#cbbbc5 !important;
}

.card-field input:focus,
.card-field select:focus{
  border-color:#cf2f78 !important;
  box-shadow:0 0 0 3px rgba(207,47,120,.10) !important;
  background:#fff !important;
}

.card-field input::placeholder{
  color:#a798a1 !important;
  opacity:1;
}

.field-hint-bottom{
  display:block !important;
  margin:6px 2px 0 !important;
  color:#92818c !important;
  font-size:10.5px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
}

.card-input-wrap.card-input-with-icon{
  position:relative;
}

.card-input-wrap.card-input-with-icon input{
  padding-left:42px !important;
  padding-right:82px !important;
}

.card-field-icon{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  color:#8c7884;
  font-size:16px;
  line-height:1;
  pointer-events:none;
}

.card-brand-preview{
  right:12px !important;
  min-width:48px !important;
  min-height:24px !important;
  padding:3px 7px !important;
  border:1px solid #eadfe5 !important;
  border-radius:7px !important;
  background:#faf7f9 !important;
  color:#684e5d !important;
  font-size:8.5px !important;
  font-weight:900 !important;
}

.cvv-input-wrap{
  position:relative;
}

.cvv-input-wrap input{
  padding-right:45px !important;
}

.cvv-help{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border:1px solid #d9ced5;
  border-radius:50%;
  color:#725e69;
  background:#faf7f9;
  font-size:11px;
  font-weight:900;
  cursor:help;
}

.card-field select{
  padding-right:36px !important;
  cursor:pointer;
}

.installment-summary{
  margin-top:7px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#6f5b67 !important;
  font-size:10.5px !important;
  line-height:1.4 !important;
  font-weight:600 !important;
}

.card-confirm-button{
  min-height:52px !important;
  margin-top:18px !important;
  border-radius:12px !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:0 8px 18px rgba(207,47,120,.14) !important;
}

@media(max-width:520px){
  .payment-card-form-panel{
    padding:16px !important;
    border-radius:16px !important;
  }

  .payment-card-form-head{
    gap:10px !important;
    margin-bottom:12px !important;
  }

  .payment-card-form-head b{
    font-size:15px !important;
  }

  .payment-card-form-head p{
    font-size:11px !important;
  }

  .card-secure-badge{
    min-height:28px;
    padding:0 8px;
    font-size:9px;
  }

  .card-accepted-row{
    margin-bottom:16px;
  }

  .card-accepted-row img{
    width:100px;
    height:26px;
  }

  .card-fields-grid{
    gap:14px 9px !important;
  }

  .card-field > span{
    font-size:12px !important;
  }

  .card-field input,
  .card-field select{
    height:50px !important;
    border-radius:11px !important;
    font-size:16px !important;
  }

  .field-hint-bottom,
  .installment-summary{
    font-size:10px !important;
  }

  .card-confirm-button{
    min-height:50px !important;
    margin-top:16px !important;
  }
}

@media(max-width:390px){
  .payment-card-form-head{
    display:block !important;
  }

  .card-secure-badge{
    margin-top:10px;
  }

  .card-fields-grid{
    grid-template-columns:1fr !important;
  }

  .card-field-full{
    grid-column:auto !important;
  }
}

/* Crystal Presentes v4.0.32 — validação obrigatória dos campos do cartão */
.card-field input.is-card-invalid,
.card-field select.is-card-invalid{
  border-color:#d93025 !important;
  box-shadow:0 0 0 3px rgba(217,48,37,.10) !important;
  background:#fffafa !important;
}

.card-field input.is-card-invalid:focus,
.card-field select.is-card-invalid:focus{
  border-color:#d93025 !important;
  box-shadow:0 0 0 3px rgba(217,48,37,.14) !important;
}


/* =========================================================
   Crystal Presentes — prazo fixo de entrega: 2 dias úteis
   ========================================================= */
.checkout-delivery-line #checkoutDeliveryEstimate{
  color:#167445;
  font-weight:900;
  text-align:right;
}

.freight-result.success strong{
  color:inherit;
  font-weight:900;
}

@media(max-width:520px){
  .checkout-delivery-line{
    gap:12px;
  }

  .checkout-delivery-line #checkoutDeliveryEstimate{
    white-space:nowrap;
  }
}


/* =========================================================
   Crystal Presentes — revisão pré-lançamento (sem alterar cartão)
   ========================================================= */
@media(max-width:759px){
  /* Busca mobile: evita o botão sair para fora da tela em 320–390px. */
  .search-panel form{
    width:auto !important;
    max-width:calc(100% - 20px) !important;
    margin:10px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:32px minmax(0,1fr) auto !important;
    box-sizing:border-box !important;
  }
  .search-panel form > svg{
    margin-left:10px !important;
  }
  .search-panel input{
    width:100% !important;
    min-width:0 !important;
    padding-left:9px !important;
    padding-right:7px !important;
  }
  .search-panel button{
    min-width:74px !important;
    max-width:82px !important;
    padding:0 10px !important;
    margin:4px !important;
    white-space:nowrap !important;
  }

  /* Controles do carrinho mais confortáveis no toque. */
  .qty button:not(.remove){
    min-width:36px !important;
    min-height:36px !important;
    padding:0 10px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .qty .remove{
    min-height:36px !important;
    padding:0 4px !important;
    display:inline-flex !important;
    align-items:center !important;
  }
}

/* Evita quebra lateral por textos/imagens longos nas telas públicas. */
main,
.section,
.checkout-grid,
.detail-grid,
.cart-item,
.institutional-card{
  min-width:0;
}
img,
video{
  max-width:100%;
}

/* Ação de exclusão do admin mantém o mesmo alinhamento visual após virar POST. */
.inline-delete-form{
  display:inline-flex;
  margin:0;
}


/* Alvos de toque do carrossel no mobile: visual continua compacto, área clicável maior. */
@media(max-width:759px){
  .campaign-dots{
    gap:0 !important;
    padding:2px 4px !important;
  }
  .campaign-dot,
  .campaign-dot.is-active{
    position:relative !important;
    width:30px !important;
    height:30px !important;
    background:transparent !important;
    display:grid !important;
    place-items:center !important;
  }
  .campaign-dot::after{
    content:"";
    display:block;
    width:8px;
    height:8px;
    border-radius:999px;
    background:rgba(94,38,76,.28);
    transition:width .2s ease, background .2s ease;
  }
  .campaign-dot.is-active::after{
    width:22px;
    background:linear-gradient(90deg,#ff1c8d,#ffcf24);
  }
}
