/* =====================================================================
   LUCIDENTE — identidade visual corporativa (09/2026)
   Branco e preto como base; vermelho #860606 só como acento.
   Carregar DEPOIS de style.css.
   ===================================================================== */
:root{
  --red:#860606;
  --red-hover:#6e0505;
  --red-soft:#f7eeee;
  --ink:#131313;
  --ink-2:#3b3b3b;
  --muted:#6e6a68;
  --line:#e9e5e3;
  --line-2:#dcd6d3;
  --bg:#ffffff;
  --bg-soft:#f7f5f3;
  --radius:14px;
  --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(19,19,19,.05);
  --shadow:0 1px 2px rgba(19,19,19,.04),0 12px 32px -12px rgba(19,19,19,.14);
  --ease:cubic-bezier(.2,.7,.2,1);
  --font-display:'League Spartan',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

/* ---------- base ---------- */
html{scroll-behavior:smooth;overflow-x:clip}
body.lx{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip;line-height:1.6}
body.lx h1,body.lx h2,body.lx h3,body.lx h4{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink)}
body.lx ::selection{background:var(--ink);color:#fff}
body.lx :focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:6px}
body.lx img{max-width:100%}
body.lx{animation:lxIn .5s var(--ease) both}
body.lx.lx-leaving{opacity:0;transition:opacity .22s ease}
@keyframes lxIn{from{opacity:0}to{opacity:1}}
body.lx .container{max-width:1180px;padding:0 24px}
@media(max-width:600px){body.lx .container{padding:0 18px}}

/* ---------- barra de progresso ---------- */
.lx-progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:1000;pointer-events:none;background:var(--red);transform-origin:0 50%;transform:scaleX(0)}

/* ---------- cabeçalho ---------- */
body.lx .header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);transition:box-shadow .3s ease}
body.lx .header.is-scrolled{box-shadow:0 6px 24px -12px rgba(19,19,19,.18)}
body.lx .nav{height:76px}
body.lx .brand{gap:12px}
body.lx .brand>div>div{font-family:var(--font-display);font-weight:800;letter-spacing:.06em;font-size:1.05rem;color:var(--ink)}
body.lx .brand small{color:var(--muted);font-weight:500;font-size:.78rem;letter-spacing:0;margin-top:-2px}
body.lx .nav a.link{position:relative;color:var(--ink-2);font-weight:500;font-size:.95rem;padding:8px 2px;opacity:1}
body.lx .nav a.link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
body.lx .nav a.link:hover{color:var(--ink)}
body.lx .nav a.link:hover::after,body.lx .nav a.link.is-active::after{transform:scaleX(1)}
body.lx .nav a.link.is-active{color:var(--ink)}
.lx-burger{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center;cursor:pointer}
.lx-burger span,.lx-burger span::before,.lx-burger span::after{display:block;width:18px;height:1.8px;background:var(--ink);position:relative;transition:transform .3s var(--ease),background .2s}
.lx-burger span::before,.lx-burger span::after{content:"";position:absolute;left:0}
.lx-burger span::before{top:-6px}.lx-burger span::after{top:6px}
body.lx-menu-open .lx-burger span{background:transparent}
body.lx-menu-open .lx-burger span::before{transform:translateY(6px) rotate(45deg)}
body.lx-menu-open .lx-burger span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:860px){
  .lx-burger{display:inline-flex}
  body.lx .nav nav.lx-nav{position:fixed;left:0;right:0;top:76px;padding:12px 18px 22px;flex-direction:column;align-items:stretch!important;gap:0!important;
    background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 40px -20px rgba(19,19,19,.25);
    transform:translateY(-8px);opacity:0;visibility:hidden;transition:all .3s var(--ease)}
  body.lx-menu-open .nav nav.lx-nav{transform:none;opacity:1;visibility:visible}
  body.lx .nav nav.lx-nav a.link{font-size:1.05rem;padding:14px 2px;border-bottom:1px solid var(--line)}
  body.lx .nav nav.lx-nav a.link::after{display:none}
  body.lx .nav nav.lx-nav .btn{margin-top:14px;justify-content:center}
  body.lx .brand small{display:none}
}

/* ---------- botões ---------- */
body.lx .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:.95rem;letter-spacing:0;
  border-radius:var(--radius-sm);padding:12px 22px;border:1px solid var(--red);background:var(--red);color:#fff;box-shadow:none;cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
