/* Purple November (06 a 26/11/2026) · carregado só no período (inc/campanha.php) */

/* barra no topo de todas as páginas */
.td-campanha-barra { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; padding: 10px 16px;
  background: linear-gradient(90deg, #45125E 0%, #6A2393 50%, #45125E 100%); color: #fff !important; text-align: center;
  font: 400 14px/1.35 "Inter Tight", sans-serif; text-decoration: none !important; position: relative; z-index: 201; }
.td-campanha-barra strong { font-weight: 700; letter-spacing: -.005em; }
.td-campanha-barra strong::after { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #FF5C9F;
  vertical-align: middle; margin: -2px 0 0 10px; }
.td-campanha-barra .td-cb-cta { font-weight: 600; color: #FFB8D9; white-space: nowrap; }
.td-campanha-barra .td-cb-curto { display: none; }
.td-campanha-barra:hover .td-cb-cta, .td-campanha-barra:focus-visible .td-cb-cta { text-decoration: underline; text-underline-offset: 3px; }
.td-campanha-barra:focus-visible { outline: 2px solid #FFB8D9; outline-offset: -4px; }
@media (max-width: 640px) {
  .td-campanha-barra { font-size: 13px; gap: 8px; padding: 9px 12px; }
  .td-campanha-barra { flex-wrap: nowrap; white-space: nowrap; }
  .td-campanha-barra strong::after { margin-left: 8px; }
  .td-campanha-barra .td-cb-longo, .td-campanha-barra .td-cb-cta-txt { display: none; }
  .td-campanha-barra .td-cb-curto { display: inline; }
}
@media (max-width: 360px) { .td-campanha-barra { font-size: 12px; gap: 6px; } }

/* slide do carrossel da home: fundo lilás, cremes no sorriso à direita, texto à esquerda */
.td-original-hero .slide.td-slide-purple, .td-original-hero .slide.td-slide-purple .foto { background: #F3EAF9; }
.td-slide-purple .td-sp-data { display: block; font: 600 13px/1.3 "Inter Tight", sans-serif; letter-spacing: .06em; text-transform: uppercase;
  color: #CE0864; margin: 0 0 14px; }
.td-frame-page .td-original-hero .td-slide-purple h2 { color: #45125E !important; }
.td-slide-purple h2 strong { font-weight: 700 !important; }
.td-slide-purple h2 em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; color: #CE0864; font-size: 1.12em;
  letter-spacing: -.01em; }
.td-frame-page .td-original-hero .td-slide-purple p { color: #45125E !important; }
.td-slide-purple p b { color: #45125E; font-weight: 700; }
.td-frame-page .td-original-hero .td-slide-purple .td-sp-termos { font-size: 12px !important; line-height: 1.45 !important; color: #6E5A80 !important;
  margin: 16px 0 0 !important; max-width: 380px; }
/* cena do slide montada em HTML com as fotos que já estão no tema (o 50 g aparece só o tubo, sem o cartucho).
   Medidas em % de um palco 2200 × 1238, igual às outras cenas do carrossel; o fundo do palco termina na mesma cor da .foto. */
.td-slide-purple .td-sp-cena { position: absolute; top: 0; left: 50%; height: 100%; aspect-ratio: 2200 / 1238; transform: translateX(-56%);
  background: radial-gradient(ellipse 52% 70% at 56% 52%, #FFFFFF 0, #F8F1FC 42%, #F3EAF9 100%); overflow: hidden; }
.td-slide-purple .td-sp-cena > * { position: absolute; display: block; }
.td-slide-purple .td-sp-brilho { left: 33%; top: 25.4%; width: 46%; height: 57.9%; border-radius: 50%; background: #E61873; opacity: .17; filter: blur(48px); }
.td-slide-purple .td-sp-sorriso { left: 35.09%; top: 46.09%; width: 41.82%; height: 37.05%; }
.td-slide-purple .td-sp-tubo50 { left: 47.75%; top: 28.13%; width: 6.28%; height: 45.37%; overflow: hidden; z-index: 2;
  filter: drop-shadow(0 12px 12px rgba(36, 8, 47, .26)); }
.td-original-hero .slide.td-slide-purple .foto .td-sp-tubo50 img { position: absolute; left: 0; top: 0; width: auto; height: 100%; max-width: none;
  object-fit: fill; }
.td-original-hero .slide.td-slide-purple .foto img.td-sp-tubo90 { left: 52.38%; top: 20.19%; width: 11.88%; height: 53.31%; max-width: none;
  object-fit: fill; z-index: 1; filter: drop-shadow(0 12px 12px rgba(36, 8, 47, .26)); }
@media (min-width: 960px) {
  .td-original-hero .slide.td-slide-purple::before { background: linear-gradient(90deg, #F3EAF9 0%, #F3EAF9eb 30%, #F3EAF900 58%); }
  .td-slide-purple .td-sp-cena { transform: translateX(-50%); }
}

/* popup da campanha (Purple até 26/11, Black em 27 e 28/11) */
.td-pop{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;font-family:"Inter Tight",sans-serif}
.td-pop[hidden]{display:none}
html.td-pop-aberto{overflow:hidden}
.td-pop-fundo{position:absolute;inset:0;background:rgba(22,6,31,.55);backdrop-filter:blur(2px);animation:td-pop-in .3s ease both}
.td-pop-card{position:relative;display:grid;grid-template-columns:1fr 1.05fr;width:min(860px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:28px;background:#fff;box-shadow:0 30px 80px rgba(22,6,31,.35);animation:td-pop-sobe .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes td-pop-in{from{opacity:0}}
@keyframes td-pop-sobe{from{opacity:0;transform:translateY(24px) scale(.97)}}
@media (prefers-reduced-motion:reduce){.td-pop-fundo,.td-pop-card{animation:none}}
.td-pop-x{position:absolute;top:12px;right:12px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#45125E;font:400 30px/1 "Inter Tight",sans-serif;cursor:pointer}
.td-pop-x:focus-visible,.td-pop-cta:focus-visible{outline:3px solid #E61873;outline-offset:3px}
.td-pop-cena{position:relative;min-height:380px;overflow:hidden;background:radial-gradient(ellipse 70% 70% at 50% 55%,#FFFFFF 0,#F6EFFB 45%,#EADCF4 100%)}
.td-pop-cena>*{position:absolute;display:block}
.td-pop-brilho{left:15%;top:25%;width:70%;height:55%;border-radius:50%;background:#E61873;opacity:.16;filter:blur(40px)}
.td-pop-sorriso{left:12%;bottom:12%;width:76%;height:auto;aspect-ratio:69.4/34.6}
.td-pop-t50{left:32.3%;bottom:21%;width:13.5%;aspect-ratio:246/971;overflow:hidden;z-index:2;filter:drop-shadow(0 12px 12px rgba(36,8,47,.25))}
.td-pop-t50 img{position:absolute;left:0;top:-1.3%;height:103%;width:auto;max-width:none}
.td-pop-t90{left:42.3%;bottom:21%;width:25%;height:auto;z-index:1;filter:drop-shadow(0 12px 12px rgba(36,8,47,.25))}
.td-pop-txt{padding:48px 44px 36px;color:#45125E;display:flex;flex-direction:column;justify-content:center}
.td-pop-txt>*{margin:0}
.td-pop-data{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#CE0864}
.td-pop h2{margin-top:10px;font:400 clamp(40px,5vw,56px)/1 "Inter Tight",sans-serif;letter-spacing:-.04em;color:#45125E}
.td-pop h2 strong{font-weight:700}
.td-pop h2 em{font-family:"Instrument Serif",serif;font-style:italic;color:#CE0864;font-size:1.1em;letter-spacing:-.01em}
.td-pop-oferta{margin-top:18px!important;font-size:18px;line-height:1.45}
.td-pop-oferta b{font-weight:700}
.td-pop-detalhe{margin-top:6px!important;font-size:14px;color:#6E5A80}
.td-pop-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:14px 26px;border-radius:999px;background:#5B1F86;color:#fff!important;font-weight:600;font-size:16px;text-decoration:none!important}
.td-pop-cta:hover{background:#45125E}
.td-pop-termos{margin-top:16px!important;font-size:11.5px;line-height:1.45;color:#8A7A96}
.td-pop-pct{margin-top:14px!important;display:flex;align-items:flex-start;font-weight:700;font-size:96px;line-height:.8;letter-spacing:-.05em}
.td-pop-pct span{display:flex;flex-direction:column;font-size:.42em;line-height:.9;margin:.06em 0 0 .05em}
.td-pop-pct i{font-style:normal;font-size:.42em;font-weight:500;letter-spacing:.04em;margin-top:.25em}
/* versão Black: fundo roxo-noite */
.td-pop-black .td-pop-card{background:#16061F}
.td-pop-black .td-pop-cena{background:radial-gradient(ellipse 70% 70% at 50% 55%,#6B2A99 0,#3A1052 45%,#16061F 100%)}
.td-pop-black .td-pop-brilho{opacity:.32}
.td-pop-black .td-pop-txt,.td-pop-black h2,.td-pop-black .td-pop-pct{color:#fff}
.td-pop-black h2 em,.td-pop-black .td-pop-data{color:#FFB8D9}
.td-pop-black .td-pop-detalhe,.td-pop-black .td-pop-termos{color:#CDB9DD}
.td-pop-black .td-pop-cta{background:#fff;color:#2A0A3B!important}
.td-pop-black .td-pop-x{background:rgba(255,255,255,.12);color:#fff}
/* Black: linha de produtos sobre o sorriso (alturas relativas iguais às dos banners) */
.td-pop-black .td-pop-sorriso{left:8%;width:84%;bottom:9%}
.td-pop-linha{position:absolute;left:4%;right:4%;bottom:21%;height:58%;display:flex;align-items:flex-end;justify-content:center;z-index:2}
.td-pop-l{display:block;height:77.8%;width:auto;margin-left:-1.6%;filter:drop-shadow(0 12px 14px rgba(0,0,0,.45))}
.td-pop-l:first-child{margin-left:0}
.td-pop-l50{position:relative;height:72.3%;aspect-ratio:246/971;overflow:hidden;z-index:1}
.td-pop-l50 img{position:absolute;left:0;top:-1.3%;height:103%;width:auto;max-width:none}
.td-pop-lgreen,.td-pop-l250{z-index:2}
.td-pop-l1l{height:100%;z-index:3}
.td-pop-l90{height:81.5%;z-index:1}
@media (max-width:700px){
.td-pop-card{grid-template-columns:1fr;border-radius:22px}
.td-pop-cena{min-height:200px;height:34vh;max-height:240px}
.td-pop-sorriso{left:24%;width:52%;bottom:10%}
.td-pop-t50{left:38.5%;width:8.6%;bottom:17%}
.td-pop-t90{left:45%;width:16%;bottom:17%}
.td-pop-txt{padding:24px 24px 26px;text-align:center;align-items:center}
.td-pop-cta{align-self:center}
.td-pop h2{font-size:40px}
.td-pop-oferta{font-size:16px}
.td-pop-pct{font-size:76px;justify-content:center}
}

/* Black Friday (27 e 28/11): barra e slide da home */
.td-campanha-barra.td-campanha-barra-black{background:linear-gradient(90deg,#16061F 0%,#3A1052 50%,#16061F 100%)}
.td-original-hero .slide.td-slide-black,.td-original-hero .slide.td-slide-black .foto{background:#16061F}
.td-slide-black .td-sp-cena{background:radial-gradient(ellipse 52% 70% at 56% 52%,#6B2A99 0,#3A1052 42%,#16061F 100%)}
.td-slide-black .td-sp-brilho{opacity:.32}
.td-slide-black .td-sp-data{color:#FFB8D9}
.td-frame-page .td-original-hero .td-slide-black h2{color:#fff!important}
.td-slide-black h2 em{color:#FFB8D9}
.td-frame-page .td-original-hero .td-slide-black p{color:#E9DDF2!important}
.td-frame-page .td-original-hero .td-slide-black .btn{background:#fff!important;color:#2A0A3B!important}
.td-frame-page .td-original-hero .td-slide-black .td-sp-termos{color:#BBA7CC!important}
.td-frame-page .td-original-hero .td-slide-black .td-sb-pct{display:flex;align-items:flex-start;margin:12px 0 4px!important;font:700 clamp(64px,7vw,110px)/.8 "Inter Tight",sans-serif!important;letter-spacing:-.05em;color:#fff!important}
.td-sb-pct span{display:flex;flex-direction:column;font-size:.42em;line-height:.9;margin:.06em 0 0 .05em}
.td-sb-pct i{font-style:normal;font-size:.42em;font-weight:500;letter-spacing:.04em;margin-top:.25em}
.td-sb-linha{position:absolute;left:30%;width:52%;bottom:26.5%;height:49%;display:flex;align-items:flex-end;justify-content:center;z-index:2}
@media (min-width:960px){.td-original-hero .slide.td-slide-black::before{background:linear-gradient(90deg,#16061F 0%,#16061Feb 30%,#16061F00 58%)}}
.td-original-hero .slide.td-slide-black .foto .td-sb-linha img{display:block;width:auto;max-width:none;height:77.8%;margin:0 0 0 -1.6%;object-fit:fill;transform:none}
.td-original-hero .slide.td-slide-black .foto .td-sb-linha .td-pop-l1l{height:100%}
.td-original-hero .slide.td-slide-black .foto .td-sb-linha .td-pop-l90{height:81.5%}
.td-original-hero .slide.td-slide-black .foto .td-sb-linha .td-pop-l50 img{position:absolute;left:0;top:-1.3%;height:103%;margin:0}
.td-slide-purple .td-sp-cena>.td-sb-linha{display:flex}
