/* Shared storefront presentation; administrative screens keep their own styles. */
@font-face {
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url('../fonts/plus-jakarta-sans-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url('../fonts/plus-jakarta-sans-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
.storefront { --text:#111c30; --muted:#6b7690; --border:#dbe4f5; --shadow-lg:0 24px 70px rgba(16,42,90,.10); font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif; line-height:1.6; font-synthesis-weight:none; -webkit-tap-highlight-color:rgba(27,92,255,.16); }
.storefront ::selection { background:var(--primary); color:#fff; }
.storefront .container { max-width:1180px; padding-inline:28px; }
.storefront section { padding:88px 0; scroll-margin-top:90px; }
.storefront .nav { height:82px; }
.storefront .logo { gap:9px; font-size:calc(24px * var(--font-scale,1)); letter-spacing:-1px; }
.brand-mark { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:35px; height:35px; border-radius:11px; background:var(--grad); color:#fff; font-size:calc(26px * var(--font-scale,1)); line-height:1; font-weight:700; box-shadow:0 4px 12px #2681cc20; }
.storefront .logo .txt { color:var(--text); background:none; }
.storefront .nav-links { gap:26px; }
.storefront .nav-links a { font-size:calc(15px * var(--font-scale,1)); color:#5b6f75; }
.storefront .nav-links a.btn-primary { color:#fff; }
.storefront .btn { border-radius:12px; padding:14px 24px; font-weight:700; font-size:calc(16px * var(--font-scale,1)); letter-spacing:0; min-height:46px; }
.storefront .btn-sm { min-height:40px; padding:10px 19px; font-size:calc(14px * var(--font-scale,1)); }
.storefront .btn-primary { background:var(--grad); }
.storefront a:focus-visible,.storefront button:focus-visible { outline:3px solid #40b9e5; outline-offset:4px; }
.storefront .btn-ghost { box-shadow:none; border-width:2px; }
.announcement { display:flex; justify-content:space-between; gap:20px; padding:9px max(28px,calc((100% - 1124px)/2)); background:#f5fdff; color:#5486a0; font-size:calc(11px * var(--font-scale,1)); border-bottom:1px solid #eaf6fa; }
.announcement b { margin-left:10px; }
.home-page .hero { overflow:hidden; padding:78px 0 82px; background:radial-gradient(ellipse at 83% 46%,#effaff 0,transparent 52%); }
.home-page .hero::before { content:none; }
.home-page .hero-split { grid-template-columns:1.05fr 1fr; gap:72px; text-align:left; }
.home-page .hero-tag { background:#f5fcff; border:1px solid #e4f5fc; border-radius:30px; padding:7px 12px; font-size:calc(9px * var(--font-scale,1)); letter-spacing:1.4px; color:#468eb5; box-shadow:none; margin:0 0 22px; }
.status-dot { width:6px; height:6px; background:#318fd2; border-radius:50%; }
.home-page .hero h1 { font-size:calc(clamp(44px,5vw,65px) * var(--font-scale,1)); line-height:1.06; font-weight:800; letter-spacing:-3.4px; margin:0; color:#182b32; }
.home-page .hero h1 em { display:block; padding-bottom:6px; background-image:var(--grad); }
.home-page .hero-copy > p { font-size:calc(18px * var(--font-scale,1)); line-height:1.8; max-width:465px; margin:23px 0 28px; }
.home-page .hero-actions { align-items:center; gap:23px; justify-content:flex-start; }
.hero-actions .btn { gap:22px; min-height:52px; }
.hero-secondary { font-size:calc(15px * var(--font-scale,1)); font-weight:700; }
.hero-secondary span { margin-left:8px; }
.hero-reassurance { display:flex; flex-wrap:wrap; gap:8px 16px; color:#75858c; font-size:calc(12px * var(--font-scale,1)); margin-top:20px; max-width:100%; }
.hero-reassurance span { min-width:0; overflow-wrap:anywhere; }
html, body { overflow-x:clip; }
.home-page .hero-copy { min-width:0; max-width:100%; }
.home-page .trust-row { margin-top:35px; padding-top:24px; border-top:1px solid #e6eef1; gap:27px; }
.home-page .trust-item { border:0; border-radius:0; box-shadow:none; padding:0; background:none; }
.home-page .trust-item b { font-size:calc(18px * var(--font-scale,1)); margin-bottom:4px; }
.home-page .trust-item small { font-size:calc(11px * var(--font-scale,1)); font-weight:400; }
.home-page .hero-side { display:block; min-width:0; min-height:490px; position:relative; padding:20px 25px; }
.social-orbit { position:absolute; border:1px solid #d8ecf5; border-radius:50%; width:440px; height:440px; left:0; top:20px; }
.orbit-two { width:340px; height:340px; top:70px; left:50px; border-style:dashed; }
.profile-preview { position:relative; width:330px; margin:auto; background:#fff; border:1px solid #e5f0f5; border-radius:23px; box-shadow:0 25px 70px #3b809d17; padding:20px; transform:rotate(-4deg); }
.preview-top { display:flex; justify-content:space-between; font-size:calc(8px * var(--font-scale,1)); letter-spacing:1.7px; color:#87979f; padding-bottom:18px; border-bottom:1px solid #eaf1f5; }
.preview-profile { display:flex; gap:10px; align-items:center; padding:16px 0; }
.preview-avatar { width:43px; height:43px; background:var(--grad); border:3px solid white; outline:1px solid #89bee5; border-radius:50%; color:white; font-size:calc(30px * var(--font-scale,1)); text-align:center; line-height:37px; }
.preview-profile > div:nth-child(2) { flex:1; }
.preview-profile strong { display:block; font-size:calc(13px * var(--font-scale,1)); }
.preview-profile div > span { display:block; font-size:calc(9px * var(--font-scale,1)); color:#94a3aa; }
.preview-check { background:#4ca9d9; color:white; width:17px; height:17px; border-radius:50%; text-align:center; font-size:calc(11px * var(--font-scale,1)); }
.preview-art { position:relative; overflow:hidden; height:237px; padding:25px; background:linear-gradient(140deg,#c0daf9,#aae0fa 60%,#94dff7); border-radius:12px; }
.preview-art > span { position:relative; z-index:1; color:#235f7d; font-size:calc(39px * var(--font-scale,1)); line-height:1.05; font-weight:800; letter-spacing:-2px; }
.preview-art em { color:#fff; font-style:normal; }
.preview-art > b { position:absolute; font-size:calc(120px * var(--font-scale,1)); color:#ecf9ffb5; right:-2px; bottom:-28px; transform:rotate(15deg); }
.art-ring { position:absolute; border:32px solid #ffffff28; height:230px; width:230px; border-radius:50%; right:-100px; top:-50px; }
.preview-social { display:flex; justify-content:space-between; padding:9px 0; font-size:calc(24px * var(--font-scale,1)); color:#4d6f7f; }
.preview-bottom { display:flex; align-items:center; gap:7px; font-size:calc(8px * var(--font-scale,1)); color:#7c8e96; }
.mini-avatars { display:flex; padding-left:4px; }
.mini-avatars i { display:grid; place-items:center; font-style:normal; width:20px; height:20px; border:2px solid #fff; border-radius:50%; background:#d5e3f7; color:#5489bb; margin-left:-4px; }
.mini-avatars i:nth-child(2) { background:#d8f7ff; }
.floating-social { position:absolute; z-index:3; display:grid; place-items:center; box-shadow:0 12px 25px #317a9c15; }
.social-heart { top:45px; right:5px; width:65px; height:65px; border-radius:20px; background:#fff; color:#317bd7; font-size:calc(38px * var(--font-scale,1)); transform:rotate(12deg); }
.social-star { left:-8px; top:175px; width:48px; height:48px; border-radius:15px; background:#3bb1de; color:#fff; font-size:calc(33px * var(--font-scale,1)); transform:rotate(-14deg); }
.floating-note { position:absolute; z-index:4; bottom:8px; right:-5px; display:flex; align-items:center; gap:13px; padding:16px 20px; border:1px solid #e7f0f5; background:#fff; border-radius:16px; box-shadow:0 12px 30px #4084a515; transform:rotate(3deg); }
.floating-note > span { font-size:calc(24px * var(--font-scale,1)); background:#f1faff; border-radius:12px; padding:8px; }
.floating-note strong { display:block; font-size:calc(12px * var(--font-scale,1)); }
.floating-note small { font-size:calc(10px * var(--font-scale,1)); color:var(--muted); }
.preview-caption { position:absolute; bottom:-20px; left:85px; font-size:calc(9px * var(--font-scale,1)); color:#9badb5; }
.service-strip { border-block:1px solid #e5f0f5; background:#fafeff; }
.service-strip .container { display:flex; justify-content:space-between; gap:18px; align-items:center; padding-block:24px; }
.service-strip span { font-size:calc(9px * var(--font-scale,1)); letter-spacing:1.5px; color:#92a5ae; }
.service-strip b { font-size:calc(14px * var(--font-scale,1)); color:#52717f; font-weight:600; }
.service-strip i { color:#91c3df; font-style:normal; }
.eyebrow { display:block; text-align:center; color:#4e98c7; font-size:calc(11px * var(--font-scale,1)); font-weight:700; letter-spacing:2px; margin-bottom:15px; }
.storefront .section-title { color:#1c2e35; font-size:calc(clamp(28px,3vw,39px) * var(--font-scale,1)); line-height:1.2; letter-spacing:-1.3px; margin-bottom:15px; }
.storefront .section-title em { color:#348dcb; }
.storefront .section-sub { font-size:calc(16px * var(--font-scale,1)); line-height:1.7; margin-bottom:36px; }
.home-page #plataformas { background:#fff; border:0; }
.home-page #plataformas .container { display:block; text-align:center; }
.home-page #plataformas .section-title,.home-page #plataformas .section-sub { text-align:center; }
.home-page #plataformas .chips.center { display:flex; position:static; flex-direction:row; justify-content:center; gap:6px; width:fit-content; margin:0 auto 38px; padding:5px; border:2px solid #cce0e9; border-radius:15px; background:#f8fcfd; }
.home-page #plataformas .chip { padding:10px 21px; border-radius:10px; font-size:calc(14px * var(--font-scale,1)); min-height:40px; }
.home-page #plataformas .chip.active { box-shadow:0 4px 12px #398cc726; }
.home-page #home-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; text-align:left; }
.home-page #home-categories .cat-card { display:flex !important; flex-direction:column; align-items:flex-start; gap:0; border:2px solid var(--border); border-radius:18px; padding:26px; position:relative; transition:transform .2s,border-color .2s,box-shadow .2s; }
.home-page #home-categories .cat-card:hover { transform:translateY(-4px); border-color:#97c6e6; box-shadow:0 16px 36px #3880a710; }
.home-page #home-categories .cat-card::after { content:none; }
.home-page #home-categories .cat-ico { width:49px; height:49px; font-size:calc(24px * var(--font-scale,1)); border-radius:14px; margin:0 0 19px; background:#eff9fd; }
.home-page #home-categories h3 { font-size:calc(19px * var(--font-scale,1)); line-height:1.4; flex:none; margin-bottom:8px; overflow-wrap:anywhere; }
.service-description { font-size:calc(14px * var(--font-scale,1)); color:var(--muted); margin-bottom:23px; }
.home-page #home-categories .from { flex-direction:column; align-items:flex-start; gap:0; font-size:calc(11px * var(--font-scale,1)); color:#8fa0a7; font-weight:400; text-align:left; }
.home-page #home-categories .from b { font-size:calc(28px * var(--font-scale,1)); color:#3185c6; font-weight:800; letter-spacing:-1px; }
.service-link { margin-top:20px; border-top:1px solid #e9f2f6; padding-top:16px; width:100%; display:flex; justify-content:space-between; font-size:calc(14px * var(--font-scale,1)); font-weight:700; color:#3b87b1; }
.home-page #home-categories .disabled { opacity:.55; }
.home-page #home-categories .soon-badge { margin:12px 0 0; }
.home-page .subs-banner { margin-top:22px; border:2px solid #cce0e9; background:#f6fdff; border-radius:16px; padding:24px 28px; text-align:left; box-shadow:none; }
.home-page .subs-banner h3 { font-size:calc(17px * var(--font-scale,1)); }
.home-page .subs-banner p { font-size:calc(14px * var(--font-scale,1)); max-width:650px; }
.home-page #combos { background:#f8fcfd; border-block:1px solid #eaf3f6; }
.home-page .combo-grid { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.home-page .combo-card { display:flex; flex-direction:column; align-items:flex-start; gap:16px; background:#fff; border:2px solid #cce0e9; border-radius:20px; padding:30px 25px; box-shadow:none; }
.home-page .combo-card .combo-ico { background:#f2fbff; width:56px; height:56px; border-radius:16px; display:grid; place-items:center; font-size:calc(27px * var(--font-scale,1)); }
.home-page .combo-card .combo-info { width:100%; }
.home-page .combo-card .combo-info h3 { font-size:calc(20px * var(--font-scale,1)); margin-bottom:8px; }
.home-page .combo-card .combo-info p { font-size:calc(14px * var(--font-scale,1)); line-height:1.8; }
.home-page .combo-card .combo-price { flex:none; width:100%; display:flex; flex-direction:row; align-items:baseline; justify-content:flex-start; gap:8px; padding-top:16px; border-top:1px solid var(--border); }
.home-page .combo-card .p-price { font-size:calc(28px * var(--font-scale,1)); }
.home-page .combo-card .combo-cta { background:#eff7fc; border:1px solid #dcebf4; text-align:center; border-radius:10px; padding:12px; font-size:calc(14px * var(--font-scale,1)); margin-top:8px; }
.home-page #como-funciona { border:0; }
.home-page .steps-grid { gap:20px; padding:0; }
.home-page .steps-grid::before { content:none; }
.home-page .step { border:2px solid var(--border); border-radius:18px; padding:28px; text-align:left; background:#fff; }
.home-page .step .num { margin:0 0 22px; height:40px; width:40px; border-radius:12px; background:#e9f7fd; color:#3893cc; box-shadow:none; font-size:calc(16px * var(--font-scale,1)); }
.home-page .step h3 { font-size:calc(18px * var(--font-scale,1)); }
.home-page .step p { margin:0; font-size:calc(15px * var(--font-scale,1)); max-width:none; }
.home-page #vantagens { padding-top:20px; }
.home-page .features-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.home-page .feature { display:flex; flex-direction:column; gap:10px; padding:22px 10px; border:0; box-shadow:none; background:none; }
.home-page .feature .ico { margin-bottom:7px; background:#f2fbff; }
.home-page .feature h3 { font-size:calc(17px * var(--font-scale,1)); }
.home-page .feature p { font-size:calc(14px * var(--font-scale,1)); }
.home-page .support-section { padding:0 0 70px; }
.support-panel { display:flex; align-items:center; gap:28px; background:#f0f8fc; border:2px solid #cce0e9; border-radius:22px; padding:32px !important; }
.support-symbol { color:#80bbde; font-size:calc(75px * var(--font-scale,1)); line-height:1; }
.support-panel > div:nth-child(2) { flex:1; }
.support-panel .eyebrow { text-align:left; margin-bottom:6px; font-size:calc(10px * var(--font-scale,1)); }
.support-panel h2 { font-size:calc(23px * var(--font-scale,1)); letter-spacing:-.7px; line-height:1.3; }
.support-panel p { font-size:calc(14px * var(--font-scale,1)); color:var(--muted); margin-top:8px; max-width:500px; }
.support-panel .btn { flex-shrink:0; font-size:calc(14px * var(--font-scale,1)); }
.home-page #faq { background:#fafeff; border-block:1px solid #e8f2f6; }
.home-page .faq-list { max-width:790px; gap:10px; }
.home-page .faq-item { background:white; border:2px solid #cce0e9; border-radius:12px; }
.home-page .faq-q { font-size:calc(16px * var(--font-scale,1)); padding:19px 22px; }
.home-page .faq-a { font-size:calc(15px * var(--font-scale,1)); line-height:1.8; }
.home-page .faq-item.open .faq-a { max-height:600px; }
.home-page .cta-box { background:radial-gradient(ellipse at 95% 10%,#2b7195,transparent 65%),#172c35; padding:48px; border-radius:24px; }
.home-page .cta-box h2 { font-size:calc(32px * var(--font-scale,1)); letter-spacing:-1px; }
.home-page .cta-box p { font-size:calc(15px * var(--font-scale,1)); max-width:470px; }
.home-page .cta-chip { padding:0; background:none; border:0; color:#a4bfcc; font-weight:400; font-size:calc(10px * var(--font-scale,1)); }
.home-page footer { margin-top:0; }
.storefront footer { padding-top:40px; }
.storefront .footer-grid { gap:40px; }
.storefront .footer-grid h4 { font-size:calc(12px * var(--font-scale,1)); }
.storefront .footer-grid a { font-size:calc(12px * var(--font-scale,1)); }
.storefront .legal-notes p,.storefront .footer-bottom { font-size:calc(10px * var(--font-scale,1)); line-height:1.8; }
.storefront .help-widget { background:#fff; color:#41708a; border:1px solid #d7e7ef; box-shadow:0 4px 22px #39698112; font-size:calc(11px * var(--font-scale,1)); padding:12px 18px; bottom:18px; right:18px; }
.storefront .wiz-title { text-align:center; font-size:calc(30px * var(--font-scale,1)); margin-top:38px; }
.storefront .wiz-sub { text-align:center; font-size:calc(16px * var(--font-scale,1)); margin-bottom:30px; }
.storefront .stepper { margin-top:30px; }
.storefront .step-ind { font-size:calc(11px * var(--font-scale,1)); }
.storefront .step-ind.active .dot { box-shadow:none; }
.storefront .type-card { padding:27px; border:2px solid var(--border); border-radius:18px; }
.storefront .type-card:hover { border:2px solid #7ab6db; }
.storefront .type-card h3 { font-size:calc(16px * var(--font-scale,1)); padding-right:65px; }
.storefront .type-card .t-emoji { font-size:1.55em; line-height:1; vertical-align:-.14em; margin-right:3px; }
.storefront .type-card .t-badge { font-size:calc(9px * var(--font-scale,1)); padding:5px 9px; }
.storefront .card { border-radius:18px; box-shadow:0 8px 32px #35638007; border:2px solid var(--border); }
.storefront .summary-card { border-top:3px solid #358aca; }
.storefront .field label { color:#4a636d; font-size:calc(14px * var(--font-scale,1)); }
.storefront .field input,.storefront .field textarea { font-size:calc(16px * var(--font-scale,1)); border-width:2px; border-radius:10px; }
.storefront .field small { font-size:calc(12px * var(--font-scale,1)); }
.storefront.orders-page { background:#fafeff; }
.orders-page .page-head { text-align:center; margin-top:50px; }
.orders-page .page-head h1 { font-size:calc(36px * var(--font-scale,1)); letter-spacing:-1.4px; }
.orders-page .page-head p { font-size:calc(14px * var(--font-scale,1)); max-width:440px; margin:12px auto; }
.catalog-empty { grid-column:1/-1; text-align:center; padding:35px; background:#f6fdff; border-radius:16px; }
.catalog-empty p { margin:12px 0; }
@media(max-width:1000px) {
  .home-page .hero-split { gap:30px; }
  .home-page .hero h1 { font-size:calc(51px * var(--font-scale,1)); }
  .home-page .hero-side { padding:20px 0; }
  .social-orbit { width:350px; height:350px; top:65px; }
  .orbit-two { width:280px; height:280px; left:35px; top:100px; }
  .home-page .combo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .features-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .support-panel { margin-inline:28px; }
}
@media(max-width:760px) {
  .storefront .container { padding-inline:20px; }
  .storefront section { padding:58px 0; }
  .storefront .nav { height:62px; gap:10px; }
  .storefront .logo { font-size:calc(19px * var(--font-scale,1)); gap:7px; white-space:nowrap; }
  .brand-mark { width:30px; height:30px; border-radius:9px; font-size:calc(20px * var(--font-scale,1)); }
  .storefront .nav-links { gap:8px; }
  .storefront .nav-links .btn-sm { min-height:38px; padding:8px 14px; font-size:calc(13px * var(--font-scale,1)); white-space:nowrap; }
  .storefront .nav-links a:not(.btn) { display:none; }
  .announcement { padding:8px 20px; font-size:calc(9px * var(--font-scale,1)); }
  .home-page .hero { padding:45px 0 50px; }
  .home-page .hero-split { grid-template-columns:1fr; gap:35px; text-align:center; }
  .home-page .hero h1 { font-size:calc(clamp(42px,9vw,61px) * var(--font-scale,1)); letter-spacing:-2.5px; max-width:530px; margin:auto; }
  .home-page .hero-tag { font-size:calc(8px * var(--font-scale,1)); letter-spacing:1px; margin-bottom:22px; }
  .home-page .hero-copy > p { margin:20px auto 25px; font-size:calc(16px * var(--font-scale,1)); max-width:430px; }
  .home-page .hero-actions { justify-content:center; gap:20px; }
  .hero-actions .btn { font-size:calc(14px * var(--font-scale,1)); padding:14px 20px; gap:12px; }
  .hero-secondary { font-size:calc(14px * var(--font-scale,1)); }
  .hero-reassurance { justify-content:center; gap:8px 14px; font-size:calc(11px * var(--font-scale,1)); text-align:center; max-width:100%; }
  .home-page .trust-row { justify-content:center; gap:25px; margin-top:26px; padding-top:22px; }
  .home-page .trust-item b { font-size:calc(16px * var(--font-scale,1)); }
  .home-page .trust-item small { font-size:calc(10px * var(--font-scale,1)); }
  .home-page .hero-side { width:340px; max-width:100%; margin:auto; min-height:430px; }
  .profile-preview { width:285px; padding:16px; border-radius:20px; }
  .preview-art { height:190px; padding:22px; }
  .preview-art > span { font-size:calc(33px * var(--font-scale,1)); }
  .preview-bottom { font-size:calc(7px * var(--font-scale,1)); }
  .social-heart { width:50px; height:50px; font-size:calc(30px * var(--font-scale,1)); right:0; }
  .social-star { left:0; width:40px; height:40px; font-size:calc(26px * var(--font-scale,1)); }
  .floating-note { right:0; bottom:0; padding:12px; gap:9px; }
  .floating-note strong { font-size:calc(11px * var(--font-scale,1)); }
  .preview-caption { left:30px; bottom:-20px; font-size:calc(8px * var(--font-scale,1)); }
  .social-orbit { width:320px; height:320px; left:0; }
  .orbit-two { width:260px; height:260px; left:30px; }
  .service-strip .container { flex-wrap:wrap; justify-content:center; gap:10px 16px; padding-block:20px; }
  .service-strip span { width:100%; text-align:center; margin-bottom:5px; font-size:calc(8px * var(--font-scale,1)); }
  .service-strip b { font-size:calc(11px * var(--font-scale,1)); }
  .service-strip i:last-of-type { display:none; }
  .service-strip b:last-child { display:none; }
  .storefront .section-title { font-size:calc(30px * var(--font-scale,1)); letter-spacing:-1px; }
  .storefront .section-sub { font-size:calc(14px * var(--font-scale,1)); margin-bottom:27px; }
  .eyebrow { font-size:calc(10px * var(--font-scale,1)); letter-spacing:1.5px; }
  .home-page #plataformas .chips.center { margin-bottom:25px; flex-wrap:nowrap; }
  .home-page #plataformas .chip { font-size:calc(12px * var(--font-scale,1)); padding:9px 13px; }
  .home-page #home-categories { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px; }
  .home-page #home-categories .cat-card { padding:18px 15px; border-radius:15px; }
  .home-page #home-categories h3 { font-size:calc(16px * var(--font-scale,1)); }
  .home-page #home-categories .cat-ico { width:41px; height:41px; font-size:calc(20px * var(--font-scale,1)); margin-bottom:15px; }
  .service-description { font-size:calc(12px * var(--font-scale,1)); margin-bottom:16px; }
  .home-page #home-categories .from b { font-size:calc(26px * var(--font-scale,1)); }
  .service-link { font-size:calc(11px * var(--font-scale,1)); padding-top:12px; margin-top:14px; }
  .home-page .subs-banner { padding:22px; gap:18px; }
  .home-page .subs-banner .btn { width:100%; }
  .home-page .combo-grid { grid-template-columns:1fr; gap:25px; }
  .home-page .combo-card { padding:25px; }
  .home-page .steps-grid { grid-template-columns:1fr; gap:12px; }
  .home-page .step { margin:0; padding:24px; }
  .home-page .step .num { margin-bottom:16px; }
  .home-page .features-grid { gap:12px; }
  .home-page .feature { padding:15px 5px; }
  .home-page .feature h3 { font-size:calc(16px * var(--font-scale,1)); }
  .home-page .feature p { font-size:calc(14px * var(--font-scale,1)); }
  .support-panel { flex-wrap:wrap; gap:18px; margin-inline:20px; padding:25px !important; }
  .support-symbol { font-size:calc(45px * var(--font-scale,1)); }
  .support-panel h2 { font-size:calc(22px * var(--font-scale,1)); }
  .support-panel > div:nth-child(2) { flex-basis:calc(100% - 65px); }
  .support-panel .btn { width:100%; }
  .home-page .support-section { padding-bottom:50px; }
  .home-page .faq-q { font-size:calc(15px * var(--font-scale,1)); padding:17px; gap:15px; }
  .home-page .faq-a { font-size:calc(14px * var(--font-scale,1)); padding-inline:17px; }
  .home-page .cta-box { padding:32px 24px; gap:24px; text-align:left; }
  .home-page .cta-box h2 { font-size:calc(28px * var(--font-scale,1)); }
  .home-page .cta-box .btn { width:100%; }
  .storefront .footer-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:30px; }
  .storefront .footer-grid > div:first-child { grid-column:1/-1; }
  .storefront .help-widget { padding:10px 13px; font-size:calc(10px * var(--font-scale,1)); bottom:12px; right:12px; }
  .storefront .wiz-title { font-size:calc(26px * var(--font-scale,1)); }
  .storefront .wiz-sub { font-size:calc(14px * var(--font-scale,1)); }
  .storefront .card { padding:23px 20px; }
  .storefront .type-grid { grid-template-columns:1fr; }
  .orders-page .page-head { margin-top:35px; }
  .orders-page .page-head h1 { font-size:calc(30px * var(--font-scale,1)); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .storefront *, .storefront *::before, .storefront *::after { animation:none !important; transition:none !important; }
}

@media(max-width:760px) {
  .storefront .help-widget { width:46px; height:46px; padding:0; display:grid; place-items:center; font-size:0; border-radius:50%; }
  .storefront .help-widget::before { content:'💬'; font-size:calc(20px * var(--font-scale,1)); }
}
@media(max-width:360px) {
  .home-page .hero-side { width:290px; }
  .social-orbit { width:280px; height:280px; }
  .orbit-two { width:230px; height:230px; }
  .home-page .hero-tag { font-size:calc(7px * var(--font-scale,1)); }
  .home-page .hero-actions { gap:15px; }
  .home-page .hero-actions .btn { width:100%; }
  .home-page #plataformas .chip { padding-inline:9px; }
}

/* More definition on the package selector, consistent with the storefront cards. */
.purchase-page .package-card { border-width:2px; border-color:#cce0e9; }
.purchase-page .package-card:hover { border-color:#2681cc; }
.purchase-page .package-card.selected { border-color:#2a81be; box-shadow:0 0 0 1px #2a81be; }
.purchase-page .package-card .p-qty { font-size:calc(21px * var(--font-scale,1)); }
.purchase-page .package-card .p-name { font-size:calc(13px * var(--font-scale,1)); }
.purchase-page .package-card .p-price { font-size:calc(20px * var(--font-scale,1)); }
.purchase-page .package-card .p-old { font-size:calc(13px * var(--font-scale,1)); }
.package-notice { font-size:calc(14px * var(--font-scale,1)); }
.package-continue p { font-size:calc(14px * var(--font-scale,1)); }
@media(max-width:520px) {
  .purchase-page .package-card .p-qty { font-size:calc(19px * var(--font-scale,1)); }
  .purchase-page .package-card .p-price { font-size:calc(17px * var(--font-scale,1)); }
  .purchase-page .package-card .p-name, .purchase-page .package-card .p-old { font-size:calc(12px * var(--font-scale,1)); }
  .package-notice { font-size:calc(13px * var(--font-scale,1)); }
}
/* Checkout: clear progress, destination and recoverable loading states. */
.purchase-page #step-4 { max-width:1120px; }
.purchase-page .checkout-layout { grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr); gap:24px; }
.purchase-page .summary-card { position:sticky; top:100px; }
.checkout-destination { padding:13px 15px; border-radius:12px; background:#f0f8fc; color:#41718d; font-size:13px; font-weight:600; margin-bottom:17px; overflow-wrap:anywhere; }
.checkout-status { font-size:13px; line-height:1.6; color:var(--muted); margin:18px 0 12px; }
.manual-profile-confirm { display:flex; gap:10px; align-items:flex-start; padding:14px; background:#fff8ea; border:1px solid #e9d29b; border-radius:12px; margin-top:14px; line-height:1.6; }
.manual-profile-confirm input { width:18px !important; height:18px; flex-shrink:0; margin-top:3px; }
.manual-profile-confirm[hidden],#media-picker[hidden],#profile-result[hidden] { display:none; }
.purchase-page .profile-result { background:#f8fdff; padding:20px; border:2px solid var(--border); }
.purchase-page .profile-info { min-width:0; overflow-wrap:anywhere; }
.purchase-page .profile-avatar { border-radius:50%; }
.purchase-page .profile-stats { gap:14px; }
.purchase-page .profile-projection { gap:12px; }
.purchase-page .profile-projection > div { flex:1; min-width:80px; }
.purchase-page #media-picker { padding:22px 0 0; }
.purchase-page #media-picker > h3 { font-size:18px; }
.purchase-page #media-picker > p { font-size:13px; color:var(--muted); margin:6px 0 14px; }
.purchase-page .media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.purchase-page .media-tile { background:#f1f8fc; aspect-ratio:1; }
.purchase-page .media-tile img { width:100%; height:100%; object-fit:cover; }
.purchase-page .media-tile span { padding:7px; font-size:11px; }
.purchase-page .media-tile.selected { border-color:var(--primary); box-shadow:0 0 0 2px var(--primary); }
.media-error,.media-loading { text-align:center; border:1px dashed var(--border); padding:25px 18px; border-radius:14px; background:#f9fdff; }
.media-error > span { font-size:28px; color:var(--primary); }
.media-error p,.media-loading p { font-size:13px; margin:10px 0 15px; color:var(--muted); }
.media-error button { margin:5px; }
.media-loading .spinner { margin:auto; }
.purchase-page .media-pagination { gap:8px; justify-content:space-between; }
.purchase-page .media-pagination .btn { padding:9px 12px; }
.verify-pending { color:#92661f !important; }
#pix-modal .modal { position:relative; }
.pix-close { position:absolute; top:8px; right:12px; width:36px; height:36px; border:0; background:#eff6f9; border-radius:50%; color:#557585; font-size:25px; cursor:pointer; }
#pix-status { display:block; font-size:13px; margin:18px 0 0; line-height:1.6; }
@media(max-width:880px) { .purchase-page .checkout-layout { grid-template-columns:minmax(0,1fr); } .purchase-page .summary-card { position:static; } }
@media(max-width:400px) { .purchase-page .profile-result { padding:14px; } .purchase-page .profile-main { gap:10px; } .purchase-page .profile-avatar { width:48px; height:48px; } .purchase-page .media-grid { gap:7px; } }


/* ================================================================
   POLIMENTO VISUAL (v6) - acabamento, movimento e microinteracoes
   ================================================================ */

/* ---- entrada suave do hero (CSS puro, sem depender de JS) ---- */
@keyframes sfUp { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }
@keyframes sfSpin { to { transform:rotate(360deg); } }
@keyframes sfShimmer { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
.home-page .hero-tag,.home-page .hero-copy h1,.home-page .hero-copy > p,.home-page .hero-actions,
.home-page .hero-reassurance,.home-page .trust-row,.home-page .hero-side {
  animation:sfUp .8s cubic-bezier(.2,.7,.3,1) both;
}
.home-page .hero-copy h1 { animation-delay:.06s; }
.home-page .hero-copy > p { animation-delay:.12s; }
.home-page .hero-actions { animation-delay:.18s; }
.home-page .hero-reassurance { animation-delay:.24s; }
.home-page .trust-row { animation-delay:.3s; }
.home-page .hero-side { animation-delay:.14s; }

/* ---- header ---- */
.storefront header {
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px) saturate(165%);
  -webkit-backdrop-filter:blur(16px) saturate(165%);
  box-shadow:0 12px 32px -26px rgba(20,65,80,.9);
}
.storefront .nav-links a:not(.btn) { position:relative; padding-block:6px; transition:color .2s; }
.storefront .nav-links a:not(.btn)::after {
  content:''; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px;
  background-image:var(--grad); transform:scaleX(0); transform-origin:left;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.storefront .nav-links a:not(.btn):hover::after { transform:scaleX(1); }
.brand-mark { box-shadow:0 6px 16px -5px color-mix(in srgb,var(--primary) 55%, transparent); transition:transform .35s cubic-bezier(.34,1.56,.64,1); }
.storefront .logo:hover .brand-mark { transform:rotate(-8deg) scale(1.07); }

/* ---- botoes: gradiente vivo + brilho no hover ---- */
.storefront .btn { position:relative; overflow:hidden; }
.storefront .btn-primary { background-image:var(--grad); box-shadow:0 13px 26px -13px color-mix(in srgb,var(--primary) 85%, transparent); }
.storefront .btn-primary:hover { transform:translateY(-2px); box-shadow:0 19px 34px -14px color-mix(in srgb,var(--primary) 90%, transparent); }
.storefront .btn::after {
  content:''; position:absolute; top:-25%; bottom:-25%; left:-70%; width:45%; pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-18deg); transition:left .6s ease;
}
.storefront .btn:hover::after { left:130%; }
.storefront .btn-ghost { background:#fff; }
.storefront .btn-ghost:hover { border-color:color-mix(in srgb,var(--primary) 45%,transparent); color:var(--primary); }

/* ---- barra de anuncio + faixa de servicos ---- */
.announcement { background:linear-gradient(90deg,#f8fdff,#f8fbff 50%,#f8fdff); color:#4f8299; font-weight:600; }
.announcement span:last-child { display:inline-flex; align-items:center; gap:6px; }
.announcement b { color:var(--primary); }
.service-strip { background:linear-gradient(90deg,#fbfeff,#f9fbff 50%,#fbfeff); }
.service-strip b { color:#3b4f57; }

/* ---- hero: profundidade, brilho e flutuacao ---- */
.home-page .hero {
  background:
    radial-gradient(ellipse at 83% 46%,#effaff 0,transparent 52%),
    radial-gradient(ellipse at 6% 0%,#f4f8ff 0,transparent 42%);
}
.home-page .hero h1 { letter-spacing:-3px; }
.home-page .hero h1 em { background-size:200% 100%; animation:sfShimmer 10s ease-in-out infinite; }
.social-orbit { border-color:color-mix(in srgb,var(--primary) 18%,transparent); animation:sfSpin 70s linear infinite; }
.social-orbit::before {
  content:''; position:absolute; top:-5px; left:50%; width:10px; height:10px; margin-left:-5px;
  border-radius:50%; background-image:var(--grad); box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 14%,transparent);
}
.orbit-two { border-color:color-mix(in srgb,var(--accent) 20%,transparent); animation-duration:52s; animation-direction:reverse; }
.profile-preview {
  box-shadow:0 36px 70px -32px rgba(30,111,140,.5), 0 12px 28px rgba(30,111,140,.07);
  animation:sfTiltA 7.5s ease-in-out infinite;
}
@keyframes sfTiltA { 0%,100% { transform:rotate(-4deg) translateY(0); } 50% { transform:rotate(-4deg) translateY(-14px); } }
@keyframes sfTiltB { 0%,100% { transform:rotate(12deg) translateY(0); } 50% { transform:rotate(12deg) translateY(-13px); } }
@keyframes sfTiltC { 0%,100% { transform:rotate(-14deg) translateY(0); } 50% { transform:rotate(-14deg) translateY(11px); } }
@keyframes sfTiltD { 0%,100% { transform:rotate(3deg) translateY(0); } 50% { transform:rotate(3deg) translateY(-11px); } }
.social-heart { animation-name:sfTiltB; animation-duration:5s; animation-timing-function:ease-in-out; animation-iteration-count:infinite; }
.social-star { animation-name:sfTiltC; animation-duration:6.2s; animation-delay:.5s; animation-timing-function:ease-in-out; animation-iteration-count:infinite; }
.floating-note { animation-name:sfTiltD; animation-duration:6.6s; animation-delay:.9s; animation-timing-function:ease-in-out; animation-iteration-count:infinite; }
.floating-social,.floating-note { box-shadow:0 16px 34px -16px rgba(30,111,140,.5); }

/* trust: mini-cartoes em vez de texto solto */
.home-page .trust-row { border-top:0; padding-top:0; gap:12px; }
.home-page .trust-item {
  background:linear-gradient(180deg,#fff,#fafeff);
  border:1px solid #e7f3f8; border-radius:16px; padding:12px 18px;
  box-shadow:0 8px 20px -14px rgba(30,111,140,.55);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s, border-color .3s;
}
.home-page .trust-item:hover {
  transform:translateY(-4px); border-color:color-mix(in srgb,var(--primary) 35%,transparent);
  box-shadow:0 18px 32px -18px rgba(30,111,140,.65);
}
.home-page .trust-item small { color:#809399; }

/* ---- titulos de secao ---- */
.eyebrow { font-weight:800; letter-spacing:2.4px; }
.eyebrow::after {
  content:''; display:block; width:34px; height:3px; border-radius:99px;
  background-image:var(--grad); margin:9px auto 0;
}
.support-panel .eyebrow::after { margin-left:0; }
.storefront .section-title { text-wrap:balance; letter-spacing:-1.6px; }
.storefront .section-title em {
  background-image:var(--grad); background-size:100% 100%;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.storefront .section-sub { text-wrap:pretty; }

/* ---- seletor de plataforma ---- */
.home-page #plataformas .chips.center {
  border-color:#d9ebf3;
  box-shadow:0 12px 28px -20px rgba(30,111,140,.9);
}
.home-page #plataformas .chip { transition:transform .25s, box-shadow .25s, background-color .25s, color .25s, border-color .25s; }
.home-page #plataformas .chip:hover { transform:translateY(-2px); }
.home-page #plataformas .chip.active { box-shadow:0 11px 24px -11px color-mix(in srgb,var(--primary) 80%,transparent); }

/* ---- cartoes de servico ---- */
.home-page #home-categories .cat-card {
  overflow:hidden; background:linear-gradient(180deg,#fff 65%,#fbfeff);
  box-shadow:0 2px 12px -8px rgba(25,89,110,.35);
}
.home-page #home-categories .cat-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background-image:var(--grad); transform:scaleX(0); transform-origin:left;
  transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.home-page #home-categories .cat-card:hover::before { transform:scaleX(1); }
.home-page #home-categories .cat-card:hover {
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--primary) 40%,transparent);
  box-shadow:0 24px 42px -26px rgba(25,103,130,.7);
}
.home-page #home-categories .cat-ico {
  background:linear-gradient(140deg,color-mix(in srgb,var(--primary) 15%,#fff),color-mix(in srgb,var(--accent) 13%,#fff));
  border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.home-page #home-categories .cat-card:hover .cat-ico { transform:translateY(-2px) rotate(-7deg) scale(1.06); }
.home-page #home-categories .cat-card:hover .service-link { color:var(--primary); }
.service-link { transition:color .2s; }
.home-page .subs-banner {
  background:linear-gradient(120deg,color-mix(in srgb,var(--primary) 7%,#fff),color-mix(in srgb,var(--accent) 8%,#fff));
  border-color:color-mix(in srgb,var(--primary) 25%,transparent);
}

/* ---- combos ---- */
.home-page .combo-card {
  background-color:#fff;
  background-image:radial-gradient(240px 240px at calc(100% - 40px) -60px,color-mix(in srgb,var(--primary) 16%,transparent),transparent 72%);
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s, border-color .3s;
}
.home-page .combo-card:hover {
  transform:translateY(-6px);
  border-color:color-mix(in srgb,var(--primary) 42%,transparent);
  box-shadow:0 26px 48px -28px rgba(25,103,130,.75);
}
.home-page .combo-card .combo-ico { transition:transform .35s cubic-bezier(.34,1.56,.64,1); }
.home-page .combo-card:hover .combo-ico { transform:scale(1.1) rotate(-6deg); }
.home-page .combo-card .combo-price { position:relative; z-index:1; }
.home-page .combo-card .combo-cta { transition:color .2s, background-color .2s, border-color .2s; }
.home-page .combo-card:hover .combo-cta { background:var(--grad); color:#fff; border-color:transparent; }

/* ---- passos ---- */
.home-page .step { transition:transform .3s cubic-bezier(.2,.7,.3,1), border-color .3s, box-shadow .3s; }
.home-page .step:hover {
  transform:translateY(-5px); border-color:color-mix(in srgb,var(--primary) 38%,transparent);
  box-shadow:0 24px 44px -28px rgba(25,103,130,.7);
}
.home-page .step .num { background-image:var(--grad); color:#fff; box-shadow:0 10px 22px -9px color-mix(in srgb,var(--primary) 75%,transparent); }
@media(min-width:761px) {
  .home-page .steps-grid::before {
    content:''; display:block; position:absolute; top:20px; left:15%; right:15%; height:2px; z-index:0;
    background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--primary) 35%,transparent) 0 10px,transparent 10px 20px);
  }
  .home-page .step { position:relative; z-index:1; }
}

/* ---- vantagens ---- */
.home-page .feature { border-radius:18px; transition:transform .3s cubic-bezier(.2,.7,.3,1), background-color .3s; }
.home-page .feature:hover { transform:translateY(-4px); background:#fbfeff; }
.home-page .feature .ico {
  background:linear-gradient(140deg,color-mix(in srgb,var(--primary) 15%,#fff),color-mix(in srgb,var(--accent) 13%,#fff));
  border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.home-page .feature:hover .ico { transform:translateY(-3px) rotate(-7deg); }

/* ---- painel de suporte ---- */
.support-panel {
  position:relative; overflow:hidden;
  background:
    radial-gradient(ellipse at 96% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 55%),
    linear-gradient(120deg,color-mix(in srgb,var(--primary) 9%,#fff),color-mix(in srgb,var(--accent) 10%,#fff));
  border-color:color-mix(in srgb,var(--primary) 26%,transparent);
  box-shadow:0 26px 50px -34px rgba(25,103,130,.85);
}
.support-symbol { display:inline-block; animation:sfSpin 26s linear infinite; }

/* ---- FAQ ---- */
.home-page .faq-item { transition:border-color .25s, box-shadow .3s, background-color .25s; }
.home-page .faq-item:hover { border-color:color-mix(in srgb,var(--primary) 35%,transparent); }
.home-page .faq-item.open {
  background:#fff;
  border-color:color-mix(in srgb,var(--primary) 45%,transparent);
  box-shadow:0 22px 44px -28px rgba(25,103,130,.8);
}
.home-page .faq-q { transition:color .2s; gap:16px; }
.home-page .faq-q:hover { color:var(--primary); }
.home-page .faq-q::after {
  display:grid; place-items:center; flex-shrink:0;
  width:30px; height:30px; border-radius:50%; line-height:1; font-size:1.2rem; font-weight:600;
  background:color-mix(in srgb,var(--primary) 12%,#fff);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), background-color .25s;
}
.home-page .faq-item.open .faq-q::after { transform:rotate(45deg); background-image:var(--grad); color:#fff; }

/* ---- CTA final ---- */
.home-page .cta-box {
  position:relative; overflow:hidden;
  background:
    radial-gradient(ellipse at 88% 12%,color-mix(in srgb,var(--accent) 65%,transparent),transparent 60%),
    radial-gradient(ellipse at 4% 112%,color-mix(in srgb,var(--primary) 55%,transparent),transparent 58%),
    linear-gradient(125deg,#102833,#153d50 55%,#123340);
  box-shadow:0 34px 64px -34px rgba(15,70,90,.9);
}
.home-page .cta-box::before {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);
  background-size:24px 24px;
  -webkit-mask-image:linear-gradient(115deg,transparent 45%,#000 100%);
  mask-image:linear-gradient(115deg,transparent 45%,#000 100%);
}
.home-page .cta-box > div,.home-page .cta-box > .btn { position:relative; z-index:1; }
.home-page .cta-box h2 { text-wrap:balance; }

/* ---- rodape ---- */
.storefront footer { position:relative; background:linear-gradient(180deg,#fff,#fafeff); }
.storefront footer::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background-image:var(--grad); opacity:.45;
}
.storefront .footer-grid h4 { text-transform:uppercase; letter-spacing:.07em; color:#8fa7ae; }
.storefront .footer-grid a { transition:color .2s, transform .2s; }
.storefront .footer-grid a:hover { color:var(--primary); transform:translateX(3px); }

/* ---- widget de ajuda (WhatsApp) ---- */
.storefront .help-widget {
  background:linear-gradient(135deg,#2fd86e,#16a34a); color:#fff; border:0;
  box-shadow:0 16px 32px -14px rgba(22,163,74,.8);
  font-weight:700; transition:transform .25s, box-shadow .25s;
}
.storefront .help-widget:hover { transform:translateY(-4px) scale(1.03); box-shadow:0 22px 40px -14px rgba(22,163,74,.9); }

/* ---- reveal on scroll (ativado pelo main.js) ---- */
.storefront.rv-ready .rv {
  opacity:0; transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
}
.storefront.rv-ready .rv.rv-in { opacity:1; transform:none; }
.storefront.rv-ready .rv-grid.rv-in > * { animation:sfUp .6s cubic-bezier(.2,.7,.3,1) both; }
.storefront.rv-ready .rv-grid.rv-in > *:nth-child(1) { animation-delay:.04s; }
.storefront.rv-ready .rv-grid.rv-in > *:nth-child(2) { animation-delay:.1s; }
.storefront.rv-ready .rv-grid.rv-in > *:nth-child(3) { animation-delay:.16s; }
.storefront.rv-ready .rv-grid.rv-in > *:nth-child(4) { animation-delay:.22s; }
.storefront.rv-ready .rv-grid.rv-in > *:nth-child(5) { animation-delay:.28s; }
.storefront.rv-ready .rv-grid.rv-in > *:nth-child(6) { animation-delay:.34s; }
.storefront.rv-ready .rv-grid.rv-in > *:nth-child(7) { animation-delay:.4s; }
.storefront.rv-ready .rv-grid.rv-in > *:nth-child(8) { animation-delay:.46s; }
.storefront.rv-ready .rv-grid.rv-in > *:nth-child(9) { animation-delay:.52s; }

/* ---- ajustes responsivos do polimento ---- */
@media(max-width:760px) {
  .home-page .hero h1 { letter-spacing:-2.2px; }
  .home-page .trust-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .home-page .trust-item { padding:10px 6px; border-radius:14px; text-align:center; }
  .home-page .trust-item b { font-size:calc(15px * var(--font-scale,1)); }
  .home-page .trust-item small { font-size:calc(9.5px * var(--font-scale,1)); }
  .storefront .section-title { letter-spacing:-1.1px; }
  .eyebrow::after { width:28px; margin-top:7px; }
  .home-page .cta-box::before { opacity:.35; }
  .storefront .footer-grid a:hover { transform:none; }
}
@media(max-width:439px) {
  .home-page #home-categories { grid-template-columns:1fr !important; gap:12px; }
  .home-page #home-categories .cat-card { padding:20px 18px; }
}

.checkout-trust { background:#0f2430; color:#cde6f2; font-size:12px; font-weight:700; }
.checkout-trust .container { display:flex; justify-content:center; gap:18px; flex-wrap:wrap; padding-block:10px; }
.checkout-guarantee { text-align:center; font-size:12px; color:#15803d; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:10px; padding:9px 10px; margin:12px 0 4px; font-weight:600; }

/* ================================================================
   CONVERSÃO v7 - prova social, oferta e urgência
   ================================================================ */
.home-page .hero-proof { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:calc(13px * var(--font-scale,1)); color:#5b6f75; margin:18px 0 0; }
.hero-avatars { display:inline-flex; }
.hero-avatars i { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-style:normal; font-size:10px; font-weight:800; color:#fff; border:2px solid #fff; margin-left:-8px; box-shadow:0 4px 10px rgba(0,0,0,.12); }
.hero-avatars i:first-child { margin-left:0; background:linear-gradient(135deg,#a855f7,#6366f1); }
.hero-avatars i:nth-child(2) { background:linear-gradient(135deg,#06b6d4,#3b82f6); }
.hero-avatars i:nth-child(3) { background:linear-gradient(135deg,#f59e0b,#ef4444); }
.hero-avatars i:nth-child(4) { background:#111c30; font-size:11px; }
.hero-stars { color:#f59e0b; letter-spacing:2px; font-size:14px; }
.hero-proof b { color:#111c30; }
.live-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#16a34a; margin-right:4px; animation:sfPulse 1.8s infinite; }
@keyframes sfPulse { 0%,100% { box-shadow:0 0 0 0 rgba(22,163,74,.5); } 50% { box-shadow:0 0 0 6px rgba(22,163,74,0); } }
.home-page .hero-offer { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:18px 0 22px; }
.hero-price { background:#111c30; color:#fff; border-radius:12px; padding:9px 14px; font-size:calc(14px * var(--font-scale,1)); }
.hero-price b { color:#4ade80; font-size:1.1em; }
.hero-delivery { background:#f0fdf4; border:1px solid #bbf7d0; color:#15803d; border-radius:12px; padding:9px 14px; font-size:calc(13px * var(--font-scale,1)); font-weight:700; }

/* depoimentos */
.home-page #depoimentos { background:#fff; border-block:1px solid #e8f2f6; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; text-align:left; }
.review-card { position:relative; background:linear-gradient(180deg,#fff,#fbfeff); border:2px solid var(--border); border-radius:18px; padding:24px 22px; display:flex; flex-direction:column; gap:14px; box-shadow:0 2px 12px -8px rgba(25,89,110,.35); }
.review-card.featured { border-color:var(--primary); box-shadow:0 18px 40px -22px rgba(27,92,255,.55); }
.review-badge { position:absolute; top:-12px; left:18px; background:var(--grad); color:#fff; font-size:11px; font-weight:800; letter-spacing:.06em; padding:4px 10px; border-radius:99px; }
.review-stars { color:#f59e0b; letter-spacing:3px; }
.review-card p { font-size:calc(15px * var(--font-scale,1)); color:#334155; line-height:1.65; }
.review-who { display:flex; gap:10px; align-items:center; margin-top:auto; padding-top:12px; border-top:1px solid #eef4f8; }
.review-avatar { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,var(--primary),var(--accent)); color:#fff; font-weight:800; font-size:13px; flex-shrink:0; }
.review-who strong { display:block; font-size:13px; }
.review-who small { font-size:11px; color:#16a34a; font-weight:600; }
.reviews-note { text-align:center; margin-top:22px; color:#64748b; font-size:calc(14px * var(--font-scale,1)); }

/* CTA final com garantias */
.cta-guarantees { list-style:none; margin:16px 0 12px; display:flex; flex-direction:column; gap:6px; color:#d7e9f1; font-size:calc(14px * var(--font-scale,1)); font-weight:600; }
.cta-actions { display:flex; flex-direction:column; gap:10px; align-items:stretch; min-width:260px; }
.cta-actions small { color:#9fbccb; text-align:center; font-size:12px; }

/* best-seller nos serviços */
.home-page #home-categories .cat-card.best-seller { border-color:var(--primary); box-shadow:0 18px 42px -20px rgba(27,92,255,.55); background:linear-gradient(180deg,#fff 60%,#f0f6ff); }
.home-page #home-categories .cat-card.best-seller::before { transform:scaleX(1); }
.best-badge { position:absolute; top:10px; right:10px; background:linear-gradient(90deg,#f59e0b,#ef4444); color:#fff; font-size:10px; font-weight:800; letter-spacing:.08em; padding:5px 10px; border-radius:99px; box-shadow:0 8px 18px -8px rgba(239,68,68,.7); max-width:calc(100% - 20px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-page .combo-card.best-combo { border-color:#f59e0b; box-shadow:0 20px 44px -22px rgba(245,158,11,.6); }

/* sticky CTA mobile + prova social */
.sticky-cta { position:fixed; left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom)); z-index:60; display:flex; align-items:center; justify-content:space-between; gap:10px; background:rgba(17,28,48,.97); backdrop-filter:blur(12px); color:#fff; border-radius:16px; padding:10px 10px 10px 14px; box-shadow:0 18px 40px -12px rgba(0,0,0,.5); transform:translateY(130%); transition:transform .35s cubic-bezier(.2,.7,.3,1); max-width:100%; box-sizing:border-box; }
.sticky-cta.show { transform:none; }
.sticky-cta[hidden] { display:flex; visibility:hidden; }
.sticky-cta.show[hidden] { visibility:visible; }
.sticky-info { flex:1 1 auto; min-width:0; }
.sticky-info b { display:block; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sticky-info small { display:block; font-size:10.5px; color:#bcd0dc; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sticky-cta .btn { flex:0 0 auto; padding:11px 16px; min-height:42px; white-space:nowrap; font-size:14px; }
.social-proof { position:fixed; left:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:59; display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:12px 12px 12px 14px; box-shadow:0 18px 40px -16px rgba(15,40,60,.35); max-width:min(340px,calc(100vw - 24px)); box-sizing:border-box; animation:sfUp .5s cubic-bezier(.2,.7,.3,1) both; }
.social-proof[hidden] { display:none; }
.zap-widget { transition:transform .35s cubic-bezier(.2,.7,.3,1); }
@media(max-width:760px) {
  /* quando a barra fixa aparece, empilha prova social e WhatsApp acima dela */
  body:has(.sticky-cta.show) .social-proof { bottom:calc(88px + env(safe-area-inset-bottom)); }
  body:has(.sticky-cta.show) .zap-widget { transform:translateY(-76px); }
}
.sp-ico { width:38px; height:38px; border-radius:12px; background:#f0fdf4; display:grid; place-items:center; font-size:20px; flex-shrink:0; }
.social-proof b { display:block; font-size:13px; line-height:1.4; }
.social-proof small { font-size:11px; color:#16a34a; font-weight:600; }
#sp-close { border:0; background:#f1f5f9; width:26px; height:26px; border-radius:50%; cursor:pointer; color:#64748b; flex-shrink:0; }

@media(max-width:900px) { .reviews-grid { grid-template-columns:1fr; } .cta-actions { min-width:0; } }
@media(min-width:761px) { .sticky-cta { display:none; } }
@media(max-width:760px) {
  .home-page .hero-proof { justify-content:center; font-size:12px; max-width:100%; }
  .home-page .hero-proof > span:last-child { flex-basis:100%; text-align:center; }
  .home-page .hero-offer { justify-content:center; max-width:100%; }
  .hero-price, .hero-delivery { max-width:100%; overflow-wrap:anywhere; }
  .sticky-info b { font-size:13px; }
  .sticky-cta .btn { padding:10px 14px; font-size:13px; }
  .storefront footer { padding-bottom:8px; }
  .storefront .footer-bottom { overflow-wrap:anywhere; padding-right:76px; }
}