body.lx .btn:hover{background:var(--red-hover);border-color:var(--red-hover);transform:translateY(-1px);box-shadow:none}
body.lx .btn:active{transform:none}
body.lx .btn.outline{background:#fff;color:var(--ink);border-color:var(--line-2)}
body.lx .btn.outline:hover{border-color:var(--ink);background:#fff;color:var(--ink)}
body.lx .btn.dark{background:var(--ink);border-color:var(--ink)}
body.lx .btn.dark:hover{background:#000;border-color:#000}
body.lx .btn.small{padding:9px 16px;font-size:.88rem;border-radius:9px}
body.lx .btn.link{background:none;border-color:transparent;color:var(--ink);padding-left:4px;padding-right:4px}
body.lx .btn.link:hover{color:var(--red);transform:none}
body.lx .btn[disabled]{opacity:.55;cursor:not-allowed}
.lx-arrow{display:inline-block;transition:transform .25s var(--ease)}
.btn:hover .lx-arrow{transform:translateX(3px)}

/* ---------- campos ---------- */
body.lx .input,body.lx input[type=text],body.lx input[type=email],body.lx input[type=tel],body.lx input[type=password],body.lx input[type=number],body.lx input[type=date],body.lx select,body.lx textarea{
  font-family:var(--font-body);font-size:.95rem;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:#fff;padding:11px 14px;transition:border-color .2s,box-shadow .2s;max-width:100%}
body.lx .input:focus,body.lx input:focus,body.lx select:focus,body.lx textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(19,19,19,.07)}
body.lx label{font-size:.88rem;font-weight:500;color:var(--ink-2)}

/* ---------- cartões ---------- */
body.lx .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;transition:box-shadow .3s ease,border-color .3s ease}
body.lx .card:hover{box-shadow:var(--shadow)}

/* ---------- títulos de secção ---------- */
.lx-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:600;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.lx-eyebrow::before{content:"";width:18px;height:2px;background:var(--red)}
.lx-title{font-size:clamp(1.9rem,3.4vw,2.75rem);line-height:1.1;font-weight:700;margin:.45em 0 .35em;letter-spacing:-.02em}
.lx-title em{font-style:normal;color:var(--red)}
.lx-lead{color:var(--muted);font-size:1.05rem;max-width:60ch;line-height:1.7;margin:0}
.lx-head{margin-bottom:44px;max-width:760px}
.lx-head.center{text-align:center;margin-left:auto;margin-right:auto}
.lx-head.center .lx-lead{margin-left:auto;margin-right:auto}
.lx-head.row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
body.lx .section{padding:104px 0;border-bottom:0;position:relative}
body.lx .section.soft{background:var(--bg-soft)}
body.lx .section.tight{padding-top:0}
body.lx .section.tight-b{padding-bottom:0}
@media(max-width:760px){body.lx .section{padding:68px 0}.lx-head{margin-bottom:30px}}

/* ---------- revelação ao fazer scroll (só vertical, discreta) ---------- */
.lx-js [data-reveal]{opacity:0;transform:translate3d(0,18px,0);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.lx-js [data-reveal].is-in{opacity:1;transform:none}
.lx-split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.lx-split .w>span{display:inline-block;transform:translateY(100%);transition:transform .9s var(--ease);transition-delay:calc(var(--i)*40ms + 120ms)}
.lx-split.is-in .w>span{transform:none}

/* ---------- HERO (branco, vídeo à direita) ---------- */
.lx-hero{position:relative;padding:72px 0 64px;background:#fff;overflow:hidden}
.lx-hero::before{content:"";position:absolute;right:0;top:0;width:44%;height:100%;background:var(--bg-soft);border-radius:0 0 0 40px;z-index:0}
@media(max-width:979px){.lx-hero::before{display:none}}
.lx-hero .container{position:relative;z-index:1}
.lx-hero__grid{display:grid;gap:48px;align-items:center}
@media(min-width:980px){.lx-hero__grid{grid-template-columns:1fr 1.05fr;gap:64px}}
.lx-kicker{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lx-kicker b{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block}
.lx-hero h1{font-size:clamp(2.4rem,4.8vw,3.9rem);line-height:1.04;font-weight:700;margin:20px 0 20px;letter-spacing:-.03em}
.lx-hero h1 em{font-style:normal;color:var(--red)}
.lx-hero__lead{font-size:1.1rem;color:var(--muted);max-width:50ch;line-height:1.7;margin:0}
.lx-hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px;align-items:center}
.lx-hero__cta .btn{padding:14px 24px}
.lx-video{position:relative;border-radius:18px;overflow:hidden;background:#0d0d0d;box-shadow:0 30px 60px -28px rgba(19,19,19,.45);border:1px solid var(--line)}
.lx-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0d0d0d}
.lx-video__cover{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:22px;cursor:pointer;border:0;width:100%;text-align:left;
  background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.62) 100%);color:#fff;transition:opacity .35s ease}
.lx-video__cover.hidden{opacity:0;pointer-events:none}
.lx-video__cover strong{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff}
.lx-video__cover>span:first-child>span{display:block;font-size:.85rem;color:rgba(255,255,255,.8);margin-top:2px}
.lx-video__play{flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:#fff;color:var(--ink)!important;display:grid;place-items:center;transition:transform .25s var(--ease)}
.lx-video__cover:hover .lx-video__play{transform:scale(1.06)}
.lx-video__meta{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:.85rem;color:var(--muted)}

/* ---------- barra de números ---------- */
.lx-figures{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
@media(min-width:860px){.lx-figures{grid-template-columns:repeat(4,1fr)}}
.lx-figure{padding:30px 26px;border-right:1px solid var(--line)}
.lx-figure:last-child{border-right:0}
@media(max-width:859px){.lx-figure:nth-child(2n){border-right:0}.lx-figure:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.lx-figure b{display:block;font-family:var(--font-display);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:700;line-height:1;color:var(--ink);letter-spacing:-.02em}
.lx-figure span{display:block;margin-top:8px;color:var(--muted);font-size:.92rem}

/* ---------- lista numerada (vantagens) ---------- */
.lx-points{display:grid;gap:0;border-top:1px solid var(--line)}
@media(min-width:860px){.lx-points{grid-template-columns:repeat(4,1fr);border-top:0}}
.lx-point{padding:28px 0;border-bottom:1px solid var(--line)}
@media(min-width:860px){.lx-point{padding:4px 28px 0;border-bottom:0;border-left:1px solid var(--line)}.lx-point:first-child{border-left:0;padding-left:0}}
.lx-point small{display:block;font-family:var(--font-display);font-weight:600;color:var(--red);font-size:.9rem;letter-spacing:.08em;margin-bottom:14px}
.lx-point h3{margin:0 0 10px;font-size:1.2rem;font-weight:700}
.lx-point p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.65}

/* ---------- galeria + lightbox ---------- */
body.lx .gallery{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
@media(min-width:860px){body.lx .gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;grid-auto-flow:dense}
  body.lx .gallery .item:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
  body.lx .gallery .item:nth-child(6n+2),body.lx .gallery .item:nth-child(6n+5),body.lx .gallery .item:nth-child(6n+6){grid-column:span 2}}
body.lx .gallery .item{border-radius:12px;border:0;cursor:zoom-in;background:var(--bg-soft);position:relative;overflow:hidden}
body.lx .gallery .item img{height:100%;width:100%;object-fit:cover;transition:transform 1s var(--ease)}
body.lx .gallery .item:hover img{transform:scale(1.04)}
body.lx .gallery .item::after{content:"";position:absolute;inset:0;background:rgba(19,19,19,0);transition:background .3s}
body.lx .gallery .item:hover::after{background:rgba(19,19,19,.08)}
.lx-lightbox{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:rgba(10,10,10,.92);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.lx-lightbox.open{opacity:1;visibility:visible}
.lx-lightbox__stage{max-width:min(1100px,92vw);max-height:84vh}
.lx-lightbox img,.lx-lightbox video{max-width:100%;max-height:84vh;border-radius:8px;display:block}
.lx-lightbox button{position:absolute;border:1px solid rgba(255,255,255,.25);cursor:pointer;width:46px;height:46px;border-radius:50%;background:transparent;color:#fff;font-size:20px;display:grid;place-items:center;transition:background .2s}
.lx-lightbox button:hover{background:rgba(255,255,255,.12)}
.lx-lightbox .lb-close{top:20px;right:20px}.lx-lightbox .lb-prev{left:20px;top:50%;margin-top:-23px}.lx-lightbox .lb-next{right:20px;top:50%;margin-top:-23px}
.lx-lightbox .lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.65);font-size:.85rem;letter-spacing:.12em}

/* ---------- contacto com mapa ---------- */
.lx-contact{display:grid;gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
@media(min-width:900px){.lx-contact{grid-template-columns:1.25fr 1fr}}
.lx-contact__map{position:relative;min-height:380px;background:var(--bg-soft)}
.lx-contact__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35)}
.lx-contact__info{padding:40px clamp(24px,4vw,44px)}
.lx-contact__info h3{font-size:1.8rem;margin:12px 0 8px;font-weight:700}
.lx-contact__info>p{color:var(--muted);margin:0 0 20px}
.lx-dl{display:grid;gap:0;margin:0}
.lx-dl>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.lx-dl dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:2px}
.lx-dl dd{margin:0;color:var(--ink)}
.lx-dl a:hover{color:var(--red)}
@media(max-width:480px){.lx-dl>div{grid-template-columns:1fr;gap:2px}}

/* ---------- conteúdo dinâmico ---------- */
body.lx #campanhasGrid>div{border-radius:16px!important;transition:transform .3s var(--ease)}
body.lx #campanhasGrid>div:hover{transform:translateY(-3px)}
body.lx #promocoesGrid>div{border-radius:14px!important;border-width:1px!important;transition:box-shadow .3s}
body.lx #promocoesGrid>div:hover{box-shadow:var(--shadow)}
body.lx .carousel-container{padding:6px 2px 10px}
body.lx .supplier-card,body.lx .testimonial-card{border-radius:14px;border:1px solid var(--line);box-shadow:none;background:#fff;transition:box-shadow .3s,transform .3s var(--ease)}
body.lx .supplier-card:hover,body.lx .testimonial-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
body.lx .testimonial-card h4{color:var(--ink)!important}
body.lx .testimonial-rating{color:var(--red)!important;font-size:14px!important;letter-spacing:2px}
body.lx .carousel-btn{width:44px;height:44px;border-radius:50%;background:#fff!important;color:var(--ink)!important;border:1px solid var(--line-2)!important;box-shadow:var(--shadow-sm)!important;font-size:20px}
body.lx .carousel-btn:hover{border-color:var(--ink)!important;transform:translateY(-50%)!important}
body.lx .team-card{border-radius:16px;border:1px solid var(--line);box-shadow:none!important;background:#fff;overflow:hidden;transition:box-shadow .3s,transform .3s var(--ease)}
body.lx .team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)!important}
body.lx .team-photo{border:4px solid #fff!important;box-shadow:0 0 0 1px var(--line)!important}
body.lx .team-name{font-family:var(--font-display);color:var(--ink)!important}
body.lx .team-role{color:var(--red)!important}
body.lx .contact-btn{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line-2)!important;border-radius:9px!important}
body.lx .contact-btn:hover{border-color:var(--ink)!important}
.lx-initials{display:grid;place-items:center;border-radius:50%;background:var(--bg-soft);color:var(--ink);font-family:var(--font-display);font-weight:700;border:1px solid var(--line)}
.lx-monogram{width:100%;height:80px;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:1.6rem;letter-spacing:.08em;color:var(--ink);background:var(--bg-soft);border-radius:10px;margin-bottom:16px}

/* ---------- chamada final ---------- */
.lx-cta{display:grid;gap:28px;align-items:center;padding:clamp(34px,5vw,56px);border-radius:18px;background:var(--bg-soft);border:1px solid var(--line)}
@media(min-width:900px){.lx-cta{grid-template-columns:1.4fr auto}}
.lx-cta h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.1;margin:10px 0 10px;font-weight:700}
.lx-cta p{color:var(--muted);margin:0;max-width:56ch}
.lx-cta__actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- rodapé ---------- */
body.lx .footer{background:#0f0f0f;color:rgba(255,255,255,.66);padding:72px 0 30px;border-top:0;font-size:.93rem}
body.lx .footer a{color:rgba(255,255,255,.78);transition:color .2s}
body.lx .footer a:hover{color:#fff}
body.lx .footer h4{color:#fff}
.lx-foot{display:grid;gap:36px}
@media(min-width:860px){.lx-foot{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.lx-foot h4{font-family:var(--font-body);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;font-weight:600}
.lx-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lx-foot__brand img{height:44px;margin-bottom:16px;background:#fff;border-radius:8px;padding:4px}
.lx-foot__brand p{max-width:34ch;line-height:1.7;margin:10px 0 0}
.lx-social{display:flex;gap:8px;margin-top:20px}
.lx-social a{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);transition:background .2s,border-color .2s}
.lx-social a:hover{background:#fff;color:#0f0f0f;border-color:#fff}
.lx-foot__bottom{margin-top:52px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.85rem}

/* ---------- voltar ao topo ---------- */
.lx-top{position:fixed;right:20px;bottom:20px;z-index:900;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);cursor:pointer;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);display:grid;place-items:center;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s var(--ease)}
.lx-top.show{opacity:1;transform:none}
.lx-top:hover{border-color:var(--ink)}
body.lx .float-login{bottom:78px;right:20px;width:46px;height:46px;background:var(--ink);box-shadow:var(--shadow)}

/* ---------- aviso ---------- */
.lx-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);opacity:0;z-index:4000;background:var(--ink);color:#fff;padding:13px 20px;border-radius:10px;
  box-shadow:0 16px 32px rgba(0,0,0,.2);font-size:.92rem;transition:opacity .3s,transform .3s var(--ease)}
.lx-toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- páginas interiores ---------- */
.lx-pagehero{padding:64px 0 56px;background:var(--bg-soft);border-bottom:1px solid var(--line)}
.lx-pagehero h1{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.05;margin:16px 0 14px;font-weight:700;letter-spacing:-.03em}
.lx-pagehero h1 em{font-style:normal;color:var(--red)}
.lx-pagehero p{color:var(--muted);max-width:60ch;font-size:1.05rem;margin:0}
.lx-crumbs{display:flex;gap:8px;align-items:center;font-size:.82rem;color:var(--muted)}
.lx-crumbs a:hover{color:var(--ink)}

/* ---------- serviços ---------- */
.lx-shop{display:grid;gap:32px;align-items:start;min-width:0}
.lx-shop>*{min-width:0}
@media(min-width:1000px){.lx-shop{grid-template-columns:minmax(0,1fr) 340px}}
.lx-search{position:relative;margin-bottom:18px}
.lx-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
body.lx .lx-search .input{padding:14px 16px 14px 46px;width:100%}
.lx-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px}
body.lx #categoryFilters .btn{background:#fff;color:var(--ink-2);border:1px solid var(--line-2);font-weight:500;font-size:.85rem;padding:8px 14px;border-radius:999px}
body.lx #categoryFilters .btn:hover{border-color:var(--ink);color:var(--ink);transform:none}
body.lx #categoryFilters .btn:not(.outline){background:var(--ink);color:#fff;border-color:var(--ink)}
.lx-cat{margin-bottom:48px}
.lx-cat__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.lx-cat__head h3{margin:0;font-size:1.35rem;font-weight:700}
.lx-cat__head span{font-size:.82rem;color:var(--muted)}
.lx-svc-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.lx-svc{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);transition:border-color .25s,box-shadow .25s}
.lx-svc:hover{border-color:var(--line-2);box-shadow:var(--shadow)}
.lx-svc h4{margin:0;font-size:1.05rem;line-height:1.3;font-weight:700}
.lx-svc p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55;flex:1}
.lx-svc__meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:10px 0 6px;padding-top:12px;border-top:1px solid var(--line)}
.lx-svc__price{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--ink)}
.lx-svc__time{font-size:.8rem;color:var(--muted)}
.lx-svc .btn{width:100%}
.lx-svc.is-promo{border-color:rgba(134,6,6,.35)}
.lx-svc__tag{position:absolute;top:16px;right:16px;background:var(--red-soft);color:var(--red);font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:6px}
.lx-cart{position:sticky;top:96px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.lx-cart__head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.lx-cart__head h3{margin:0;font-size:1.1rem;font-weight:700}
.lx-cart__count{min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:600;font-size:.82rem}
.lx-cart__body{padding:18px 22px 22px}
.lx-cart__total{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;margin-top:6px;border-top:1px solid var(--line)}
.lx-cart__total strong{font-family:var(--font-display);font-size:1.4rem;color:var(--ink)}
body.lx #cartSidebar>div{border-radius:10px!important;background:var(--bg-soft)!important;animation:lxItem .35s var(--ease) both}
@keyframes lxItem{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.lx-bump{animation:lxBump .45s var(--ease)}
@keyframes lxBump{40%{transform:scale(1.18)}}

/* ---------- contactos / checkout ---------- */
.lx-panel{border-radius:16px;background:#fff;border:1px solid var(--line);padding:30px}
.lx-info-cards{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.lx-info{padding:24px 26px;border-right:1px solid var(--line);display:block;transition:background .2s}
.lx-info:last-child{border-right:0}
a.lx-info:hover{background:var(--bg-soft)}
.lx-info small{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:8px}
.lx-info strong{display:block;font-family:var(--font-display);font-size:1.12rem;font-weight:700;color:var(--ink)}
.lx-info span{display:block;color:var(--muted);font-size:.9rem;margin-top:2px}
@media(max-width:700px){.lx-info{border-right:0;border-bottom:1px solid var(--line)}.lx-info:last-child{border-bottom:0}}
.lx-steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:14px}
.lx-steps li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;gap:12px;color:var(--ink-2);font-size:.95rem}
.lx-steps li::before{content:counter(s);width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font-weight:600;font-size:.85rem;color:var(--ink)}

/* ---------- login ---------- */
.lx-auth{min-height:calc(100svh - 76px);display:grid}
@media(min-width:960px){.lx-auth{grid-template-columns:1fr 1fr}}
.lx-auth__art{position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:48px clamp(24px,5vw,64px);min-height:300px;background:#111}
.lx-auth__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lx-auth__art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.72) 100%)}
.lx-auth__art>div{position:relative;z-index:1;max-width:480px}
.lx-auth__art h2{font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1.1;margin:12px 0 10px;font-weight:700;color:#fff}
.lx-auth__art p{color:rgba(255,255,255,.8);margin:0}
.lx-auth__art .lx-eyebrow{color:rgba(255,255,255,.8)}
.lx-auth__form{display:grid;place-items:center;padding:56px clamp(20px,5vw,64px)}
.lx-auth__card{width:100%;max-width:420px}
.lx-auth__card h1{font-size:clamp(1.9rem,2.8vw,2.4rem);margin:12px 0 6px;font-weight:700}
.lx-field{margin-top:16px}
.lx-field label{display:block;margin-bottom:6px}
.lx-field .lx-pass{position:relative}
.lx-field input{width:100%}
.lx-field .lx-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;color:var(--muted);padding:6px 10px;border-radius:8px;font-size:.8rem;font-weight:600}
.lx-field .lx-eye:hover{color:var(--ink);background:var(--bg-soft)}
.lx-auth .btn#enter{width:100%;padding:14px;margin-top:22px}
.lx-auth__perks{list-style:none;margin:28px 0 0;padding:22px 0 0;border-top:1px solid var(--line);display:grid;gap:10px}
.lx-auth__perks li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:.93rem}
.lx-auth__perks li::before{content:"";flex:0 0 6px;height:6px;border-radius:50%;background:var(--red);margin-top:9px}

