/* Cor de fundo de cada workshop (páginas inscricao-workshop-*.html)
   Uso: <main class="container wsp-tema wsp-cor-turquesa"> — sem classe de cor, o bloco fica como está (bege/papel do site).
   O fundo ocupa a largura toda; o conteúdo fica no contentor normal (1360px, 48px de margem, 24px no telemóvel). */

main.wsp-tema { --wsp-bg:transparent; --wsp-fg:#17150f; }
main.wsp-tema.wsp-cor-terracota { --wsp-bg:#d4572a; --wsp-fg:#ffffff; }
main.wsp-tema.wsp-cor-amarelo   { --wsp-bg:#f2b632; --wsp-fg:#17150f; }
main.wsp-tema.wsp-cor-turquesa  { --wsp-bg:#1f9e9a; --wsp-fg:#ffffff; }
main.wsp-tema.wsp-cor-cobalto   { --wsp-bg:#2c4fa3; --wsp-fg:#ffffff; }
main.wsp-tema.wsp-cor-magenta   { --wsp-bg:#c8327a; --wsp-fg:#ffffff; }

/* fundo de ponta a ponta, sem cantos arredondados nem molduras */
main.wsp-tema[class*="wsp-cor-"] {
  background:var(--wsp-bg);
  color:var(--wsp-fg);
  border-radius:0;
  box-shadow:0 0 0 100vmax var(--wsp-bg);
  clip-path:inset(0 -100vmax);
}

/* texto e legendas na cor do bloco; títulos em Instrument Serif; legendas em maiúsculas com .2em */
main.wsp-tema[class*="wsp-cor-"] .wsp-titulo,
main.wsp-tema[class*="wsp-cor-"] .wsp-quando,
main.wsp-tema[class*="wsp-cor-"] .wsp-onde,
main.wsp-tema[class*="wsp-cor-"] .wsp-frase,
main.wsp-tema[class*="wsp-cor-"] .wsp-desc,
main.wsp-tema[class*="wsp-cor-"] .wsp-dados dt,
main.wsp-tema[class*="wsp-cor-"] .wsp-dados dd,
main.wsp-tema[class*="wsp-cor-"] .wsp-dados dd a,
main.wsp-tema[class*="wsp-cor-"] .wsp-dados dd span,
main.wsp-tema[class*="wsp-cor-"] .eyebrow { color:var(--wsp-fg) !important; }
main.wsp-tema[class*="wsp-cor-"] .wsp-titulo,
main.wsp-tema[class*="wsp-cor-"] .wsp-quando { font-family:'Instrument Serif',serif; }
main.wsp-tema[class*="wsp-cor-"] .eyebrow,
main.wsp-tema[class*="wsp-cor-"] .wsp-dados dt { letter-spacing:.2em; text-transform:uppercase; }

/* formulário: papel #f5f1e8 e texto tinta, legível sobre qualquer cor */
main.wsp-tema[class*="wsp-cor-"] .wsp-form {
  background:#f5f1e8; color:#17150f; padding:32px; border-radius:0; border:0;
}
main.wsp-tema[class*="wsp-cor-"] .wsp-form .label { color:#b5502a !important; }
main.wsp-tema[class*="wsp-cor-"] .wsp-form label,
main.wsp-tema[class*="wsp-cor-"] .wsp-form label span,
main.wsp-tema[class*="wsp-cor-"] .wsp-form p,
main.wsp-tema[class*="wsp-cor-"] .wsp-form textarea { color:#17150f !important; }
main.wsp-tema[class*="wsp-cor-"] .wsp-form .cf-field input { color:#17150f; }
main.wsp-tema[class*="wsp-cor-"] .wsp-form .cf-field input::placeholder { color:#5f594f; }
@media (max-width:760px) { main.wsp-tema[class*="wsp-cor-"] .wsp-form { padding:24px; } }

/* a foto fica limpa sobre a cor: sem halo castanho e sem fusão multiplicada */
main.wsp-tema[class*="wsp-cor-"] .wsp-foto::before { display:none; }
main.wsp-tema[class*="wsp-cor-"] .wsp-foto img { mix-blend-mode:normal !important; }

/* bege #efeae0: fundo por omissão quando o local/cor ainda não foi escolhido; mantém o aspeto atual (data a terracota, halo da foto) */
main.wsp-tema.wsp-cor-bege { --wsp-bg:#efeae0; --wsp-fg:#17150f; }
main.wsp-tema.wsp-cor-bege .wsp-quando { color:#b5502a !important; }
main.wsp-tema.wsp-cor-bege .wsp-foto::before { display:block; }

/* fotografia a carvão sobre a cor: o papel passa à cor do fundo e o carvão fica preto */
main.wsp-tema[class*="wsp-cor-"] .wsp-foto--mult img { mix-blend-mode:multiply !important; filter:grayscale(1) contrast(1.15) brightness(1.08); }

/* caixa «Novo local»: azul cobalto, texto branco, sem cantos nem moldura */
.wsp-novolocal { margin:24px 0 0; padding:26px 32px 28px; max-width:560px; background:#2c4fa3; color:#fff; border:0; border-radius:0; }
.wsp-novolocal__leg { font-family:'Jost',sans-serif; font-size:12px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; text-decoration:underline; text-underline-offset:5px; margin:0 0 14px; color:#fff; }
.wsp-novolocal__nome { font-family:'Instrument Serif',serif; font-size:clamp(30px,3.6vw,42px); line-height:1.08; color:#fff; margin:0 0 10px; }
.wsp-novolocal__morada { font-family:'Jost',sans-serif; font-size:16px; line-height:1.5; color:#fff; }
.wsp-novolocal__ref { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:20px; line-height:1.4; color:#fff; margin-top:6px; }
@media (max-width:760px) { .wsp-novolocal { padding:22px 24px 24px; } }

/* inscrições por telefone ou formulário, no fim do bloco */
.wsp-contacto { margin:24px 0 0; font-size:14px; line-height:1.7; color:#17150f; }
.wsp-contacto a.wsp-tel { color:#b5502a; text-decoration:underline; text-underline-offset:3px; font-weight:500; white-space:nowrap; }
.wsp-contacto a.wsp-tel:hover { color:#17150f; }

/* destaque do título do formulário quando se chega pelo botão do cartão */
.wsp-form .label { transition:border-color .3s; border-bottom:2px solid transparent; padding-bottom:6px; display:inline-block; }
.wsp-form .label.wsp-destaque { border-bottom-color:#b5502a; }

/* etiqueta «Novo local» no campo Local da página de detalhe */
.wsp-dados dd span.wsp-novo { display:inline-block; margin-bottom:4px; font-family:'Jost',sans-serif; font-size:11px !important; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:#b5502a !important; }
