/* =====================================================================
   Blusx Produções — tema alinhado à loja nova (loja.blusxconvites.online)
   Carregado por último em todas as páginas: lilás presente, dourado em
   degradê nos detalhes, botões arredondados com texto em maiúsculas.
   ===================================================================== */

:root{
  --blx-lil:#BC9BD0;
  --blx-lil-d:#BC9BD0;
  --blx-title:#BC9BD0;
  --blx-lil-dd:#8A64AB;
  --blx-lil-l:#F5F0FA;
  --blx-lil-ll:#FBF8FD;
  --blx-aqua:#C5E5E6;
  --blx-gold:#B8894E;
  --blx-gold-dk:#A06F36;
  --blx-gold-l:#E5B97A;
  --blx-text:#6E5E80;
  --blx-ink:#4A3A5E;
  --blx-line:#E6DAF0;
  --blx-grad-gold:linear-gradient(100deg,#E5B97A 0%,#B8894E 45%,#D9AE6E 70%,#E8C38A 100%);
  --blx-grad-lil:linear-gradient(135deg,#CBB0DE 0%,#BC9BD0 55%,#B08FC6 100%);
  --blx-shadow-lil:0 18px 44px -22px rgba(138,100,171,.42);

  /* variáveis legadas do site, remapeadas para a nova paleta */
  --lilac-deep:var(--blx-lil-d);
  --lilac:#CEBADB;
  --lilac-soft:var(--blx-lil-l);
  --cream:var(--blx-lil-ll);
  --mint:var(--blx-aqua);
  --gold:var(--blx-gold);
  --gold-light:var(--blx-gold-l);
  --ink:var(--blx-ink);
  --ink-soft:var(--blx-text);
  --shadow:var(--blx-shadow-lil);
}

html body{background:#fff;color:var(--blx-ink);}

/* ---------- Tipografia: títulos em lilás, destaque em dourado degradê ---------- */
html body h1,html body h2{color:var(--blx-title);font-weight:800;letter-spacing:-.012em;}
html body h3{color:var(--blx-ink);}
html body .section-head h2,
html body .lp-head h2{font-size:clamp(1.9rem,3.3vw,2.6rem);font-weight:800;line-height:1.18;}
html body .hero h1,
html body .cat-hero h1,
html body .retro-hero h1{font-weight:800;letter-spacing:-.02em;}
html body .eyebrow,
html body .lp-eyebrow,
html body .retro-kicker{color:var(--blx-gold-dk);font-weight:800;}

html body .script,
html body .lp-script{
  font-family:'Gladista',cursive !important;
  font-style:normal;
  font-weight:400;
  background:var(--blx-grad-gold);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent !important;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  padding:0 .06em;
}

/* ---------- Botões: arredondados, texto em maiúsculas ---------- */
html body .btn,
html body .lp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border-radius:999px;text-transform:uppercase;letter-spacing:.09em;
  font-size:.76rem;font-weight:800;padding:15px 30px;line-height:1.1;
  border:1.5px solid transparent;text-align:center;
}
html body .btn-lilac,
html body .lp-btn.primary{
  background:var(--blx-grad-lil);color:#fff;border-color:transparent;
  box-shadow:0 14px 28px -14px rgba(138,100,171,.75);
}
html body .btn-lilac:hover,
html body .lp-btn.primary:hover{transform:translateY(-2px);box-shadow:0 18px 32px -14px rgba(138,100,171,.9);filter:saturate(1.08);}
html body .btn-gold,
html body .btn-shop,
html body .btn-insta{
  background:var(--blx-grad-gold);color:#fff;border-color:transparent;
  box-shadow:0 14px 28px -14px rgba(160,111,54,.8);
}
html body .btn-gold:hover,
html body .btn-shop:hover,
html body .btn-insta:hover{transform:translateY(-2px);box-shadow:0 18px 32px -14px rgba(160,111,54,.95);filter:saturate(1.1);}
html body .btn-outline,
html body .lp-btn.secondary{
  background:#fff;color:var(--blx-lil-dd);border:1.5px solid var(--blx-lil);box-shadow:none;
}
html body .btn-outline:hover,
html body .lp-btn.secondary:hover{background:var(--blx-lil-d);color:#fff;border-color:var(--blx-lil-d);transform:translateY(-2px);}
html body .btn-ghost{
  background:#fff;color:var(--blx-lil-dd);border-color:transparent;
  box-shadow:0 14px 28px -16px rgba(58,36,82,.5);
}
html body .btn-ghost:hover{transform:translateY(-2px);}
html body .btn svg{flex:none;}

/* botão "Clique para testar" */
.convite-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
html body .btn-test{
  padding:12px 24px;font-size:.72rem;
  background:#fff;color:var(--blx-lil-dd);border:1.5px solid var(--blx-lil);
}
html body .btn-test:hover{background:var(--blx-lil-d);color:#fff;border-color:var(--blx-lil-d);transform:translateY(-2px);}
html body .btn-test svg{width:14px;height:14px;fill:currentColor;stroke:none;}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px;}
.idv-card .btn-row .btn{margin-top:0 !important;}

/* ---------- Cabeçalho ---------- */
html body header{
  min-height:78px !important;height:auto !important;padding:0 32px !important;
  background:rgba(255,255,255,.95) !important;backdrop-filter:blur(10px);
  border-bottom:0 !important;box-shadow:0 2px 16px rgba(91,74,110,.10) !important;
}
html body header.scrolled{min-height:68px !important;background:rgba(255,255,255,.97) !important;}
html body .brand img{height:58px;margin:8px 0;}
html body header.scrolled .brand img{height:48px;}
html body nav{gap:26px;font-size:.74rem;}
html body nav a{
  text-transform:uppercase;letter-spacing:.09em;font-weight:700;
  color:var(--blx-lil-dd);opacity:1;
}
html body nav a:hover{color:var(--blx-gold-dk);}
html body nav a::after{background:var(--blx-grad-gold);height:2px;}
html body .nav-shop{display:none;}
html body .header-right .btn{padding:12px 22px;font-size:.7rem;}
html body .menu-toggle .bar{background:var(--blx-lil-dd);}
html body .menu-toggle.open .bar{background:var(--blx-gold);}

@media(max-width:1180px){
  html body .menu-toggle{display:flex;}
  html body nav{
    position:fixed;top:78px;left:0;right:0;background:#fff;flex-direction:column;z-index:99;
    padding:14px 24px 20px;gap:0;box-shadow:0 14px 30px -18px rgba(138,100,171,.45);
    border-bottom:1px solid var(--blx-line);
    opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;
    transition:opacity .28s,transform .38s cubic-bezier(.22,1,.36,1),visibility 0s .38s;
  }
  html body nav.mobile-open{display:flex;opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s;}
  html body nav a{opacity:0;transform:translateY(-8px);padding:11px 0;font-size:.8rem;transition:opacity .3s,transform .3s;}
  html body nav.mobile-open a{opacity:1;transform:none;}
  html body .nav-shop{display:block;}
}
@media(max-width:760px){
  html body header{min-height:64px !important;padding:0 14px !important;}
  html body header.scrolled{min-height:58px !important;}
  html body .brand img{height:42px;margin:6px 0;}
  html body nav{top:64px;}
  html body .header-right .btn-shop{display:none;}
  html body .header-right .btn{padding:10px 16px;font-size:.64rem;}
}

/* ---------- Home: hero ---------- */
html body .hero{
  background:
    radial-gradient(ellipse 90% 70% at 50% -8%,#E4D4F2 0%,rgba(228,212,242,0) 70%),
    linear-gradient(180deg,var(--blx-lil-l),#fff 92%);
}
html body .hero::before{background:radial-gradient(circle,rgba(229,185,122,.22) 0%,rgba(185,154,208,.22) 45%,transparent 72%);}
html body .hero-photos img{border-color:#fff;box-shadow:var(--blx-shadow-lil);}
html body .hero-sub{color:var(--blx-text);}
html body .sparkle{color:var(--blx-gold-l);}
.sparkle svg{width:1.3rem;height:1.3rem;fill:currentColor;display:block;}

/* ---------- Home: serviços ---------- */
html body .services{background:#fff;}
html body .service-card{background:var(--blx-lil-ll);border:1px solid var(--blx-line);}
html body .service-card:hover{border-color:var(--blx-lil);}
html body .service-icon{background:var(--blx-grad-lil);box-shadow:0 10px 18px -10px rgba(138,100,171,.7);}
html body .service-icon svg{stroke:#fff;}
html body .service-card h3{color:var(--blx-ink);}

/* ---------- Home: catálogos / cursos / IDV ---------- */
html body .catalogs,
html body .idv-home{
  background:
    linear-gradient(180deg,rgba(245,240,250,.93),rgba(245,240,250,.97)),
    url('catalog-texture.jpg') center top/520px auto repeat !important;
}
html body .idv-home{background:#fff !important;}
html body .courses{
  background-blend-mode:normal !important;
  background:
    linear-gradient(180deg,rgba(245,240,250,.93),rgba(245,240,250,.97)),
    url('catalog-texture.jpg') center top/520px auto repeat !important;
}
html body .catalog-1,html body .catalog-2,html body .catalog-3,html body .catalog-4,
html body .course-1,html body .course-2,html body .course-3,
html body .idv-home .catalog-card{
  background:#fff !important;border:1px solid var(--blx-line);
  box-shadow:0 18px 38px -26px rgba(138,100,171,.5) !important;
}
html body .course-2{background:linear-gradient(160deg,#fff,#EAF6F7) !important;}
html body .catalogs .catalog-card::after,
html body .courses .course-card::after{display:none;}
html body .catalog-card:hover,
html body .course-card:hover{border-color:var(--blx-lil);transform:translateY(-6px);box-shadow:var(--blx-shadow-lil) !important;}
html body .catalog-icon,
html body .course-icon{background:var(--blx-grad-lil);box-shadow:0 10px 18px -10px rgba(138,100,171,.75);}
html body .catalog-icon svg,
html body .course-icon svg{stroke:#fff;color:#fff;}
html body .catalog-card:hover .catalog-icon{box-shadow:0 12px 22px -10px rgba(138,100,171,.9);}
html body .catalog-body .eyebrow,
html body .course-card .eyebrow{color:var(--blx-gold-dk);}
html body .catalog-body h3,
html body .course-card h3{color:var(--blx-title);font-weight:800;}
html body .catalog-body p,
html body .course-card p{color:var(--blx-text);}

/* links "Ver catálogo →" em dourado degradê */
html body .catalog-link,
html body .course-link{
  position:relative;display:inline-block;padding-bottom:5px;
  font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  background:var(--blx-grad-gold);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent !important;
}
html body .catalog-link::after,
html body .course-link::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--blx-grad-gold);
}

.idv-home .catalog-grid{grid-template-columns:repeat(3,1fr) !important;}
@media(max-width:980px){.idv-home .catalog-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:760px){.idv-home .catalog-grid{grid-template-columns:1fr !important;}}

/* ---------- Home: avaliações (mesmo fundo texturizado das outras seções) ---------- */
html body .reviews{
  background:
    linear-gradient(180deg,rgba(245,240,250,.93),rgba(245,240,250,.97)),
    url('catalog-texture.jpg') center top/520px auto repeat !important;
}
html body .reviews::before{display:none;}
html body .reviews .test-card{border:3px solid #fff;box-shadow:0 16px 30px -18px rgba(138,100,171,.55);}
html body .marquee-wrap::-webkit-scrollbar-thumb{background:var(--blx-lil);}

/* ---------- Home: Instagram ---------- */
html body .instagram{background:#fff;}
.ig-post{display:block;}
.ig-post .ig-badge{
  position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;
  background:rgba(58,36,82,.55);display:flex;align-items:center;justify-content:center;
}
.ig-post .ig-badge svg{width:12px;height:12px;fill:#fff;}
html body .ig-post{box-shadow:0 14px 28px -18px rgba(138,100,171,.55);border:3px solid #fff;outline:1px solid var(--blx-line);}
.ig-grid.is-live .ig-post{animation:igIn .5s both;}
@keyframes igIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* ---------- CTA final ---------- */
html body .cta-final,
html body .retro-final{
  background:var(--blx-grad-lil) !important;color:#fff !important;position:relative;overflow:hidden;
}
html body .cta-final::before,
html body .retro-final::before{
  content:'';position:absolute;inset:0;background:url('catalog-texture.jpg') center/460px repeat;opacity:.10;mix-blend-mode:soft-light;pointer-events:none;
}
html body .cta-final .wrap,
html body .retro-final .lp-wrap{position:relative;}
html body .cta-final h2,
html body .retro-final h2{color:#fff;}
html body .cta-final p,
html body .retro-final p{color:rgba(255,255,255,.93) !important;}
html body .cta-final .script,
html body .retro-final .script,
html body .retro-final .lp-script{background:none !important;-webkit-text-fill-color:#FFE9B8;color:#FFE9B8 !important;}
html body .retro-final .lp-eyebrow{color:rgba(255,255,255,.9);}
html body .cta-final .btn-ghost{background:#fff;color:var(--blx-lil-dd);border:0;}
html body .retro-final .lp-btn.primary{background:#fff;color:var(--blx-lil-dd);box-shadow:0 14px 28px -16px rgba(58,36,82,.55);}

/* ---------- Rodapé: claro, com detalhes dourados ---------- */
html body footer{
  position:relative;
  background:
    linear-gradient(180deg,rgba(251,248,253,.96),rgba(241,232,249,.97)),
    url('catalog-texture.jpg') center/520px auto repeat !important;
  color:var(--blx-text) !important;border-top:0 !important;padding-top:64px;
}
html body .footer-grid{border-bottom:0 !important;padding-bottom:40px;position:relative;}
html body .footer-bottom{border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(184,137,78,.5) 20%,rgba(184,137,78,.5) 80%,transparent) 1;padding-top:24px;}
html body .footer-brand img{filter:none !important;opacity:1 !important;height:58px;}
html body .footer-brand p{color:var(--blx-text) !important;line-height:1.7;}
html body .footer-col h4{
  color:var(--blx-title) !important;font-weight:800;letter-spacing:.16em;font-size:.76rem;
  padding-bottom:12px;margin-bottom:18px;position:relative;
}
html body .footer-col a{color:var(--blx-text) !important;transition:color .25s,transform .25s;}
html body .footer-col a:hover{color:var(--blx-gold-dk) !important;transform:translateX(3px);}
html body .footer-social a{
  background:#fff !important;border:1px solid rgba(184,137,78,.55);
  box-shadow:0 8px 16px -10px rgba(138,100,171,.5);transition:all .3s;
}
html body .footer-social a:hover{background:var(--blx-grad-gold) !important;border-color:transparent;transform:translateY(-2px);}
html body .footer-social svg{stroke:var(--blx-lil-dd) !important;}
html body .footer-social a:hover svg{stroke:#fff !important;}
html body .footer-bottom,
html body .footer-legal{color:#7D6D91 !important;}
html body .made-by{background:#fff;color:var(--blx-lil-dd);border:1px solid rgba(184,137,78,.45);box-shadow:0 8px 16px -12px rgba(138,100,171,.5);}
html body .made-by:hover{background:var(--blx-lil-l);}

/* ---------- Catálogos: hero, índice e seções ---------- */
html body .cat-hero{
  background:
    radial-gradient(ellipse 90% 80% at 50% -12%,#E4D4F2 0%,rgba(228,212,242,0) 70%),
    linear-gradient(180deg,var(--blx-lil-l),#fff 95%);
}
html body .cat-hero p{color:var(--blx-text);}
html body .catalog-hero-image{border:1px solid var(--blx-line);box-shadow:var(--blx-shadow-lil);}
html body .catalog-index{background:rgba(255,255,255,.92) !important;border:1px solid var(--blx-line) !important;box-shadow:0 14px 34px -28px rgba(138,100,171,.6) !important;}
html body .catalog-index .toc-link{
  background:var(--blx-lil-l) !important;color:var(--blx-lil-dd) !important;
  border:1px solid var(--blx-line) !important;text-transform:uppercase;letter-spacing:.07em;font-size:.7rem !important;font-weight:800 !important;
}
html body .catalog-index .toc-link:hover{background:#EBDDF6 !important;color:var(--blx-lil-dd) !important;}
html body .catalog-index .toc-link.is-active{
  background:var(--blx-grad-lil) !important;color:#fff !important;border-color:transparent !important;
}
html body .styles-sec{background:#fff;}
html body .steps-sec{background:var(--blx-lil-l);background-image:none;}
html body .styles-sec::before,
html body .steps-sec::before{opacity:.04;}

html body .convite-row,
html body .convite-row.rev{border:1px solid var(--blx-line);box-shadow:0 18px 38px -28px rgba(138,100,171,.5);}
html body .convite-row:hover{box-shadow:var(--blx-shadow-lil);}
html body .convite-content h3{color:var(--blx-title);font-weight:800;}
html body .convite-content li::before{content:'';width:6px;height:6px;border-radius:2px;background:var(--blx-grad-gold);top:.55em;left:1px;transform:rotate(45deg);}
html body .convite-content li{padding-left:18px;}
html body .feature-text ul.two-col li::before,
html body .price-card li::before,
html body .idv-grid span::before{
  content:'';width:6px;height:6px;border-radius:2px;background:var(--blx-grad-gold);
  top:.55em;left:1px;transform:rotate(45deg);font-size:0;
}
html body .feature-text ul.two-col li,
html body .idv-grid span{padding-left:18px;}
html body .feature-text h2{color:var(--blx-title);}
html body .feature-text > p{color:var(--blx-text);}
html body .feature-media img{border-color:#fff;box-shadow:0 18px 36px -18px rgba(138,100,171,.5);}

html body .price-tag{background:var(--blx-lil-l) !important;color:var(--blx-lil-dd) !important;border:1px solid var(--blx-line) !important;font-weight:800;}
html body .price-tag.alt{background:var(--blx-grad-lil) !important;color:#fff !important;border-color:transparent !important;}
html body .addon-card{border:1px solid var(--blx-line);background:#fff;}
html body .addon-card h4{color:var(--blx-ink);}
html body .addon-price{background:var(--blx-lil-l) !important;color:var(--blx-lil-dd) !important;border:1px solid var(--blx-line);}
html body .idv-card{background:linear-gradient(160deg,#fff,var(--blx-lil-l));border:1px solid var(--blx-line);box-shadow:var(--blx-shadow-lil);}
html body .idv-media img{border-color:#fff;}
html body .info-card{border:1px solid var(--blx-line);}
html body .info-card h4{color:var(--blx-title);font-weight:800;}
html body .info-card li::before{color:var(--blx-gold);}
html body .step-num{background:var(--blx-grad-gold);}

.convite-img-fallback,
html body .convite-video-placeholder,
html body .print-art-placeholder,
.media-soon{
  border:1.5px dashed var(--blx-lil);background:linear-gradient(145deg,#fff,var(--blx-lil-l));color:var(--blx-lil-dd);
}
.media-soon{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;
  border-radius:18px;min-height:300px;width:min(100%,360px);padding:24px;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
}
.media-soon svg{width:34px;height:34px;stroke:var(--blx-lil-d);fill:none;stroke-width:1.5;}
.media-soon small{font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--blx-text);font-size:.74rem;}
.idv-media .media-soon{width:100%;min-height:220px;}
.feature-media .media-soon{min-height:280px;}

/* botão de som dos vídeos */
.sound-toggle svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* fechar lightbox */
.lightbox-close svg{width:18px;height:18px;stroke:#fff;stroke-width:2;stroke-linecap:round;fill:none;}
.lightbox-close{display:flex;align-items:center;justify-content:center;}

/* ---------- Troca entre catálogo infantil e adulto ---------- */
.cross-link{display:flex;justify-content:center;margin-top:22px;}
html body .cross-link a{
  display:inline-flex;align-items:center;gap:10px;padding:12px 26px;border-radius:999px;
  background:#fff;border:1.5px solid var(--blx-lil);color:var(--blx-lil-dd);
  font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:all .3s;
}
html body .cross-link a:hover{background:var(--blx-lil-d);color:#fff;border-color:var(--blx-lil-d);transform:translateY(-2px);}
.cross-link svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* ---------- Pergunta "Para quem é a festa?" ---------- */
.blx-modal{
  position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;
  background:rgba(58,36,82,.62);backdrop-filter:blur(6px);
}
.blx-modal.open{display:flex;animation:blxFade .25s ease;}
@keyframes blxFade{from{opacity:0;}to{opacity:1;}}
.blx-modal-box{
  position:relative;width:min(560px,100%);background:#fff;border-radius:28px;padding:40px 34px 34px;text-align:center;
  box-shadow:0 40px 80px -30px rgba(58,36,82,.7);animation:blxPop .35s cubic-bezier(.22,1,.36,1);
}
@keyframes blxPop{from{opacity:0;transform:translateY(18px) scale(.97);}to{opacity:1;transform:none;}}
.blx-modal-box h2{font-size:clamp(1.5rem,4vw,1.9rem);margin:0;}
.blx-modal-box p{color:var(--blx-text);margin-top:14px;font-size:.95rem;line-height:1.55;}
.blx-modal-close{
  position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;
  background:var(--blx-lil-l);display:flex;align-items:center;justify-content:center;transition:background .25s;
}
.blx-modal-close:hover{background:#E6D6F3;}
.blx-modal-close svg{width:16px;height:16px;stroke:var(--blx-lil-dd);stroke-width:2;stroke-linecap:round;fill:none;}
.blx-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px;}
.blx-choice{
  display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 14px;border-radius:22px;
  background:var(--blx-lil-ll);border:1.5px solid var(--blx-line);color:var(--blx-ink);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s,background .3s;
}
.blx-choice:hover,.blx-choice:focus-visible{transform:translateY(-4px);border-color:var(--blx-lil);box-shadow:var(--blx-shadow-lil);background:#fff;outline:none;}
.blx-choice-icon{
  width:62px;height:62px;border-radius:50%;background:var(--blx-grad-lil);display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 22px -12px rgba(138,100,171,.8);
}
.blx-choice-icon svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.blx-choice strong{font-size:1.2rem;font-weight:800;color:var(--blx-title);}
.blx-choice small{font-size:.8rem;color:var(--blx-text);line-height:1.4;}
@media(max-width:520px){
  .blx-modal-box{padding:34px 20px 24px;border-radius:24px;}
  .blx-choices{grid-template-columns:1fr;gap:10px;}
  .blx-choice{flex-direction:row;text-align:left;padding:16px;gap:14px;}
  .blx-choice-icon{width:52px;height:52px;flex:none;}
  .blx-choice span.txt{display:flex;flex-direction:column;gap:3px;}
}

/* ---------- Retrospectivas (landing própria) ---------- */
html body .retro-main{background:#fff;}
html body .retro-hero{background:radial-gradient(ellipse 90% 80% at 50% -12%,#E4D4F2 0%,rgba(228,212,242,0) 70%),linear-gradient(180deg,var(--blx-lil-l),#fff 95%);}
html body .retro-hero p{color:var(--blx-text);}
html body .retro-packages{background:var(--blx-lil-l);}
html body .retro-pack{border:1px solid var(--blx-line);}
html body .retro-pack.featured{border-color:var(--blx-gold-l);box-shadow:0 24px 50px -30px rgba(160,111,54,.5);}
html body .retro-pack h3{color:var(--blx-title);font-weight:800;}
html body .retro-price{background:var(--blx-lil-l);color:var(--blx-lil-dd);border:1px solid var(--blx-line);}
html body .retro-pack li{color:var(--blx-text);}
html body .retro-pack li:before{
  content:'';width:5px;height:9px;border:solid var(--blx-gold);border-width:0 2px 2px 0;transform:rotate(45deg);
  top:.3em;left:4px;font-size:0;
}
html body .retro-extra{background:var(--blx-lil-ll);border:1px solid var(--blx-line);}
html body .retro-extra h3{color:var(--blx-title);}
html body .retro-extra strong{color:var(--blx-gold-dk);}
html body .retro-process{background:#fff;}
html body .retro-step{background:var(--blx-lil-l);border:1px solid var(--blx-line);}
html body .retro-step b{color:var(--blx-gold-dk);}
html body .lp-card{border:1px solid var(--blx-line);}
html body .lp-card .num{background:var(--blx-grad-lil);color:#fff;}
html body .lp-card h3{color:var(--blx-title);}
html body .retro-extras:not(.retro-extras ~ .retro-extras){background:#fff;}

/* ---------- Ajustes de mobile ---------- */
@media(max-width:760px){
  html body .btn,html body .lp-btn{padding:14px 24px;}
  html body .section-head h2{font-size:1.7rem;}
}

html body .lp-btn svg{width:14px;height:14px;fill:currentColor;stroke:none;flex:none;}

html body .course-link{align-self:flex-start;}

/* ---------- Aniversário adulto: topo com convites de exemplo ---------- */
.adult-hero-cards{display:flex;justify-content:center;align-items:center;padding:8px 0 4px;}
.adult-hero-cards img{height:min(430px,64vw);width:auto;max-width:none;object-fit:cover;}
.adult-hero-cards img:first-child{
  border-radius:22px;border:6px solid #fff;box-shadow:var(--blx-shadow-lil);
  transform:rotate(-5deg);margin-right:-34px;position:relative;z-index:2;
}
.adult-hero-cards img:last-child{
  transform:rotate(4deg);filter:drop-shadow(0 20px 24px rgba(138,100,171,.35));
}
html body .print-art-placeholder svg{width:34px;height:34px;stroke:var(--blx-lil-d);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
html body .print-art-placeholder small{color:var(--blx-text);}
.media-soon svg{stroke-linecap:round;stroke-linejoin:round;}

.blx-choice span.txt{display:flex;flex-direction:column;align-items:center;gap:4px;}
@media(max-width:520px){.blx-choice span.txt{align-items:flex-start;}}

/* ---------- Cabeçalho: menu realmente centralizado ---------- */
html body header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:20px;}
html body header .brand{justify-self:start;}
html body header nav{justify-self:center;align-items:center;}
html body header .header-right{justify-self:end;display:flex;align-items:center;gap:10px;}
html body header .header-right .btn{height:44px;padding:0 22px;white-space:nowrap;}
@media(max-width:1180px){
  html body header{grid-template-columns:1fr auto;}
}

/* =====================================================================
   Home enxuta (uso como link da bio): blocos compactos que abrem a janelinha
   ===================================================================== */
html body section{scroll-margin-top:84px;}
html body .hub{padding:44px 0;}
html body .hub .section-head{margin-bottom:24px;}
html body .hub .section-head h2{font-size:clamp(1.7rem,3vw,2.2rem);}
html body .hub .section-head p{margin-top:10px;font-size:.98rem;}

.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:820px;margin:0 auto;}
.hub-grid.cols3{grid-template-columns:repeat(3,1fr);max-width:1000px;}
html body .hub-card{
  display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;
  background:#fff;border:1px solid var(--blx-line);box-shadow:0 14px 30px -24px rgba(138,100,171,.55);
  color:var(--blx-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;
}
html body .hub-card:hover,html body .hub-card:focus-visible{transform:translateY(-3px);border-color:var(--blx-lil);box-shadow:var(--blx-shadow-lil);outline:none;}
html body .hub-card:active{transform:scale(.985);}
.hub-icon{
  flex:none;width:48px;height:48px;border-radius:50%;background:var(--blx-grad-lil);
  display:flex;align-items:center;justify-content:center;box-shadow:0 10px 18px -10px rgba(138,100,171,.8);
}
.hub-icon svg{width:23px;height:23px;stroke:#fff;}
.hub-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.hub-text strong{font-size:1rem;font-weight:800;color:var(--blx-title);line-height:1.2;}
.hub-text small{font-size:.8rem;color:var(--blx-text);line-height:1.35;}
.hub-go{flex:none;width:28px;height:28px;border-radius:50%;background:var(--blx-lil-l);display:flex;align-items:center;justify-content:center;transition:background .3s;}
.hub-go svg{width:14px;height:14px;fill:none;stroke:var(--blx-lil-dd);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
html body .hub-card:hover .hub-go{background:var(--blx-grad-gold);}
html body .hub-card:hover .hub-go svg{stroke:#fff;}
html body .services.hub{background:#fff;}

/* demais seções da home, mais curtas */
html body .hero{padding-bottom:30px;}
html body .reviews,html body .instagram{padding:44px 0;}
html body .reviews .section-head,html body .instagram .section-head{margin-bottom:24px;}
html body .test-card{flex:0 0 200px;}
html body .test-card img{height:290px;}
html body .ig-follow{margin-top:26px;}

/* rodapé compacto: logo, contato e crédito */
html body footer{padding-top:40px;padding-bottom:22px;}
html body .footer-grid{grid-template-columns:1.4fr 1fr;padding-bottom:26px;gap:24px;}
html body .footer-grid > .footer-col:nth-child(2),
html body .footer-grid > .footer-col:nth-child(3){display:none;}
html body .footer-bottom{padding-top:18px;}

/* janelinha com 3 ou 4 opções */
.blx-choices.n3{grid-template-columns:repeat(3,1fr);}
.blx-choices.n4{grid-template-columns:1fr 1fr;}
.blx-modal-box{width:min(600px,100%);}
.blx-choices.n3 .blx-choice,.blx-choices.n4 .blx-choice{padding:20px 12px;}
.blx-choices.n3 .blx-choice strong,.blx-choices.n4 .blx-choice strong{font-size:1.05rem;text-align:center;}
.blx-choices.n3 .blx-choice small,.blx-choices.n4 .blx-choice small{text-align:center;}

@media(max-width:760px){
  html body .hub{padding:34px 0;}
  .hub-grid,.hub-grid.cols3{grid-template-columns:1fr;gap:10px;}
  html body .hub-card{padding:14px 16px;}
  html body .reviews,html body .instagram{padding:34px 0;}
  html body .test-card{flex:0 0 52vw;}
  html body .test-card img{height:300px;}
  .ig-grid .ig-post:nth-child(n+5){display:none;}
  html body .footer-grid{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .blx-choices.n3,.blx-choices.n4{grid-template-columns:1fr;}
  .blx-choices.n3 .blx-choice,.blx-choices.n4 .blx-choice{flex-direction:row;text-align:left;padding:14px 16px;gap:14px;}
  .blx-choices.n3 .blx-choice strong,.blx-choices.n4 .blx-choice strong,
  .blx-choices.n3 .blx-choice small,.blx-choices.n4 .blx-choice small{text-align:left;}
  .blx-choices.n3 .blx-choice span.txt,.blx-choices.n4 .blx-choice span.txt{align-items:flex-start;}
}

@media(max-width:760px){
  html body .hero{padding-top:84px;padding-bottom:24px;}
  html body .hero-photos{margin-top:16px;}
  html body .hero-photos img{width:160px;height:213px;}
  html body .hero-photos img:first-child{margin-right:-26px;}
  html body .hero-actions{margin-top:14px;gap:10px;}
}

/* =====================================================================
   Refino final
   ===================================================================== */
/* ícones ilustrados da marca nos blocos */
.hub-icon{flex:none;width:64px;height:60px;border-radius:0;background:none;box-shadow:none;display:flex;align-items:center;justify-content:center;}
.hub-icon img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(138,100,171,.22));transition:transform .35s cubic-bezier(.22,1,.36,1);}
html body .hub-card:hover .hub-icon img{transform:translateY(-2px) scale(1.06);}
html body .hub-card{gap:16px;padding:14px 18px 14px 14px;border-radius:22px;}
.hub-text strong{font-size:1.04rem;letter-spacing:-.005em;}
.hub-text small{font-size:.82rem;}
html body .hub .section-head{margin-bottom:26px;}
html body .section-head h2,html body .lp-head h2{letter-spacing:-.015em;}

/* seção dourada antes do rodapé (home) */
html body .cta-gold{
  position:relative;overflow:hidden;text-align:center;padding:60px 0;color:#fff;
  background:linear-gradient(120deg,#C7A064 0%,#B8894E 48%,#D2A864 100%);
}
html body .cta-gold::before{
  content:'';position:absolute;inset:0;background:url('catalog-texture.jpg') center/460px repeat;opacity:.13;mix-blend-mode:soft-light;pointer-events:none;
}
html body .cta-gold .wrap{position:relative;}
html body .cta-gold h2{color:#fff;font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.2;text-shadow:0 2px 14px rgba(112,72,24,.25);}
html body .cta-gold .script{background:none;-webkit-text-fill-color:#FFF6DF;color:#FFF6DF !important;}
html body .cta-gold p{margin:14px auto 26px;max-width:460px;color:rgba(255,255,255,.96);font-size:1.02rem;line-height:1.55;}
html body .cta-gold .btn-ghost{background:#fff;color:var(--blx-gold-dk);box-shadow:0 16px 28px -16px rgba(90,56,14,.55);}
@media(max-width:760px){html body .cta-gold{padding:46px 0;}}

/* selo da Netti Digital: pequeno e discreto, centralizado */
html body .footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:10px;}
html body .footer-legal{align-items:center;font-size:.76rem;line-height:1.5;}
html body .made-by{
  background:none !important;border:0 !important;box-shadow:none !important;padding:0;gap:6px;
  font-size:.66rem;letter-spacing:.05em;color:#9a8cab !important;border-radius:0;
}
html body .made-by:hover{background:none !important;color:var(--blx-gold-dk) !important;}
html body .made-by img{height:13px;width:13px;border-radius:3px;filter:grayscale(1);opacity:.65;}
html body .made-by:hover img{filter:none;opacity:1;}

@media(max-width:760px){
  html body .footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center;}
  html body .footer-brand p{text-align:center;max-width:300px;}
  html body .footer-brand img{margin-left:0;}
  html body .footer-col{text-align:center;}
}

.hub-grid.cols3{max-width:1080px;}
.hub-grid.cols3 .hub-icon{width:56px;}


/* =====================================================================
   Rodapé estruturado (colunas com direcionamentos) + toques decorativos
   ===================================================================== */
html body footer{padding-top:58px;padding-bottom:24px;}
html body .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-bottom:38px;}
html body .footer-grid > .footer-col:nth-child(2),
html body .footer-grid > .footer-col:nth-child(3){display:block;}
html body .footer-col{text-align:left;}
html body .footer-col h4{margin-bottom:16px;padding-bottom:0;font-size:.74rem;}
html body .footer-col a{display:block;margin-bottom:11px;font-size:.92rem;line-height:1.35;}
html body .footer-brand{align-items:flex-start;text-align:left;}
@media(max-width:980px){
  html body .footer-grid{grid-template-columns:1fr 1fr;gap:30px;}
  html body .footer-brand{grid-column:1 / -1;}
}
@media(max-width:760px){
  html body footer{padding-top:44px;}
  html body .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px;}
  html body .footer-brand{display:flex;flex-direction:column;align-items:flex-start;text-align:left;}
  html body .footer-brand p{text-align:left;max-width:340px;}
  html body .footer-social{justify-content:flex-start;}
  html body .footer-grid > .footer-col:nth-child(4){grid-column:1 / -1;}
  html body .footer-col{text-align:left;}
}

/* enfeites leves: corações e fita da marca */
.deco{position:absolute;pointer-events:none;user-select:none;height:auto;z-index:1;}
html body .hero .deco-ribbon{left:-8%;bottom:-26px;width:58%;opacity:.5;}
html body .hero .deco-heart-gold{top:34%;left:12%;width:44px;transform:rotate(-12deg);animation:decoFloat 7s ease-in-out infinite;}
html body .hero .deco-heart-lilac{top:26%;right:12%;width:38px;transform:rotate(10deg);animation:decoFloat 8s ease-in-out -2s infinite;}
html body .hero .hero-inner{z-index:2;}
@keyframes decoFloat{0%,100%{translate:0 0;}50%{translate:0 -8px;}}
html body .cta-gold .deco-ribbon{right:-10%;bottom:-24px;width:52%;opacity:.38;transform:scaleX(-1);}
html body .cta-gold .deco-heart-lilac{left:9%;top:22%;width:36px;transform:rotate(-10deg);opacity:.95;}
html body .cta-gold .wrap{z-index:2;}
html body .cat-hero::after,html body .retro-hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:url('deco/heart-gold.webp') no-repeat 9% 26%/38px auto,url('deco/heart-lilac.webp') no-repeat 91% 40%/34px auto;
}
html body .retro-hero{position:relative;overflow:hidden;}
@media(max-width:760px){
  html body .hero .deco-ribbon{left:-18%;bottom:-16px;width:92%;opacity:.4;}
  html body .hero .deco-heart-gold{top:41%;left:4%;width:28px;}
  html body .hero .deco-heart-lilac{top:35%;right:4%;width:24px;}
  html body .cta-gold .deco-ribbon{right:-22%;width:90%;opacity:.3;}
  html body .cta-gold .deco-heart-lilac{left:5%;top:12%;width:26px;}
  html body .cat-hero::after,html body .retro-hero::after{display:none;}
}
@media (prefers-reduced-motion: reduce){.deco{animation:none !important;}}


/* =====================================================================
   Primeira dobra com a foto e a frase da marca
   ===================================================================== */
html body .hero{padding:96px 0 34px;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:6px;align-items:center;max-width:1080px;position:relative;z-index:2;}
.hero-photo{display:flex;justify-content:center;}
.hero-photo img{width:min(100%,460px);height:auto;max-width:none;filter:drop-shadow(0 26px 30px rgba(138,100,171,.22));}
.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;}
html body .hero .hero-title{margin:0;line-height:0;}
html body .hero .hero-title img{width:min(100%,560px);height:auto;margin:0 auto;}
html body .hero .hero-actions{margin-top:18px;justify-content:center;}
@media(min-width:900px){
  html body .hero{padding:104px 0 56px;}
  .hero-grid{grid-template-columns:1.05fr .95fr;gap:30px;}
  .hero-copy{order:-1;align-items:flex-start;text-align:left;}
  html body .hero .hero-title img{margin:0;width:min(100%,600px);}
  html body .hero .hero-actions{justify-content:flex-start;margin-top:26px;}
  .hero-photo img{width:min(100%,520px);}
}
@media(max-width:760px){
  html body .hero{padding:78px 0 26px;}
  .hero-photo img{width:min(88%,360px);}
  html body .hero .hero-title img{width:min(94%,400px);}
}
html body .hero .deco-heart-gold{top:24%;left:5%;}
html body .hero .deco-heart-lilac{top:16%;right:6%;}
@media(min-width:900px){
  html body .hero .deco-heart-gold{top:15%;left:44%;}
  html body .hero .deco-heart-lilac{top:60%;left:46%;right:auto;}
}

/* títulos empilhados: linha forte em maiúsculas + linha em script dourado */
html body .stack-title{line-height:1.02;}
html body .stack-title .st-main{
  display:block;text-transform:uppercase;font-weight:800;letter-spacing:.005em;color:var(--blx-title);
  font-size:clamp(1.9rem,4.4vw,2.7rem);
}
html body .stack-title .script{display:block;margin-top:2px;font-size:clamp(1.55rem,3.4vw,2.2rem);line-height:1.1;}
html body .ig-sub{margin-top:14px;font-size:.88rem;color:var(--blx-gold-dk);letter-spacing:.01em;}

/* fita como separador entre as seções */
@media(max-width:760px){}

/* fita inteira (sem cortar) como separador */
html body .services.hub,html body .courses.hub,html body .reviews,html body .instagram{padding-top:70px;}
html body .hero{padding-bottom:64px;}
html body .services.hub,html body .courses.hub,html body .reviews{padding-bottom:64px;}
@media(max-width:760px){
  html body .services.hub,html body .courses.hub,html body .reviews,html body .instagram{padding-top:54px;}
  html body .hero{padding-bottom:46px;}
  html body .services.hub,html body .courses.hub,html body .reviews{padding-bottom:46px;}
}
/* a máscara precisa ter a largura da própria fita */
@media(max-width:760px){}

/* fita do arquivo novo (mais comprida): separador entre seções */
/* sem a fita acima das avaliações, o espaço volta ao normal */
html body .reviews{padding-top:56px;}
html body .courses.hub{padding-bottom:56px;}
@media(max-width:760px){
  /* no celular a fita atravessa a largura toda, de uma borda à outra */
  html body .reviews{padding-top:40px;}
  html body .courses.hub{padding-bottom:42px;}
  html body .services.hub,html body .instagram{padding-top:56px;}
  html body .hero{padding-bottom:50px;}
  html body .services.hub{padding-bottom:52px;}
}


/* =====================================================================
   Fita separadora: fundo branco predominante; a faixa onde a fita passa
   usa o mesmo lilás da seção vizinha, sem emenda dura entre as cores
   ===================================================================== */
.ribbon-sep{
  --h:128px;
  position:relative;z-index:4;pointer-events:none;overflow:hidden;
  height:var(--h);margin:calc(var(--h) / -2) 0;
}
/* a fita (com as pontas suavizadas) */
.ribbon-sep::after{
  content:'';position:absolute;top:0;bottom:0;left:50%;
  width:calc(var(--h) * 2.905);transform:translateX(-50%);
  background:url('deco/ribbon-wide.webp') center/100% 100% no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 80%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 80%,transparent 100%);
  filter:drop-shadow(0 8px 12px rgba(138,100,171,.16));
}
.ribbon-sep.flip::after{transform:translateX(-50%) scaleX(-1);}
/* faixa de transição: toda a largura da tela */
.ribbon-sep::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;}
.ribbon-sep.to-lilac::before{background:linear-gradient(180deg,rgba(243,237,249,0) 0%,#F3EDF9 58%,#F3EDF9 100%);}
.ribbon-sep.from-lilac::before{background:linear-gradient(180deg,#F3EDF9 0%,#F3EDF9 42%,rgba(243,237,249,0) 100%);}

@media(max-width:520px){
  /* no celular a fita é maior que a tela: as pontas cortadas do arquivo ficam fora da vista */
  .ribbon-sep{--h:calc(100vw / 2.905 * 1.3);margin:calc(var(--h) / -2.6) 0;}
  .ribbon-sep::after{-webkit-mask-image:none;mask-image:none;}
}
/* bordas da faixa também em degradê: nenhuma emenda visível nas pontas */
.ribbon-sep.to-lilac::before{background:linear-gradient(180deg,rgba(243,237,249,0) 0%,#F3EDF9 42%,#F3EDF9 66%,rgba(243,237,249,0) 100%);}
.ribbon-sep.from-lilac::before{background:linear-gradient(180deg,rgba(243,237,249,0) 0%,#F3EDF9 30%,#F3EDF9 56%,rgba(243,237,249,0) 100%);}

/* =====================================================================
   Home com fundo todo branco: só as fitas separam as seções
   ===================================================================== */
html body.home,
html body.home .hero,
html body.home .services.hub,
html body.home .courses.hub,
html body.home .reviews,
html body.home .instagram{background:#fff !important;background-image:none !important;}
html body.home .hero::before,
html body.home .reviews::before{display:none !important;}
html body.home .ribbon-sep::before{display:none;}
/* cartões brancos sobre fundo branco: contorno e sombra mais definidos */
html body.home .hub-card{border-color:#E3D6F0;box-shadow:0 14px 28px -22px rgba(138,100,171,.6);}
html body.home .test-card{box-shadow:0 14px 28px -18px rgba(138,100,171,.55);}

/* foto da primeira dobra: sem sombra (o brilho semitransparente da arte aparecia como mancha) */
.hero-photo img{filter:none !important;}
