
.wsms.wsms{padding:64px 0 68px;color:var(--t);background-image:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--a) 12%,transparent),transparent 70%)}
.wsms-in{max-width:1100px;margin:0 auto;padding:0 20px}
.wsms-topo{text-align:center;max-width:640px;margin:0 auto 30px}
.wsms-tit{margin:0;font-family:'Playfair Display', Georgia, serif;font-weight:400;font-size:clamp(28px,4.2vw,44px);line-height:1.1;color:var(--t)}
.wsms-tit em{font-family:'Great Vibes', cursive;font-style:normal;color:var(--a);font-size:1.16em}
.wsms-frase{margin:10px 0 0;font-size:15px;line-height:1.7;color:var(--suave)}
.wsms-cols{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(20px,3.5vw,40px);align-items:stretch}
.wsms-card{background:var(--card);border:1px solid var(--borda);border-radius:var(--raio,18px);padding:26px 26px 24px;box-shadow:0 18px 40px -26px var(--sombra)}
.wsms-sub{margin:0 0 12px;font-family:'Playfair Display', Georgia, serif;font-weight:400;font-size:22px;line-height:1.15;color:var(--t)}
.wsms-sub em{font-family:'Great Vibes', cursive;font-style:normal;color:var(--a);font-size:1.12em}
.wsms-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--borda)}
.wsms-linha:last-of-type{border-bottom:0}
.wsms-dia{font-size:14.5px;color:var(--t)}
.wsms-val{font-size:13.5px;color:var(--suave);white-space:nowrap}
.wsms-fechado{color:#c0564b}
.wsms-onde{margin:18px 0 0;font-size:14.5px;line-height:1.65;color:var(--suave)}
.wsms-onde a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.wsms-lugar{display:inline-block;margin-top:10px;border:1px solid var(--borda);border-radius:999px;padding:5px 14px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--suave)}
.wsms-acoes{margin-top:20px}
.wsms-mapa{display:block;width:100%;min-height:360px;height:100%;border:0;border-radius:var(--raio,18px);background:var(--card);box-shadow:0 18px 40px -26px var(--sombra)}
.wsms-vazio{margin:0;font-size:14px;color:var(--suave)}
@media(max-width:820px){.wsms-cols{grid-template-columns:1fr}.wsms-mapa{min-height:280px;aspect-ratio:4/3}}