/* =====================================================================
   MINHA ÁREA (dashboard.html)
   ===================================================================== */
body.lx-dash{background:var(--bg-soft)!important}
body.lx-dash .dash-header{background:#fff!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;position:sticky;top:0;z-index:50}
body.lx-dash .dash-brand-name{font-family:var(--font-display);font-weight:800;letter-spacing:.06em;color:var(--ink)!important}
body.lx-dash .dash-brand-text{color:var(--muted)!important}
body.lx-dash .dash-avatar{background:var(--ink)!important;font-family:var(--font-display)}
body.lx-dash .btn-logout{border-radius:9px!important;border:1px solid var(--line-2)!important;background:#fff!important;color:var(--ink)!important}
body.lx-dash .btn-logout:hover{border-color:var(--ink)!important}
body.lx-dash .dash-sidebar{background:#fff!important;border-right:1px solid var(--line)!important;padding:20px 12px!important}
body.lx-dash .dash-nav-item{border-radius:9px;border-left:0!important;margin:2px 0;color:var(--ink-2)!important;font-weight:500;transition:background .2s,color .2s!important;position:relative}
body.lx-dash .dash-nav-item:hover{background:var(--bg-soft)!important;color:var(--ink)!important}
body.lx-dash .dash-nav-item.active{background:var(--red-soft)!important;color:var(--red)!important;font-weight:600}
body.lx-dash .dash-nav-item.active::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--red)}
body.lx-dash .dash-nav-icon{display:inline-grid;place-items:center;width:20px;height:20px;opacity:.85}
body.lx-dash .dash-nav-icon svg{width:18px;height:18px}
body.lx-dash .dash-main{padding:32px clamp(16px,3vw,40px)!important}
body.lx-dash .section-title{font-family:var(--font-display);font-size:clamp(1.5rem,2.2vw,1.9rem)!important;font-weight:700!important;letter-spacing:-.02em;color:var(--ink)!important}
body.lx-dash .section-title span{color:var(--ink)!important}
body.lx-dash .dash-section.active{animation:lxSec .4s var(--ease) both}
@keyframes lxSec{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body.lx-dash .appt-card,body.lx-dash .svc-card,body.lx-dash .cart-item,body.lx-dash .cart-summary,body.lx-dash .appt-empty,body.lx-dash .cart-empty{
  border-radius:12px!important;border:1px solid var(--line)!important;box-shadow:none!important;background:#fff!important;transition:box-shadow .25s!important}
body.lx-dash .appt-card:hover,body.lx-dash .svc-card:hover{box-shadow:var(--shadow)!important}
body.lx-dash .appt-date-box{background:var(--bg-soft)!important;color:var(--ink)!important;border-radius:10px!important;border:1px solid var(--line)}
body.lx-dash .appt-date-box *{color:var(--ink)!important}
body.lx-dash .appt-filter-btn,body.lx-dash .svc-cat-btn{border-radius:999px!important}
body.lx-dash .appt-filter-btn.active,body.lx-dash .svc-cat-btn.active{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
body.lx-dash .svc-price{font-family:var(--font-display);color:var(--ink)!important}
body.lx-dash .btn-add-cart,body.lx-dash .btn-checkout{background:var(--red)!important;border-radius:9px!important}
body.lx-dash .btn-add-cart:hover,body.lx-dash .btn-checkout:hover{background:var(--red-hover)!important}
body.lx-dash .btn-clear{border-radius:9px!important}
.lx-welcome{display:block;padding:24px 28px;margin-bottom:28px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.lx-welcome h2{margin:6px 0 4px;font-size:clamp(1.4rem,2.2vw,1.8rem);font-weight:700}
.lx-welcome p{margin:0;color:var(--muted)}
.lx-welcome__date{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
@media (max-width:768px){
  body.lx-dash .dash-sidebar{padding:8px!important;gap:4px;border-right:0!important;border-bottom:1px solid var(--line)!important;align-items:center}
  body.lx-dash .dash-nav-item{margin:0;min-width:86px;padding:9px 10px!important;justify-content:center;font-size:.72rem!important}
  body.lx-dash .dash-nav-item.active::before{display:none}
}

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .lx-js [data-reveal]{opacity:1;transform:none}
  .lx-split .w>span{transform:none}
}

/* ícones decorativos removidos da Minha Área: esconder contentores vazios */
body.lx-dash .cart-empty-icon:empty,body.lx-dash .appt-empty-icon:empty,
body.lx-dash [style*="font-size:3rem"]:empty,body.lx-dash [style*="font-size:1.4rem"]:empty,
body.lx-dash [style*="font-size:1.3rem"]:empty,body.lx-dash [style*="font-size:1.2rem"]:empty,
body.lx-dash [style*="font-size:1.1rem"]:empty,body.lx-dash [style*="font-size:1.5rem"]:empty{display:none!important}

/* Minha Área: tons neutros nos destaques herdados */
body.lx-dash [style*="background:#fef2f2"],body.lx-dash [style*="background: #fef2f2"],body.lx-dash [style*="background: #fee2e2"]{background:var(--red-soft)!important}
body.lx-dash [style*="#eff6ff"],body.lx-dash [style*="#dbeafe"]{background:var(--bg-soft)!important;border-color:var(--line)!important;color:var(--ink-2)!important}
body.lx-dash .dash-nav-item span[id$="Badge"]{background:var(--red)!important}

/* ajustes finais */
body.lx .lx-auth__art h2{color:#fff}
.lx-auth__art::after{background:linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.85) 100%)!important}
@media (max-width:768px){body.lx-dash .dash-layout{grid-template-rows:auto 1fr;align-content:start}}

/* =====================================================================
   v7 — MAIS VIDA E COR (cores da marca: vinho #860606, preto, branco)
   Fundo continua maioritariamente branco; blocos de cor alternados.
   ===================================================================== */
:root{
  --wine:#860606;
  --wine-2:#5c0404;
  --wine-3:#a61b1b;
  --grad-brand:linear-gradient(135deg,#9b0f0f 0%,#860606 45%,#4f0303 100%);
  --grad-dark:linear-gradient(135deg,#1c1c1c 0%,#0f0f0f 60%,#2a0606 100%);
  --warm:#fbf5f4;
  --shadow-red:0 18px 40px -18px rgba(134,6,6,.55);
}
body.lx .section.soft{background:var(--warm)}

/* movimento moderado: entrada um pouco mais marcada */
.lx-js [data-reveal]{transform:translate3d(0,28px,0) scale(.985)}
.lx-js [data-reveal].is-in{transform:none}

/* botões com mais presença */
body.lx .btn{position:relative;overflow:hidden}
body.lx .btn:not(.outline):not(.link):not(.light):not(.ghost):not(.dark):hover{box-shadow:var(--shadow-red)}
body.lx .btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .6s var(--ease);pointer-events:none}
body.lx .btn:hover::after{left:130%}
body.lx .btn.outline::after,body.lx .btn.link::after{display:none}
body.lx .btn.outline:hover{border-color:var(--red);color:var(--red)}
body.lx .btn.light{background:#fff;color:var(--wine);border-color:#fff}
body.lx .btn.light:hover{background:#fff;color:var(--wine-2);box-shadow:0 14px 30px -14px rgba(0,0,0,.45)}
body.lx .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
body.lx .btn.ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* títulos */
.lx-eyebrow{color:var(--red)}
.lx-eyebrow::before{width:22px}

/* ---------- HERO com cor ---------- */
.lx-hero{padding:80px 0 88px;background:
  radial-gradient(900px 480px at 88% 10%,rgba(134,6,6,.10),transparent 60%),
  radial-gradient(600px 400px at 0% 100%,rgba(134,6,6,.05),transparent 60%),#fff}
.lx-hero::before{width:40%;background:var(--grad-brand);border-radius:0 0 0 56px;opacity:1}
.lx-hero::after{content:"";position:absolute;right:6%;bottom:40px;width:160px;height:160px;border-radius:50%;border:1px solid rgba(255,255,255,.25);z-index:0;pointer-events:none}
@media(max-width:979px){.lx-hero::after{display:none}}
.lx-kicker{padding:7px 14px 7px 10px;border-radius:999px;background:var(--red-soft);color:var(--wine);letter-spacing:.1em}
.lx-kicker b{animation:lxPulse 2.2s ease-in-out infinite}
@keyframes lxPulse{0%,100%{box-shadow:0 0 0 0 rgba(134,6,6,.45)}50%{box-shadow:0 0 0 7px rgba(134,6,6,0)}}
.lx-hero h1 em{background:linear-gradient(90deg,#860606,#b3261e);-webkit-background-clip:text;background-clip:text;color:transparent}
.lx-hero__media{position:relative}
.lx-video{border:0;border-radius:22px;box-shadow:0 40px 80px -30px rgba(40,0,0,.55),0 0 0 6px rgba(255,255,255,.9)}
.lx-video video{transition:transform 1.2s var(--ease)}
.lx-video:hover video{transform:scale(1.03)}
.lx-video__play{background:var(--red);color:#fff!important;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:lxRing 2.4s ease-out infinite}
@keyframes lxRing{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}100%{box-shadow:0 0 0 18px rgba(255,255,255,0)}}
.lx-video__cover{background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(60,0,0,.72) 100%)}
.lx-video__meta{margin-top:16px;padding:11px 16px;border-radius:12px;background:#fff;color:var(--ink-2);box-shadow:0 12px 30px -18px rgba(19,19,19,.35);flex-wrap:wrap}
.lx-badge{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:#fff;box-shadow:0 18px 40px -16px rgba(19,19,19,.35);animation:lxFloat 6s ease-in-out infinite}
.lx-badge b{font-family:var(--font-display);font-size:1.25rem;line-height:1;color:#fff;background:var(--grad-brand);border-radius:10px;padding:9px 10px}
.lx-badge span{font-size:.82rem;font-weight:600;color:var(--ink);max-width:12ch;line-height:1.25}
.lx-badge--a{left:-26px;top:22px}
.lx-badge--b{right:-18px;top:44%;animation-delay:-3s}
@keyframes lxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:1100px){.lx-badge--a{left:-8px}.lx-badge--b{right:-6px}}
@media(max-width:600px){.lx-badge{padding:8px 10px;gap:8px}.lx-badge b{font-size:1rem;padding:7px 8px}.lx-badge span{font-size:.72rem}.lx-badge--a{left:8px;top:8px}.lx-badge--b{right:8px;top:8px}}

/* ---------- faixa de especialidades a deslizar ---------- */
.lx-marquee{background:var(--grad-brand);color:#fff;overflow:hidden;padding:18px 0;position:relative}
.lx-marquee::before,.lx-marquee::after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:1;pointer-events:none}
.lx-marquee::before{left:0;background:linear-gradient(90deg,#8a0808,transparent)}
.lx-marquee::after{right:0;background:linear-gradient(-90deg,#560303,transparent)}
.lx-marquee__track{display:flex;width:max-content;animation:lxMarquee 38s linear infinite}
.lx-marquee:hover .lx-marquee__track{animation-play-state:paused}
.lx-marquee__track>div{display:flex;align-items:center}
.lx-marquee span{display:inline-flex;align-items:center;gap:26px;padding-right:26px;font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:.04em;white-space:nowrap}
.lx-marquee span::after{content:"";width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55)}
@keyframes lxMarquee{to{transform:translateX(-50%)}}

/* ---------- números ---------- */
.lx-figures{margin-top:36px;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 24px 48px -34px rgba(19,19,19,.4)}
.lx-figure{position:relative;transition:background .3s}
.lx-figure::before{content:"";position:absolute;left:26px;top:0;width:28px;height:3px;background:var(--red);transition:width .4s var(--ease)}
.lx-figure:hover{background:var(--warm)}
.lx-figure:hover::before{width:56px}
.lx-figure b{color:var(--wine)}

/* ---------- vantagens em cartões ---------- */
.lx-points{gap:18px;border-top:0}
@media(min-width:860px){.lx-points{grid-template-columns:repeat(4,1fr)}}
.lx-point,.lx-point:first-child{padding:28px 24px!important;border:1px solid var(--line)!important;border-radius:16px;background:#fff;position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.lx-point::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad-brand);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.lx-point:hover{transform:translateY(-6px);box-shadow:0 26px 50px -28px rgba(134,6,6,.45);border-color:transparent!important}
.lx-point:hover::before{transform:scaleX(1)}
.lx-point small{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--red-soft);color:var(--wine);letter-spacing:0;font-size:1rem;margin-bottom:18px;transition:background .3s,color .3s}
.lx-point:hover small{background:var(--grad-brand);color:#fff}

/* ---------- destaque com imagem ---------- */
.lx-feature-wrap{padding-top:0!important}
.lx-feature{display:grid;gap:56px;align-items:center}
@media(min-width:960px){.lx-feature{grid-template-columns:1fr 1fr;gap:72px}}
.lx-feature__media{position:relative;padding:0 0 28px 28px}
.lx-feature__media::before{content:"";position:absolute;left:0;bottom:0;width:70%;height:75%;border-radius:22px;background:var(--grad-brand)}
.lx-feature__img{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3.4;box-shadow:0 30px 60px -30px rgba(19,19,19,.5)}
.lx-feature__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.lx-feature__media:hover .lx-feature__img img{transform:scale(1.05)}
.lx-js .lx-feature__media[data-reveal] .lx-feature__img{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease) .1s}
.lx-js .lx-feature__media.is-in .lx-feature__img{clip-path:inset(0 0 0 0)}
.lx-feature__card{position:absolute;right:-12px;bottom:0;background:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 20px 40px -18px rgba(19,19,19,.35);max-width:240px;animation:lxFloat 7s ease-in-out infinite}
.lx-feature__card small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:700}
.lx-feature__card strong{display:block;font-family:var(--font-display);font-size:1.05rem;line-height:1.25;margin-top:4px;color:var(--ink)}
@media(max-width:600px){.lx-feature__card{right:8px}}
.lx-checks{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
.lx-checks li{display:grid;grid-template-columns:34px 1fr;column-gap:14px;align-items:start}
.lx-checks li::before{content:"";grid-row:span 2;width:34px;height:34px;border-radius:10px;background:var(--red-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23860606' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/16px no-repeat}
.lx-checks b{font-family:var(--font-display);font-size:1.05rem;color:var(--ink)}
.lx-checks span{color:var(--muted);font-size:.93rem}

/* ---------- galeria com mais vida ---------- */
body.lx .gallery .item{border-radius:16px}
body.lx .gallery .item img{transition:transform 1.2s var(--ease),filter .6s}
body.lx .gallery .item:hover img{transform:scale(1.08)}
body.lx .gallery .item::after{background:linear-gradient(180deg,transparent 45%,rgba(90,4,4,.0) 100%);transition:background .5s}
body.lx .gallery .item:hover::after{background:linear-gradient(180deg,transparent 35%,rgba(90,4,4,.7) 100%)}
body.lx .gallery .item::before{content:"Ampliar";position:absolute;left:18px;bottom:16px;z-index:1;color:#fff;font-weight:600;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s var(--ease)}
body.lx .gallery .item:hover::before{opacity:1;transform:none}

/* ---------- cartões dinâmicos ---------- */
body.lx .team-card:hover,body.lx .supplier-card:hover,body.lx .testimonial-card:hover{box-shadow:0 26px 50px -28px rgba(134,6,6,.4)!important}
body.lx .team-role{color:var(--red)!important}
.lx-initials{background:var(--grad-brand);color:#fff;border:0}
.lx-monogram{background:var(--red-soft);color:var(--wine)}
body.lx .testimonial-rating{color:#c9a227!important}

/* ---------- contacto ---------- */
.lx-contact{box-shadow:0 30px 60px -40px rgba(19,19,19,.45);border-color:transparent}
.lx-contact__map iframe{filter:none}
.lx-contact__info{background:linear-gradient(180deg,#fff 0%,var(--warm) 100%)}

/* ---------- chamada final em vinho ---------- */
.lx-cta--brand{background:var(--grad-brand);border:0;color:#fff;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px rgba(134,6,6,.7)}
.lx-cta--brand::before,.lx-cta--brand::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.lx-cta--brand::before{width:420px;height:420px;right:-120px;top:-180px}
.lx-cta--brand::after{width:260px;height:260px;right:60px;bottom:-170px;background:rgba(255,255,255,.04)}
.lx-cta--brand>*{position:relative;z-index:1}
.lx-cta--brand h2{color:#fff!important}
.lx-cta--brand p{color:rgba(255,255,255,.82)}
.lx-cta--brand .lx-eyebrow{color:#fff}
.lx-cta--brand .lx-eyebrow::before{background:#fff}

/* ---------- rodapé ---------- */
body.lx .footer{background:var(--grad-dark);border-top:3px solid var(--red)}
.lx-social a:hover{background:var(--red);border-color:var(--red);color:#fff}

/* ---------- topo das páginas interiores com fotografia ---------- */
.lx-pagehero{position:relative;overflow:hidden;padding:84px 0 76px;border-bottom:0;color:#fff;background:var(--grad-brand)}
.lx-pagehero::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28;mix-blend-mode:luminosity;transform:scale(1.06);animation:lxZoom 14s ease-out both}
.lx-pagehero--svc::before{background-image:url("../../img/2.jpeg")}
.lx-pagehero--ctt::before{background-image:url("../../img/4.jpeg")}
.lx-pagehero--chk::before{background-image:url("../../img/6.jpeg")}
.lx-pagehero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(79,3,3,.92) 0%,rgba(134,6,6,.72) 55%,rgba(134,6,6,.35) 100%)}
@keyframes lxZoom{from{transform:scale(1.14)}to{transform:scale(1.02)}}
.lx-pagehero .container{position:relative;z-index:1}
.lx-pagehero h1{color:#fff!important}
.lx-pagehero h1 em{color:#fff;opacity:.72}
.lx-pagehero p{color:rgba(255,255,255,.86)}
.lx-crumbs,.lx-crumbs a{color:rgba(255,255,255,.75)}
.lx-crumbs a:hover{color:#fff}

/* ---------- serviços ---------- */
.lx-svc{transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;overflow:hidden}
.lx-svc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad-brand);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}
.lx-svc:hover{transform:translateY(-4px);border-color:transparent;box-shadow:0 22px 44px -26px rgba(134,6,6,.45)}
.lx-svc:hover::before{transform:scaleY(1)}
.lx-svc__price{color:var(--wine)}
.lx-cat__head{border-bottom:2px solid var(--red-soft)}
.lx-cat__head h3{position:relative;padding-left:14px}
.lx-cat__head h3::before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:4px;border-radius:4px;background:var(--grad-brand)}
body.lx #categoryFilters .btn:not(.outline){background:var(--grad-brand);border-color:var(--wine)}
body.lx #categoryFilters .btn:hover{border-color:var(--red);color:var(--red)}
.lx-cart__head{background:var(--grad-brand);color:#fff;border-bottom:0}
.lx-cart__head h3{color:#fff!important}
.lx-cart__count{background:#fff;color:var(--wine)}
.lx-cart__total strong{color:var(--wine)}

/* ---------- contactos / checkout ---------- */
.lx-info{position:relative}
.lx-info::before{content:"";position:absolute;left:26px;top:0;width:24px;height:3px;background:var(--red);transition:width .4s var(--ease)}
.lx-info:hover::before{width:48px}
a.lx-info:hover{background:var(--warm)}
.lx-steps li::before{background:var(--grad-brand);color:#fff;border:0}

/* ---------- login ---------- */
.lx-auth__art::after{background:linear-gradient(180deg,rgba(90,4,4,.15) 10%,rgba(90,4,4,.6) 55%,rgba(40,0,0,.92) 100%)!important}
.lx-auth__art img{animation:lxZoom 16s ease-out both}
.lx-auth__form{background:radial-gradient(600px 400px at 100% 0%,rgba(134,6,6,.07),transparent 60%),#fff}

/* ---------- Minha Área ---------- */
.lx-welcome{background:var(--grad-brand);border:0;color:#fff;position:relative;overflow:hidden;box-shadow:0 24px 50px -30px rgba(134,6,6,.7)}
.lx-welcome::after{content:"";position:absolute;right:-60px;top:-80px;width:240px;height:240px;border-radius:50%;border:1px solid rgba(255,255,255,.18)}
.lx-welcome h2{color:#fff!important;position:relative}
.lx-welcome p,.lx-welcome__date{color:rgba(255,255,255,.82)!important;position:relative}
body.lx-dash .dash-avatar{background:var(--grad-brand)!important}
body.lx-dash .appt-card,body.lx-dash .svc-card{transition:transform .3s var(--ease),box-shadow .3s!important}
body.lx-dash .appt-card:hover,body.lx-dash .svc-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -26px rgba(134,6,6,.45)!important}
body.lx-dash .appt-date-box{background:var(--grad-brand)!important;border:0}
body.lx-dash .appt-date-box *{color:#fff!important}
body.lx-dash .svc-price{color:var(--wine)!important}
body.lx-dash .appt-filter-btn.active,body.lx-dash .svc-cat-btn.active{background:var(--grad-brand)!important;border-color:var(--wine)!important}

/* barra de progresso em gradiente */
.lx-progress{background:linear-gradient(90deg,#b3261e,#860606)}

@media (prefers-reduced-motion:reduce){
  .lx-marquee__track,.lx-badge,.lx-feature__card,.lx-kicker b,.lx-video__play,.lx-pagehero::before,.lx-auth__art img{animation:none!important}
  .lx-js .lx-feature__media .lx-feature__img{clip-path:none!important}
}
/* campanhas em destaque de marca */
body.lx #campanhasGrid>div{background:var(--grad-brand)!important;border:0!important;color:#fff;box-shadow:0 30px 60px -36px rgba(134,6,6,.75)}
body.lx #campanhasGrid>div>div:first-child{display:none}
body.lx #campanhasGrid>div *{color:#fff!important}
body.lx #campanhasGrid .lx-eyebrow::before{background:#fff}
body.lx #campanhasGrid>div p{opacity:.85}
body.lx #campanhasGrid .btn:not(.outline){background:#fff!important;border-color:#fff!important;color:var(--wine)!important}
body.lx #campanhasGrid .btn.outline{background:transparent!important;border-color:rgba(255,255,255,.55)!important}
body.lx #promocoesGrid>div:hover{border-color:transparent!important;box-shadow:0 22px 44px -26px rgba(134,6,6,.45)}
/* telemóvel/tablet: bloco vinho atrás do vídeo, ligado à faixa de especialidades */
@media(max-width:979px){
  .lx-hero__media::before{content:"";position:absolute;left:-40px;right:-40px;top:32%;bottom:-88px;background:var(--grad-brand);z-index:-1;border-radius:32px 32px 0 0}
  .lx-badge--b{display:none}
}

/* =====================================================================
   v8 — MOVIMENTO CONTROLADO PELO SCROLL
   O JS escreve --p (0→1) em cada bloco; aqui só se usam as propriedades
   translate / scale / rotate, que se somam às animações já existentes.
   ===================================================================== */
body.lx .header{transition:box-shadow .3s ease,translate .4s var(--ease)}
body.lx .header.is-hidden{translate:0 -100%}

/* ---------- hero: o texto sobe e desvanece, o vídeo recua, o painel vinho desce ---------- */
.lx-hero{--p:0}
.lx-hero__text{translate:0 calc(var(--p) * -90px);opacity:calc(1 - var(--p) * 1.1)}
.lx-hero .lx-video{scale:calc(1 - var(--p) * .1);rotate:calc(var(--p) * -2deg);transform-origin:50% 0}
.lx-hero::before{translate:0 calc(var(--p) * 140px)}
.lx-hero::after{translate:0 calc(var(--p) * -120px);scale:calc(1 + var(--p) * .6)}
.lx-badge--a{translate:calc(var(--p) * -40px) calc(var(--p) * -160px)}
.lx-badge--b{translate:calc(var(--p) * 30px) calc(var(--p) * -60px)}
.lx-video__meta{translate:0 calc(var(--p) * 40px)}

/* marquee controlado por JS (velocidade e sentido do scroll) */
.lx-marquee.is-js .lx-marquee__track{animation:none;will-change:transform}

/* ---------- cartões "A clínica": sobem em cascata com o scroll ---------- */
.lx-points{--p:0}
.lx-points>.lx-point{--k:0;translate:0 calc((1 - var(--p)) * (50px + var(--k) * 45px));opacity:clamp(0,calc(var(--p) * 2.2 - var(--k) * .35),1)}
.lx-points>.lx-point:nth-child(2){--k:1}.lx-points>.lx-point:nth-child(3){--k:2}.lx-points>.lx-point:nth-child(4){--k:3}

/* ---------- frase que se preenche ---------- */
.lx-statement{padding:40px 0 120px;background:#fff}
.lx-statement__text{margin:0;max-width:22ch;font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;line-height:1.12;font-size:clamp(2rem,5.2vw,4.2rem);color:var(--ink)}
.lx-statement__text i{font-style:normal;color:var(--red)}
.lx-fw{opacity:clamp(.14,calc((var(--p) * 1.9 - .35) * var(--n) - var(--i) + 1),1);transition:opacity .15s linear}
@media(max-width:760px){.lx-statement{padding:10px 0 72px}}

/* ---------- história do tratamento (fixa durante o scroll) ---------- */
.lx-story{--p:0;--s0:0;--s1:0;--s2:0;--s3:0;--s4:0;position:relative;height:420vh;color:#fff;
  background:radial-gradient(1200px 800px at 25% 45%,#a31414 0%,#6e0505 48%,#2e0202 100%)}
.lx-story__sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.lx-story__grid{display:grid;gap:40px;align-items:center;width:100%}
@media(min-width:900px){.lx-story__grid{grid-template-columns:1.05fr 1fr;gap:72px}}
.lx-story__visual{position:relative;display:grid;place-items:center;aspect-ratio:1/1;max-height:74vh;margin:0 auto;width:100%}
.lx-story__halo{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 68%);
  scale:calc(.7 + var(--s3) * .3 + var(--s4) * .15);opacity:calc(.4 + var(--s3) * .6)}
.lx-tooth{position:relative;width:78%;height:auto;overflow:visible;rotate:calc((var(--p) - .5) * -10deg);scale:calc(.92 + var(--s0) * .08)}
.lx-tooth path,.lx-tooth circle{fill:none;stroke-linecap:round;stroke-linejoin:round}
.lx-tooth__outline{stroke:#fff;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--s0))}
.lx-tooth__fill{fill:#fff;opacity:calc(.06 + var(--s3) * .94)}
.lx-tooth__grid path{stroke:rgba(255,255,255,.16);stroke-width:1;opacity:calc(var(--s1) * (1 - var(--s3)))}
.lx-tooth__scan{transform:translateY(calc(var(--s1) * 330px));opacity:calc(min(var(--s1) * 8, 1) * (1 - var(--s2)))}
.lx-tooth__dims path{stroke:rgba(255,255,255,.7);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--s2));opacity:calc(1 - var(--s4) * .8)}
.lx-tooth__crown{stroke:#860606;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--s3));opacity:calc(var(--s3) * 1.5)}
.lx-tooth__shine{stroke:#860606;stroke-width:3.2;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--s4));opacity:.55}
.lx-tooth__gleam{transform:translateX(calc(var(--s4) * 330px)) skewX(-16deg);opacity:calc(min(var(--s4) * 6, 1) * .9)}
.lx-tooth__ring{stroke:rgba(255,255,255,.85);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--s4));transform-origin:100px 125px;rotate:-90deg}
.lx-story[data-step="2"] .lx-tooth__outline,.lx-story[data-step="3"] .lx-tooth__outline{stroke:#f3dada}
.lx-story__count{position:absolute;left:0;bottom:4%;display:flex;align-items:baseline;gap:6px;font-family:var(--font-display);color:rgba(255,255,255,.6)}
.lx-story__count b{font-size:clamp(2.4rem,4vw,3.6rem);color:#fff;line-height:1}
.lx-story__text .lx-eyebrow{color:#fff}.lx-story__text .lx-eyebrow::before{background:#fff}
.lx-story__text .lx-title{color:#fff}.lx-story__text .lx-title em{color:#fff;opacity:.6}
.lx-story__steps{position:relative;min-height:190px;margin-top:22px}
.lx-step{position:absolute;inset:0 0 auto 0;opacity:0;translate:0 26px;transition:opacity .5s var(--ease),translate .6s var(--ease);pointer-events:none}
.lx-step.is-past{translate:0 -26px}
.lx-step.is-active{opacity:1;translate:0 0;pointer-events:auto}
.lx-step small{display:block;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:10px}
.lx-step h3{margin:0 0 10px;font-size:clamp(1.4rem,2.4vw,1.9rem);color:#fff}
.lx-step p{margin:0;color:rgba(255,255,255,.82);font-size:1.02rem;line-height:1.7;max-width:46ch}
.lx-story__rail{position:relative;height:2px;background:rgba(255,255,255,.2);margin-top:28px;border-radius:2px;display:flex;justify-content:space-between}
.lx-story__rail span{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p) * 100%);background:#fff;border-radius:2px}
.lx-story__rail i{position:relative;width:10px;height:10px;border-radius:50%;margin-top:-4px;background:#6e0505;border:2px solid rgba(255,255,255,.5)}
.lx-story__rail i:first-of-type{margin-left:-2px}.lx-story__rail i:last-of-type{margin-right:-2px}
.lx-story[data-step="0"] .lx-story__rail i:nth-of-type(-n+1),.lx-story[data-step="1"] .lx-story__rail i:nth-of-type(-n+2),
.lx-story[data-step="2"] .lx-story__rail i:nth-of-type(-n+3),.lx-story[data-step="3"] .lx-story__rail i{background:#fff;border-color:#fff}
@media(max-width:899px){
  .lx-story{height:380vh}
  .lx-story__sticky{align-items:flex-start;padding-top:84px}
  .lx-story__grid{gap:14px}
  .lx-story__visual{max-height:36vh;max-height:36svh;aspect-ratio:auto;height:36svh}
  .lx-tooth{width:auto;height:100%}
  .lx-story__count{bottom:0}
  .lx-story__text .lx-title{font-size:1.6rem;margin:.3em 0 0}
  .lx-story__steps{min-height:170px;margin-top:14px}
  .lx-step p{font-size:.95rem}
}

/* ---------- destaque com imagem: camadas a velocidades diferentes ---------- */
.lx-feature-wrap{--p:.5}
.lx-feature__img img{scale:1.14;translate:0 calc((var(--p) - .5) * -70px)}
.lx-feature__media::before{translate:0 calc((var(--p) - .5) * 60px)}
.lx-feature__card{translate:0 calc((var(--p) - .5) * -110px)}

/* ---------- galeria horizontal fixa ---------- */
.lx-hgal{--p:0;--hx:0}
body.lx .lx-hgal.is-pinned{padding:0}
.lx-hgal.is-pinned .lx-hgal__sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:40px 0}
.lx-hgal.is-pinned .lx-head{margin-bottom:32px}
body.lx .lx-hgal.is-pinned .gallery{display:flex;gap:18px;align-items:center;width:max-content;
  padding:0 max(24px,calc((100vw - 1180px) / 2 + 24px));translate:calc(var(--p) * var(--hx) * -1px) 0;will-change:translate}
body.lx .lx-hgal.is-pinned .gallery .item{flex:0 0 auto;width:clamp(320px,34vw,540px);height:52vh;grid-column:auto;grid-row:auto}
body.lx .lx-hgal.is-pinned .gallery .item:nth-child(2n){height:40vh;width:clamp(260px,26vw,420px)}
body.lx .lx-hgal.is-pinned .gallery .item img{scale:1.08;translate:calc((var(--p) - .5) * 40px) 0}
.lx-hgal__bar{display:none}
.lx-hgal.is-pinned .lx-hgal__bar{display:block;position:relative;height:2px;background:var(--line);margin-top:34px;border-radius:2px}
.lx-hgal__bar span{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p) * 100%);background:var(--grad-brand);border-radius:2px}
.lx-hgal:not(.is-pinned) .lx-hgal__viewport{max-width:1180px;margin:0 auto;padding:0 24px}
@media(max-width:600px){.lx-hgal:not(.is-pinned) .lx-hgal__viewport{padding:0 18px}}

/* ---------- contacto e chamada final crescem ao entrar ---------- */
[data-scroll="enter"] .lx-contact{scale:calc(.94 + var(--p,1) * .06);opacity:calc(.3 + var(--p,1) * .7)}
[data-scroll="enter"] .lx-cta--brand{scale:calc(.9 + var(--p,1) * .1);border-radius:calc(40px - var(--p,1) * 22px)}
.lx-cta--brand::before{rotate:calc(var(--p,1) * 40deg);translate:calc(var(--p,1) * -40px) 0}
.lx-cta--brand::after{translate:0 calc((1 - var(--p,1)) * 60px)}

/* ---------- páginas interiores: fotografia do topo em parallax ---------- */
.lx-pagehero{--p:0}
.lx-pagehero::before{translate:0 calc(var(--p) * 90px)}
.lx-pagehero .container{translate:0 calc(var(--p) * -50px);opacity:calc(1 - var(--p) * 1.2)}

/* ---------- movimento reduzido: sem parallax; história e galeria ficam estáticas ---------- */
@media (prefers-reduced-motion:reduce){
  .lx-hero__text,.lx-hero .lx-video,.lx-hero::before,.lx-hero::after,.lx-badge,.lx-video__meta,.lx-points>.lx-point,
  .lx-feature__img img,.lx-feature__media::before,.lx-feature__card,.lx-pagehero::before,.lx-pagehero .container,
  [data-scroll="enter"] .lx-contact,[data-scroll="enter"] .lx-cta--brand{translate:none!important;scale:none!important;rotate:none!important;opacity:1!important}
  .lx-fw{opacity:1}
}
/* v8 ajustes da história */
.lx-story{background:#3a0202}
.lx-story__sticky{background:radial-gradient(1100px 760px at 28% 50%,#a31414 0%,#6e0505 50%,#2e0202 100%)}
body.lx .lx-step h3{color:#fff}
.lx-tooth__shine{opacity:calc(min(var(--s4) * 10, 1) * .6)}
.lx-tooth__crown{opacity:min(calc(var(--s3) * 10), 1)}
.lx-tooth__dims path{opacity:calc(min(var(--s2) * 10, 1) * (1 - var(--s4) * .8))}
.lx-tooth__ring{opacity:min(calc(var(--s4) * 10), 1)}
.lx-tooth__outline{opacity:min(calc(var(--s0) * 20), 1)}
@media(max-width:899px){
  .lx-story__visual{height:34svh;max-height:none;overflow:visible}
  .lx-tooth{height:30svh;width:auto;max-width:80vw}
  .lx-story__count{left:auto;right:0;top:0;bottom:auto}
  .lx-story__count b{font-size:2rem}
}