.wsms-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.wsms-b{position:relative;overflow:hidden;display:inline-block;text-decoration:none;border:var(--fio,1px) solid var(--borda);color:var(--t);border-radius:var(--raio-bt,999px);padding:12px 22px;font-size:12px;font-weight:600;letter-spacing:var(--letra,.13em);text-transform:var(--caixa,uppercase);transition:border-color .3s,color .3s}
.wsms-b span{position:relative;z-index:1}
.wsms-b::before{content:'';position:absolute;inset:0;background:var(--a);transform:translateX(-101%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.wsms-b:hover::before{transform:translateX(0)}
.wsms-b:hover{color:var(--f);border-color:var(--a)}
.wsms-b1{background:var(--a);border-color:var(--a);color:var(--sa,var(--f))}
.wsms-b1::before{background:var(--t);opacity:.16}
.wsms-b1:hover{color:var(--sa,var(--f))}
@media(prefers-reduced-motion:reduce){.wsms-b::before{transition:none}}

/* o mesmo chão da prévia: ela roda num documento com box-sizing:border-box em
   tudo. Num tema sem esse reset, padding e borda mediam diferente no publicado
   (botão de largura cheia estourando no celular, caixa interna mais larga). */
.wsms,.wsms *,.wsms *::before,.wsms *::after{box-sizing:border-box}
.wsms a[href],.wsms button{-webkit-tap-highlight-color:transparent}
.wsms a[href]:active,.wsms button:active{transform:scale(.97)}
.wsms .ws-bt{position:relative;overflow:hidden;isolation:isolate}
.wsms .ws-bt>span{position:relative;z-index:1}
/* z-index negativo DENTRO do isolate: fica atrás do texto sem precisar que o
   texto esteja num <span> — vários CTAs são <a>texto</a> puro. */
.wsms .ws-bt::after{content:'';position:absolute;inset:0;z-index:-1;background:var(--t);opacity:0;transition:opacity .35s}
.wsms .ws-bt:hover::after{opacity:.14}
/* Esconde SÓ quando o JavaScript confirmou que está vivo (classe ws-js, posta
   pelo próprio script do bloco, antes da pintura). Sem isso o título nascia em
   opacity:0 e, se o JS falhasse, o texto do site sumia para o visitante — o
   teste pegou isso. Agora o padrão é visível, e a animação é o extra. */
.wsms.ws-js .ws-tit{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.wsms.ws-js.ws-vis .ws-tit{opacity:1;transform:none}
.wsms.ws-js.ws-vis .ws-tit:nth-of-type(2){transition-delay:.08s}
/* CRIATIVA (02/09: "as cores criativas que têm efeitos não estão funcionando"):
   o degradê de antes ia do branco ao papel e quase não se via numa paleta
   clara. Agora o esquema pinta de verdade — dois halos da cor da marca que
   andam devagar, o degradê de fundo em movimento, a palavra de destaque do
   título com brilho e sombra colorida nos botões. Tudo dentro do bloco (sem
   nada vazando para a lateral) e parado para quem pede menos movimento. */
/* v3.40.0 (03/09: "não está aplicando no layout, efeito de cor"): o efeito
   pega pelo --fx que está no style do próprio bloco — o atributo data-ws-tema
   se perdia quando o bloco era regravado e os efeitos morriam com ele. Vale
   para Degradê, Degradê escuro, Pérola e Criativa: o fundo ganha movimento
   lento, a palavra de destaque brilha e o botão ganha sombra da marca. */
.wsms[style*="--fx"]{background-size:180% 180%;animation:wsmsFx 20s ease-in-out infinite}
@keyframes wsmsFx{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.wsms[style*="--fx"] .ws-tit em{background:linear-gradient(92deg,var(--a) 0%,color-mix(in srgb,var(--a) 55%,var(--t)) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--a)}
.wsms[style*="--fx"] .ws-bt{box-shadow:0 10px 26px color-mix(in srgb,var(--a) 32%,transparent)}
.wsms[data-ws-tema="criativa"]{--fx:radial-gradient(52% 44% at 100% 0%,color-mix(in srgb,var(--a) 42%,#fff) 0%,transparent 62%),radial-gradient(46% 40% at 0% 100%,color-mix(in srgb,var(--a) 30%,#fff) 0%,transparent 60%),linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--a) 12%,#fff) 55%,color-mix(in srgb,var(--a) 28%,#fff) 100%)!important;background-size:160% 160%,160% 160%,200% 200%!important;animation:wsmsCriativa 16s ease-in-out infinite}
@keyframes wsmsCriativa{0%,100%{background-position:0% 0%,100% 100%,0% 50%}50%{background-position:40% 30%,60% 70%,100% 50%}}
.wsms[data-ws-tema="criativa"] .ws-tit em{background:linear-gradient(92deg,var(--a) 0%,color-mix(in srgb,var(--a) 55%,#fff) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--a)}
.wsms[data-ws-tema="criativa"] .ws-bt{box-shadow:0 10px 26px color-mix(in srgb,var(--a) 32%,transparent)}
/* EFEITO E BRILHO (03/09): ligado pelo data-ws-fx do <section>. Nenhum mexe em
   cor: só no acabamento. Todos param para quem pede menos movimento. */
.wsms[data-ws-fx="brilho"] .ws-tit em,.wsms[data-ws-fx="brilho"] h1 em,.wsms[data-ws-fx="brilho"] h2 em,.wsms[data-ws-fx="brilho"] h3 em{text-shadow:0 0 18px color-mix(in srgb,var(--a) 55%,transparent)}
.wsms[data-ws-fx="brilho"] .ws-bt,.wsms[data-ws-fx="brilho"] a[class*="-b1"],.wsms[data-ws-fx="brilho"] a[class*="-botao"],.wsms[data-ws-fx="brilho"] a[class*="-cta"]{box-shadow:0 8px 26px color-mix(in srgb,var(--a) 42%,transparent)}
.wsms[data-ws-fx="brilho"] img{transition:filter .45s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.wsms[data-ws-fx="brilho"] figure:hover img,.wsms[data-ws-fx="brilho"] a:hover img{filter:brightness(1.08) saturate(1.06)}
.wsms[data-ws-fx="neon"] .ws-tit em,.wsms[data-ws-fx="neon"] h1 em,.wsms[data-ws-fx="neon"] h2 em,.wsms[data-ws-fx="neon"] h3 em{color:var(--a);text-shadow:0 0 6px color-mix(in srgb,var(--a) 85%,transparent),0 0 22px color-mix(in srgb,var(--a) 55%,transparent),0 0 44px color-mix(in srgb,var(--a) 30%,transparent)}
.wsms[data-ws-fx="neon"] .ws-bt,.wsms[data-ws-fx="neon"] a[class*="-b1"],.wsms[data-ws-fx="neon"] a[class*="-botao"],.wsms[data-ws-fx="neon"] a[class*="-cta"]{box-shadow:0 0 0 1px color-mix(in srgb,var(--a) 70%,transparent),0 0 18px color-mix(in srgb,var(--a) 45%,transparent),inset 0 0 12px color-mix(in srgb,var(--a) 22%,transparent)}
.wsms[data-ws-fx="vidro"] [class*="-card"],.wsms[data-ws-fx="vidro"] [class*="-cel"],.wsms[data-ws-fx="vidro"] [class*="-cx"]{background:color-mix(in srgb,var(--card) 62%,transparent)!important;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border:1px solid color-mix(in srgb,var(--t) 12%,transparent)}
.wsms[data-ws-fx="relevo"] [class*="-card"],.wsms[data-ws-fx="relevo"] [class*="-cel"],.wsms[data-ws-fx="relevo"] figure{box-shadow:0 22px 44px -26px var(--sombra),0 6px 14px -10px var(--sombra)}
.wsms[data-ws-fx="relevo"] img{border-radius:inherit}
.wsms[data-ws-fx="luz"] figure{position:relative;overflow:hidden}
.wsms[data-ws-fx="luz"] figure::after{content:'';position:absolute;top:0;bottom:0;width:38%;left:-45%;background:linear-gradient(100deg,transparent 0%,color-mix(in srgb,#fff 55%,transparent) 50%,transparent 100%);transform:skewX(-12deg);animation:wsmsLuz 5.5s ease-in-out infinite;pointer-events:none}
@keyframes wsmsLuz{0%{left:-45%}55%{left:118%}100%{left:118%}}
@media(prefers-reduced-motion:reduce){
.wsms[data-ws-fx="luz"] figure::after{animation:none;opacity:0}
.wsms[data-ws-fx="brilho"] img{transition:none}
.wsms a[href]:active,.wsms button:active{transform:none}
.wsms .ws-bt::after{transition:none}
.wsms.ws-js .ws-tit{opacity:1;transform:none;transition:none}
.wsms[data-ws-tema="criativa"],.wsms[style*="--fx"]{animation:none}
}
.dep .in.ws-cheio{max-width:none;margin:0;padding:0}
.dep section.ws-cheio-pai{padding:0}
.dep .in:has(> .wsms){max-width:none;margin:0;padding:0}
.dep section:has(> .in > .wsms){padding:0}

.wsms-linha.wsms-hoje{position:relative;background:color-mix(in srgb,var(--a,#B8863B) 10%,transparent);box-shadow:inset 3px 0 0 var(--a,#B8863B);padding-left:12px!important;padding-right:8px!important;border-radius:8px}
.wsms-linha.wsms-hoje > :first-child{font-weight:700}
.wsms-hoje-tag{display:inline-block;margin-left:10px;padding:2px 8px;border:1px solid var(--a,#B8863B);border-radius:999px;font:600 10px/1.5 'IBM Plex Mono',Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--a,#B8863B);vertical-align:middle;white-space:nowrap}
@media(max-width:480px){.wsms-hoje-tag{display:block;margin:4px 0 0}}
