/*
Theme Name: Circo de Roma
Theme URI: https://circoderoma.com.br
Author: Circo de Roma
Description: Tema próprio (clássico, em PHP) para a bilheteria online do Circo de Roma — venda de ingressos com WooCommerce. Construído do zero para máxima clareza na compra.
Version: 0.2.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: circo-de-roma
*/

/* ============================================================
   1. VARIÁVEIS — Paleta de cores e tipografia
   ============================================================

   Paleta roxo/dourado equilibrada: elegante sem ser pesada,
   familiar sem ser infantil.
   ============================================================ */
:root {
	/* --- Vermelho romano — cor principal da marca ---
	   Referência: togas, legiões, cortinas do banner, Coliseu. */
	--cdr-roxo:          #A02020; /* vermelho médio; elementos de destaque */
	--cdr-roxo-escuro:   #6B1010; /* fundo do header */
	--cdr-roxo-profundo: #3D0808; /* fundo do footer; tons mais densos */

	/* --- Dourado romano — acento da marca (mantido) --- */
	--cdr-dourado:       #D4A017; /* botões, títulos em fundo escuro */
	--cdr-dourado-hover: #E8BE3C; /* estado hover do dourado */

	/* --- "Noite de Estreia" — paleta escura do redesign ---
	   Fundo quase-preto avermelhado + dourado de letreiro.
	   Estes tokens alimentam a camada de redesign no fim do arquivo. */
	--cdr-fundo-base:       #150404; /* background geral das páginas */
	--cdr-fundo-secao:      #1C0505; /* seções alternadas, faixa das lâmpadas */
	--cdr-card-grad:        linear-gradient(180deg, #2A0808, #200606); /* cards */
	--cdr-header-grad:      linear-gradient(180deg, #2A0707, #1C0505); /* header */
	--cdr-footer-bg:        #0E0202;
	--cdr-dourado-claro:    #FFDE8A;                  /* borda dos CTAs, lâmpadas */
	--cdr-texto-claro:      #FDF6E8;                  /* títulos sobre escuro */
	--cdr-texto-suave-esc:  rgba(255, 255, 255, 0.55); /* secundários no escuro */
	--cdr-borda-ouro:       rgba(212, 160, 23, 0.4);  /* borda 1px dos cards */
	--cdr-borda-ouro-fraca: rgba(212, 160, 23, 0.3);  /* separadores */
	--cdr-sucesso:          #7FD98A;                  /* disponibilidade, check */
	--cdr-erro:             #E06060;                  /* esgotado, remover item */
	--cdr-cta-grad:         linear-gradient(180deg, #E8BE3C, #C89417); /* CTA dourado */
	--cdr-cta-glow:         0 0 34px rgba(212, 160, 23, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.5);
	--cdr-cta-glow-hover:   0 0 50px rgba(232, 190, 60, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.5);
	--cdr-tinta-escura:     #2A0707; /* texto sobre dourado */

	/* --- Neutros quentes (mármore romano) --- */
	--cdr-creme:         #F8F2E8; /* fundo geral — mármore aquecido */
	--cdr-branco:        #FFFFFF;
	--cdr-texto:         #1E0E08; /* texto principal — quase preto, tom quente */
	--cdr-texto-suave:   #6B5040; /* legendas, textos secundários */
	--cdr-borda:         #E8D8C8; /* bordas sutis — tom terracota claro */

	/* --- Tipografia ---
	   Duas variáveis controlam todo o sistema de fontes do tema.
	   Para trocar as fontes no futuro, basta alterar aqui — todos os
	   elementos herdam automaticamente.

	   --fonte-titulo → Playfair Display (Google Fonts)
	     Serifada, elegante, teatral. Usada em h1–h3, títulos de sessão,
	     nome do circo no footer e outros elementos de destaque.
	     Carregada com normal + itálico, pesos 400 e 700.

	   --fonte-corpo → Lato (Google Fonts)
	     Sem serifa, limpa e altamente legível em telas pequenas.
	     Usada no body, parágrafos, preços, botões e labels.
	     Carregada com pesos 400 e 700.

	   Ambas carregadas em functions.php com preconnect + display=swap. */
	--fonte-titulo: 'Playfair Display', Georgia, serif;
	--fonte-corpo:  'Lato', system-ui, -apple-system, sans-serif;

	/* --- Layout --- */
	--container-max: 1140px;
	--gap:           1.5rem;
	--raio:          6px;

	/* --- Transições --- */
	--trans: 0.2s ease;
}

/* ============================================================
   1b. OVERRIDE DAS VARIÁVEIS DO WOOCOMMERCE
   ============================================================
   O WooCommerce define --wc-primary em :root (especificidade 0-1-0).
   Se usarmos :root aqui, o CSS do WooCommerce (que carrega por último)
   ganha o empate de especificidade e o botão volta a ser roxo.
   Solução: declarar em `body` (especificidade 0-0-1). Embora `body` seja
   menos específico que :root, como elemento ele é FILHO do html/:root —
   então qualquer elemento dentro de body herda PRIMEIRO o valor de body
   (vizinho mais próximo), sobrepondo o valor herdado de :root.
   ============================================================ */
body {
	--woocommerce:      var(--cdr-dourado);    /* cor de destaque WC → dourado */
	--wc-primary:       var(--cdr-dourado);    /* botões primários WC → dourado */
	--wc-primary-text:  var(--cdr-roxo-profundo); /* texto sobre botão primário */
	--wc-highlight:     var(--cdr-roxo);       /* links e destaques WC → vermelho */
}

/* ============================================================
   2. RESET E BASE
   ============================================================ */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

html {
	height: 100%;
}

body {
	margin: 0;
	font-family: var(--fonte-corpo);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--cdr-texto);
	background-color: var(--cdr-creme);

	/* Sticky footer: o body ocupa a altura total da janela como coluna flex.
	   O <main class="site-content"> cresce (flex: 1) e empurra o footer
	   para o fundo — mesmo quando o conteúdo é curto. */
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* O <main> cresce para preencher o espaço disponível entre header e footer */
.site-content {
	flex: 1;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--cdr-roxo);
	text-decoration: none;
	transition: color var(--trans);
}
a:hover {
	color: var(--cdr-roxo-escuro);
}

/* ============================================================
   3. TIPOGRAFIA
   ============================================================

   Hierarquia de fontes:
     h1, h2, h3  → Playfair Display (display/título) — peso visual alto
     h4, h5, h6  → Lato (corpo) — para subtítulos e labels menores
     body, p, li → Lato (herança do body)
   ============================================================ */

/* Títulos principais — Playfair Display */
h1, h2, h3 {
	font-family: var(--fonte-titulo);
	font-weight: 700;
	line-height: 1.25;
	color: var(--cdr-roxo-profundo);
	margin-top: 0;
}

/* Subtítulos — Lato (mesmo peso visual do corpo, mas maior) */
h4, h5, h6 {
	font-family: var(--fonte-corpo);
	font-weight: 700;
	line-height: 1.3;
	color: var(--cdr-roxo-profundo);
	margin-top: 0;
}

/* ============================================================
   4. CONTAINER / LAYOUT
   ============================================================

   CONCEITO: usamos uma div.container dentro de cada seção para
   limitar a largura do conteúdo ao centro e adicionar padding
   lateral nas telas menores. */
.container {
	width: 100%;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--gap);
}

/* Páginas comuns do tema (ex.: "Sobre", "Contato") renderizadas por page.php.
   O .container já centraliza e dá padding lateral; aqui só damos respiro
   vertical para o conteúdo não colar no header/footer. */
.pagina-conteudo {
	padding-block: 3rem 4rem;
}

/* ============================================================
   5. ACESSIBILIDADE
   ============================================================ */

/* Link "pular para o conteúdo" — invisível até receber foco
   (Tab). Essencial para usuários de teclado e leitores de tela. */
.skip-link {
	position: absolute;
	top: -100%;
	left: 1rem;
	padding: 0.5rem 1rem;
	background: var(--cdr-dourado);
	color: var(--cdr-roxo-profundo);
	font-weight: 700;
	border-radius: var(--raio);
	z-index: 9999;
}
.skip-link:focus {
	top: 1rem;
}

/* ============================================================
   6. BOTÕES
   ============================================================ */
.btn {
	display: inline-block;
	padding: 0.65rem 1.5rem;
	border-radius: var(--raio);
	font-family: var(--fonte-corpo);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	border: none;
	text-align: center;
	text-decoration: none;
	transition: background-color var(--trans), color var(--trans), transform var(--trans);
}

/* Botão principal: dourado com texto roxo escuro */
.btn-primario {
	background-color: var(--cdr-dourado);
	color: var(--cdr-roxo-profundo);
}
.btn-primario:hover {
	background-color: var(--cdr-dourado-hover);
	color: var(--cdr-roxo-profundo);
	transform: translateY(-1px);
}

/* ============================================================
   7. HEADER
   ============================================================ */
.site-header {
	background-color: var(--cdr-roxo-escuro);
	position: sticky; /* fica fixo no topo ao rolar a página */
	top: 0;
	z-index: 100;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.site-header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	padding-left: 0;        /* logo rente à borda esquerda */
	position: relative;
}

/* --- Logo --- */
.site-logo {
	display: flex;
	align-items: center;
	text-decoration: none;
	flex-shrink: 0;
}
.site-header .logo-img {
	/* Seletor .site-header .logo-img (especificidade 0-2-0) bate o
	   .woocommerce img do WooCommerce (0-1-1) que forçava width:100%
	   e height:auto, tornando a logo enorme nas páginas de produto. */
	height: 72px;   /* altura fixa; largura escala proporcionalmente */
	width: auto;
	max-width: none; /* cancela o max-width:100% do reset do WC */
	display: block;
}

/* --- Nav desktop --- */
.site-nav {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

/* O WordPress gera um <ul> para o menu; zeramos o estilo de lista. */
.site-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 0.1rem;
}
.site-menu a {
	display: block;
	padding: 0.4rem 0.8rem;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.9rem;
	border-radius: var(--raio);
	transition: color var(--trans), background-color var(--trans);
}
.site-menu a:hover,
.site-menu .current-menu-item > a {
	color: var(--cdr-dourado);
	background-color: rgba(255, 255, 255, 0.07);
}

/* --- Grupo direito: ícone carrinho + CTA + hambúrguer --- */
.header-direita {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	flex-shrink: 0;
}

/* --- Botão CTA no header (desktop) --- */
.header-cta {
	flex-shrink: 0;
}

/* --- Ícone de carrinho --- */
.cdr-cart-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	border-radius: var(--raio);
	flex-shrink: 0;
	transition: color var(--trans), background-color var(--trans);
}
.cdr-cart-link:hover {
	color: var(--cdr-dourado);
	background-color: rgba(255, 255, 255, 0.08);
}
.cdr-cart-link svg {
	width: 1.25rem;
	height: 1.25rem;
	display: block;
	flex-shrink: 0;
}

/* Bolinha com o número de itens */
.cdr-cart-count {
	position: absolute;
	top: 0.1rem;
	right: 0.05rem;
	min-width: 1.1rem;
	height: 1.1rem;
	padding: 0 0.22rem;
	border-radius: 999px;
	background-color: var(--cdr-dourado);
	color: var(--cdr-roxo-profundo);
	font-size: 0.6rem;
	font-weight: 700;
	line-height: 1.1rem;
	text-align: center;
	font-family: var(--fonte-corpo);
	pointer-events: none;
	/* Aparece suave quando o contador muda */
	transition: transform 0.15s ease, opacity 0.15s ease;
}
/* Oculto quando o carrinho está vazio */
.cdr-cart-count--zero {
	opacity: 0;
	transform: scale(0.5);
	pointer-events: none;
}

/* --- Botão hambúrguer (mobile) --- */
.menu-toggle {
	display: none; /* escondido no desktop */
	background: none;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: var(--raio);
	padding: 0.35rem 0.65rem;
	cursor: pointer;
	color: white;
	font-size: 1.25rem;
	line-height: 1;
	transition: border-color var(--trans);
}
.menu-toggle:hover {
	border-color: var(--cdr-dourado);
	color: var(--cdr-dourado);
}

/* --- Mobile: comportamento do menu --- */
@media (max-width: 768px) {
	.menu-toggle {
		display: block;
	}
	.header-cta {
		display: none; /* CTA some da barra; aparece dentro do menu */
	}
	.site-nav {
		/* Menu "dropdown" saindo abaixo do header */
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background-color: var(--cdr-roxo-profundo);
		flex-direction: column;
		align-items: stretch;
		padding: 1rem var(--gap);
		gap: 0.25rem;
		display: none; /* JS adiciona .is-aberto para mostrar */
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
	}
	.site-nav.is-aberto {
		display: flex;
	}
	.site-menu {
		flex-direction: column;
		width: 100%;
	}
	.site-menu a {
		padding: 0.75rem 1rem;
		font-size: 1rem;
	}
	/* CTA visível dentro do menu mobile */
	.nav-cta-mobile {
		display: block;
		margin-top: 0.75rem;
		text-align: center;
	}
}

@media (min-width: 769px) {
	.nav-cta-mobile {
		display: none; /* só aparece no mobile */
	}
}

/* ============================================================
   8. FOOTER
   ============================================================ */
.site-footer {
	background-color: var(--cdr-roxo-profundo);
	color: rgba(255, 255, 255, 0.8);
	padding-top: 3rem;
}

/* Grid de 3 colunas no desktop, 1 coluna no mobile */
.footer-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr;
	gap: 2rem;
	padding-bottom: 2.5rem;
}
@media (max-width: 768px) {
	.footer-grid {
		grid-template-columns: 1fr;
	}
}

/* Títulos das colunas do footer */
.footer-titulo {
	font-family: var(--fonte-corpo);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cdr-dourado);
	margin: 0 0 0.85rem;
}

/* Coluna 1 — Marca */
.footer-logo-nome {
	font-family: var(--fonte-titulo);
	font-size: 1.4rem;
	color: var(--cdr-dourado);
	display: block;
	margin-bottom: 0.5rem;
	text-decoration: none;
}
.footer-descricao {
	font-size: 0.88rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.6);
	margin: 0;
}

/* Coluna 2 — Localização */
.footer-endereco p {
	margin: 0 0 0.2rem;
	font-size: 0.9rem;
}
.footer-maps-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.85rem;
	color: var(--cdr-dourado);
	font-size: 0.88rem;
	font-weight: 700;
	transition: color var(--trans);
}
.footer-maps-link:hover {
	color: var(--cdr-dourado-hover);
}

/* Coluna 3 — Redes Sociais */
.footer-social {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.footer-social a {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9rem;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	transition: color var(--trans);
	text-decoration: none;
}
.footer-social a:hover {
	color: var(--cdr-dourado);
}

/* Linha inferior do footer */
.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: 1.25rem 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.4);
}
.footer-bottom p {
	margin: 0;
}
.footer-bottom a {
	color: rgba(255, 255, 255, 0.4);
	transition: color var(--trans);
}
.footer-bottom a:hover {
	color: rgba(255, 255, 255, 0.75);
}

/* ============================================================
   9. HOME PAGE — SEÇÕES
   ============================================================ */

/* --- Hero: imagem (cartaz) --- */
.hero-visual {
	width: 100%;
	height: 65vh;        /* 65% da altura da tela — grande mas não ocupa tudo */
	min-height: 320px;   /* piso mínimo em telas pequenas */
	position: relative;
	overflow: hidden;
	line-height: 0;
}

.hero-img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;          /* preenche sem distorcer — corta bordas se precisar */
	object-position: center 68%; /* mostra coroa + título + ROMA */
}

/* Gradiente no rodapé da imagem para transição suave com a faixa abaixo. */
.hero-visual-fade {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 20%;
	background: linear-gradient( to top, var(--cdr-roxo-escuro) 0%, transparent 100% );
}

/* --- Hero: faixa de chamada para ação --- */
.hero-strip {
	background-color: var(--cdr-roxo-escuro);
	padding: 2rem 0 2.5rem;
}

.hero-strip-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

@media (max-width: 768px) {
	.hero-strip-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

.hero-strip-texto {
	flex: 1;
}

.hero-supra {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cdr-dourado);
	margin: 0 0 0.5rem;
}

.hero-titulo {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 700;
	color: white;
	margin: 0 0 0.5rem;
	line-height: 1.2;
}

.hero-descricao {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.75);
	margin: 0;
}

.hero-cta {
	flex-shrink: 0;
}

.btn-grande {
	padding: 0.9rem 2.25rem;
	font-size: 1.05rem;
}

/* --- Layout genérico das seções --- */
.secao-sessoes,
.secao-local {
	padding: 4.5rem 0;
}

.secao-setores {
	padding: 4.5rem 0;
	background-color: var(--cdr-roxo-escuro);
}

.secao-titulo {
	font-size: clamp(1.5rem, 3vw, 2rem);
	text-align: center;
	margin-bottom: 0.5rem;
}

.secao-titulo--claro {
	color: white;
}

.secao-subtitulo {
	text-align: center;
	color: var(--cdr-texto-suave);
	margin: 0 auto 2.75rem;
	max-width: 520px;
}

.secao-subtitulo--claro {
	color: rgba(255, 255, 255, 0.65);
}

/* --- Cards de sessões --- */
.sessoes-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.25rem;
}

/* Card — estilo "bilhete de ingresso" */
.sessao-card {
	background: white;
	border-radius: var(--raio);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.09);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--trans), box-shadow var(--trans);
}
.sessao-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.15);
}

/* Cabeçalho do card: data em destaque com fundo vermelho */
.sessao-data-header {
	background-color: var(--cdr-roxo-escuro);
	color: white;
	text-align: center;
	padding: 1.1rem 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.1rem;
}
.sessao-dia-semana {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--cdr-dourado);
}
.sessao-numero-dia {
	font-family: var(--fonte-titulo);
	font-size: 2.75rem;
	font-weight: 700;
	line-height: 1;
	color: white;
}
.sessao-mes-ano {
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.7);
}
/* Fallback quando não há meta de data: mostra nome do produto */
.sessao-nome-fallback {
	font-family: var(--fonte-titulo);
	font-size: 1rem;
	color: white;
	line-height: 1.3;
}

/* Corpo do card */
.sessao-card-body {
	padding: 1.1rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	flex: 1;
}
.sessao-horario {
	font-size: 1rem;
	font-weight: 700;
	color: var(--cdr-texto);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}
.sessao-preco-label {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--cdr-texto-suave);
	margin: 0;
}
.sessao-preco {
	font-size: 0.95rem;
	margin: 0;
}
/* WooCommerce injeta <span class="price"> */
.sessao-preco .price,
.sessao-preco .amount {
	color: var(--cdr-roxo-escuro);
	font-weight: 700;
}
.sessao-card-body .btn {
	margin-top: auto;
	text-align: center;
}

/* Estado vazio */
.sessoes-vazio {
	text-align: center;
	padding: 3rem;
	color: var(--cdr-texto-suave);
	background: white;
	border-radius: var(--raio);
	border: 2px dashed var(--cdr-borda);
	grid-column: 1 / -1;
}
.admin-hint {
	font-size: 0.83rem;
	color: var(--cdr-texto-suave);
	font-style: italic;
	margin-top: 0.5rem;
}

/* --- Cards de setores --- */
.setores-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	max-width: 760px;
	margin-inline: auto;
}

@media (max-width: 580px) {
	.setores-grid {
		grid-template-columns: 1fr;
	}
}

.setor-card {
	position: relative;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--raio);
	padding: 2.25rem 1.5rem 1.75rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	transition: transform var(--trans);
}

.setor-card:hover {
	transform: translateY(-3px);
}

/* Ouro: borda dourada e fundo levemente diferente */
.setor-card--ouro {
	background: rgba(212, 160, 23, 0.1);
	border-color: var(--cdr-dourado);
}

/* Badge "Premium" no topo do card Ouro */
.setor-badge {
	position: absolute;
	top: -0.8rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--cdr-dourado);
	color: var(--cdr-roxo-profundo);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.2rem 0.85rem;
	border-radius: 99px;
	white-space: nowrap;
}

.setor-icone {
	font-size: 2.5rem;
	line-height: 1;
}

.setor-nome {
	font-family: var(--fonte-titulo);
	font-size: 1.3rem;
	color: white;
	margin: 0;
}

.setor-descricao {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.6;
	margin: 0;
	flex-grow: 1;
}

/* Botão do setor Prata: contorno branco (sem preenchimento) */
.btn-setor-prata {
	display: inline-block;
	padding: 0.65rem 1.5rem;
	border-radius: var(--raio);
	font-size: 0.95rem;
	font-weight: 700;
	border: 2px solid rgba(255, 255, 255, 0.45);
	color: white;
	background: transparent;
	text-decoration: none;
	transition: border-color var(--trans), background-color var(--trans), color var(--trans);
}

.btn-setor-prata:hover {
	border-color: white;
	background: rgba(255, 255, 255, 0.1);
	color: white;
}

/* --- Seção Localização --- */
.secao-local {
	background-color: var(--cdr-creme);
}

.secao-local .secao-titulo {
	text-align: left;
}

.local-cidade {
	font-family: var(--fonte-titulo);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
	margin: 0.5rem 0 0.35rem;
}

.local-endereco {
	color: var(--cdr-texto-suave);
	font-size: 1rem;
	margin: 0 0 1.5rem;
}

/* ============================================================
   PÁGINA DE PRODUTO — SESSÃO DO CIRCO
   ============================================================

   Layout geral:
   [Banner vermelho: nome + data + horário]
   [container.sessao-corpo]
     [aside.sessao-info]    [div.sessao-form-compra]
   ============================================================ */

/* ---- Banner da sessão ---- */
.sessao-banner {
	background-color: var(--cdr-roxo-escuro);
	padding: 1.25rem 0 1rem;
	border-bottom: 4px solid var(--cdr-dourado);
}

.sessao-banner-titulo {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.6rem, 4vw, 2.4rem);
	color: var(--cdr-branco);
	margin: 0 0 1rem;
	line-height: 1.2;
}

.sessao-banner-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: center;
}

/* Chips de data e hora no banner */
.sessao-banner-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 1rem;
	border-radius: 2rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.sessao-banner-chip--data {
	background-color: rgba(255,255,255,0.12);
	color: var(--cdr-branco);
	border: 1px solid rgba(255,255,255,0.2);
}

.sessao-banner-chip--hora {
	background-color: var(--cdr-dourado);
	color: var(--cdr-roxo-profundo);
}

/* ---- Corpo: info + formulário ---- */
.sessao-corpo {
	display: grid;
	grid-template-columns: 1fr 1.6fr; /* info | formulário */
	gap: 2.5rem;
	align-items: start;
	padding-top: 2.5rem;
	padding-bottom: 3rem;
}

/* Quando não há dados de info (nenhum campo de meta preenchido), o PHP
   adiciona a classe --full e o formulário ocupa a largura total. */
.sessao-corpo--full {
	grid-template-columns: 1fr;
	max-width: 44rem; /* limita a largura para o formulário não ficar esticado demais */
}

/* No mobile: empilha o formulário acima das informações */
@media (max-width: 700px) {
	.sessao-corpo {
		grid-template-columns: 1fr;
	}
	.sessao-info {
		order: 2;
	}
	.sessao-form-compra {
		order: 1;
	}
}

/* ---- Card de informações da sessão (coluna esquerda) ---- */
.sessao-info-card {
	background-color: var(--cdr-branco);
	border: 1px solid var(--cdr-borda);
	border-radius: var(--raio);
	padding: 1.5rem;
}

.sessao-info-titulo {
	font-family: var(--fonte-titulo);
	font-size: 1rem;
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
	margin: 0 0 1.2rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--cdr-borda);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.sessao-info-item {
	display: flex;
	gap: 0.9rem;
	align-items: flex-start;
	margin-bottom: 1.1rem;
}

.sessao-info-icone {
	font-size: 1.2rem;
	flex-shrink: 0;
	margin-top: 0.1rem;
}

.sessao-info-rotulo {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	color: var(--cdr-texto);
}

.sessao-info-label {
	display: block;
	font-size: 0.85rem;
	color: var(--cdr-texto-suave);
	margin-top: 0.15rem;
}

.sessao-maps-link {
	display: inline-block;
	margin-top: 0.4rem;
	font-size: 0.85rem;
	color: var(--cdr-roxo);
	font-weight: 700;
	text-decoration: none;
}

.sessao-maps-link:hover {
	text-decoration: underline;
}

/* ---- Formulário de compra (coluna direita) ---- */
.sessao-form-compra {
	background-color: var(--cdr-branco);
	border: 1px solid var(--cdr-borda);
	border-radius: var(--raio);
	padding: 2rem;
}

/* ---- Grupos de variação (Setor / Tipo) ---- */
.cdr-var-grupo {
	margin-bottom: 2rem;
}

/* Rótulo do grupo: "Setor" ou "Tipo de ingresso" */
.cdr-var-label {
	font-family: var(--fonte-titulo);
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 0.8rem;
}

/* Container dos botões */
.cdr-var-opcoes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
}

/* ---- Botão de variação (label estilizado) ---- */
.cdr-var-btn {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 7rem;
	padding: 0.9rem 1.2rem 0.8rem;
	border: 2px solid var(--cdr-borda);
	border-radius: var(--raio);
	background-color: var(--cdr-branco);
	cursor: pointer;
	transition: border-color var(--trans), background-color var(--trans), box-shadow var(--trans);
	user-select: none;
	text-align: center;
}

.cdr-var-btn:hover {
	border-color: var(--cdr-roxo);
}

/* Estado ativo (selecionado) */
.cdr-var-btn.is-ativo {
	border-color: var(--cdr-roxo);
	background-color: #FDF0F0; /* vermelho muito claro */
	box-shadow: 0 0 0 3px rgba(160, 32, 32, 0.15);
}

/* Variação Ouro: estilo dourado */
.cdr-var-btn--ouro {
	border-color: #C8981A;
}

.cdr-var-btn--ouro:hover {
	border-color: var(--cdr-dourado-hover);
	background-color: #FFFBF0;
}

.cdr-var-btn--ouro.is-ativo {
	border-color: var(--cdr-dourado);
	background-color: #FFFBF0;
	box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.25);
}

/* Badge "★ Premium" dentro do botão Ouro */
.cdr-var-badge {
	display: block;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--cdr-dourado-hover);
	margin-bottom: 0.25rem;
}

/* Nome da opção dentro do botão */
.cdr-var-nome {
	font-size: 1rem;
	font-weight: 700;
	color: var(--cdr-texto);
}

/* Esconde o radio button de verdade — só o label é visível */
.cdr-var-radio {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

/* Select oculto — usado pelo WooCommerce JS, não pelo usuário */
.cdr-select-oculto {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

/* Wrapper .variations obrigatório para a delegação jQuery do WooCommerce.
   O wc-add-to-cart-variation.js escuta: $form.on('change', '.variations select').
   O select precisa ser descendente de .variations para o evento ser capturado.
   Posicionamos absolute para retirar do fluxo sem sumir do DOM. */
.cdr-var-grupo .variations {
	position: absolute;
	overflow: hidden;
	pointer-events: none;
	width: 0;
	height: 0;
}

/* Link "Limpar seleção" */
.cdr-reset-link {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.8rem;
	color: var(--cdr-texto-suave);
	text-decoration: underline;
}

/* ---- Área de preço dinâmico (WooCommerce injeta aqui) ---- */

/* Caixa que aparece com o preço da variação escolhida */
.single_variation_wrap .woocommerce-variation {
	margin: 1.5rem 0 1rem;
}

.single_variation_wrap .woocommerce-variation-price {
	padding: 1rem 1.2rem;
	background-color: var(--cdr-creme);
	border-radius: var(--raio);
	margin-bottom: 1rem;
}

.single_variation_wrap .woocommerce-variation-price .price {
	font-family: var(--fonte-corpo); /* Lato — preços usam a fonte de texto */
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
}

.single_variation_wrap .woocommerce-variation-price .price ins {
	text-decoration: none;
}

/* Preços em qualquer contexto WooCommerce → sempre Lato.
   O body já usa Lato por herança, mas sendo explícito aqui garantimos que
   nenhum reset de plugin quebre a tipografia de preço. */
.woocommerce .price,
.woocommerce-page .price,
.woocommerce .woocommerce-Price-amount,
.woocommerce-page .woocommerce-Price-amount {
	font-family: var(--fonte-corpo);
	font-weight: 700;
}

/* Aviso de disponibilidade de estoque */
.single_variation_wrap .woocommerce-variation-availability .stock {
	font-size: 0.85rem;
	font-weight: 700;
	padding: 0.4rem 0.8rem;
	border-radius: var(--raio);
}

.single_variation_wrap .in-stock {
	color: #166534;
	background-color: #DCFCE7;
}

.single_variation_wrap .out-of-stock {
	color: #991B1B;
	background-color: #FEE2E2;
}

/* ---- Linha de quantidade + botão Comprar ---- */
.woocommerce-variation-add-to-cart {
	display: flex;
	gap: 1rem;
	align-items: center;
	flex-wrap: wrap;
}

/* Input de quantidade */
.woocommerce-variation-add-to-cart .quantity {
	display: flex;
	align-items: center;
}

.woocommerce-variation-add-to-cart input.qty {
	width: 4rem;
	height: 3.2rem;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 700;
	border: 2px solid var(--cdr-borda);
	border-radius: var(--raio);
	color: var(--cdr-texto);
	background: var(--cdr-branco);
	-moz-appearance: textfield; /* Firefox: remove setas */
}

.woocommerce-variation-add-to-cart input.qty::-webkit-outer-spin-button,
.woocommerce-variation-add-to-cart input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none; /* Chrome/Safari: remove setas */
}

/* Botão principal "Comprar"
   O WooCommerce usa ".woocommerce button.button.alt" (especificidade 0-3-1).
   Nosso seletor abaixo tem especificidade 0-3-2 (vence por 1 ponto) e ainda
   usa !important nas cores para eliminar qualquer dúvida sobre a cascata. */
body.woocommerce button.single_add_to_cart_button.button,
body.woocommerce-page button.single_add_to_cart_button.button {
	flex: 1;
	min-width: 10rem;
	padding: 0.9rem 1.5rem;
	background-color: var(--cdr-dourado) !important;
	color: var(--cdr-roxo-profundo) !important;
	border: none;
	border-radius: var(--raio);
	font-family: var(--fonte-corpo);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: background-color var(--trans), transform var(--trans);
	text-align: center;
	display: block;
}

body.woocommerce button.single_add_to_cart_button.button:hover,
body.woocommerce-page button.single_add_to_cart_button.button:hover {
	background-color: var(--cdr-dourado-hover) !important;
	color: var(--cdr-roxo-profundo) !important;
	transform: translateY(-1px);
}

body.woocommerce button.single_add_to_cart_button.button:active,
body.woocommerce-page button.single_add_to_cart_button.button:active {
	transform: translateY(0);
}

/* Estado desabilitado — quando nenhuma variação foi selecionada ainda */
body.woocommerce button.single_add_to_cart_button.button.disabled,
body.woocommerce button.single_add_to_cart_button.button:disabled,
body.woocommerce-page button.single_add_to_cart_button.button.disabled,
body.woocommerce-page button.single_add_to_cart_button.button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
}

/* Aviso de produto esgotado */
.cdr-esgotado {
	padding: 1rem 1.2rem;
	background-color: #FEE2E2;
	color: #991B1B;
	border-radius: var(--raio);
	font-weight: 700;
}

/* ---- Aba "Informações adicionais" — atributos do produto ----
   O WooCommerce gera uma <table> com os atributos (Setor, Tipo).
   Estilizamos para combinar com a identidade visual do circo. */

/* Wrapper das abas — espaçamento acima */
.woocommerce-tabs {
	margin-top: 3rem;
}

/* Lista de abas (as "orelhas" clicáveis) */
.woocommerce-tabs .tabs {
	display: flex;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--cdr-borda);
}

/* Cada aba */
.woocommerce-tabs .tabs li {
	margin: 0;
}

.woocommerce-tabs .tabs a {
	display: block;
	padding: 0.65rem 1.4rem;
	background-color: transparent;
	border: none;
	color: var(--cdr-texto-suave);
	font-family: var(--fonte-corpo);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: color var(--trans);
	position: relative;
}

.woocommerce-tabs .tabs a:hover {
	color: var(--cdr-roxo);
}

/* Aba ativa: indicador vermelho embaixo via pseudo-elemento.
   Evita bordas em U que deixam o visual pesado. */
.woocommerce-tabs .tabs li.active a {
	color: var(--cdr-roxo);
}

.woocommerce-tabs .tabs li.active a::after {
	content: '';
	position: absolute;
	bottom: -1px; /* sobrepõe a borda do .tabs para ficar contíguo */
	left: 0;
	right: 0;
	height: 2px;
	background-color: var(--cdr-roxo);
}

/* Painel de conteúdo de cada aba */
.woocommerce-tabs .panel {
	padding: 1.75rem;
	background-color: var(--cdr-branco);
	border: 1px solid var(--cdr-borda);
	border-top: none;
	border-radius: 0 0 var(--raio) var(--raio);
}

/* Título dentro do painel (WooCommerce insere um <h2> com o nome da aba) */
.woocommerce-tabs .panel h2 {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--cdr-roxo-escuro);
	margin: 0 0 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--cdr-borda);
}

/* Tabela de atributos (Setor: Prata | Ouro; Tipo: Inteira | Meia…) */
.woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
	padding: 0.7rem 1rem;
	text-align: left;
	border-bottom: 1px solid var(--cdr-borda);
	font-size: 0.95rem;
	vertical-align: top;
}

/* Cabeçalho da linha (nome do atributo: Setor, Tipo) */
.woocommerce-product-attributes th {
	font-family: var(--fonte-corpo);
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
	width: 35%;
	background-color: var(--cdr-creme);
}

/* Valor do atributo (Prata, Ouro | Inteira, Meia, Infantil) */
.woocommerce-product-attributes td p {
	margin: 0;
	color: var(--cdr-texto);
}

/* ---- Aba "Detalhes" customizada ---- */
.cdr-tab-detalhes {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.cdr-tab-detalhes li {
	display: flex;
	align-items: baseline;
	gap: 0.7rem;
	font-size: 0.95rem;
	color: var(--cdr-texto);
}

.cdr-td-icone {
	font-size: 1.1rem;
	flex-shrink: 0;
}

.cdr-td-texto strong {
	color: var(--cdr-roxo-profundo);
}

.cdr-td-texto a {
	color: var(--cdr-roxo);
	margin-left: 0.5rem;
	font-size: 0.85rem;
}

/* ---- Breadcrumb do WooCommerce ---- */
.woocommerce-breadcrumb {
	font-size: 0.85rem;
	color: var(--cdr-texto-suave);
	padding: 1rem 0 0;
}

.woocommerce-breadcrumb a {
	color: var(--cdr-roxo);
	text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
	text-decoration: underline;
}

/* ============================================================
   PÁGINAS DE LOJA — WooCommerce sem sidebar
   ============================================================

   O wrapper .wc-pagina é gerado por nosso woocommerce.php.
   A sidebar foi removida via remove_action em functions.php.
   ============================================================ */

/* Espaçamento para todas as páginas WooCommerce.
   O padding-inline aqui (não no .container interno) garante que o conteúdo
   nunca toque as bordas da tela, independente de overrides do WooCommerce. */
.wc-pagina {
	padding: 2rem var(--gap) 4rem;
	min-height: 50vh;
}

/* Cancela o padding-inline do .container direto dentro de .wc-pagina
   para evitar espaçamento duplo (o pai já provê o espaçamento lateral). */
.wc-pagina > .container {
	padding-inline: 0;
}

/* ---- Botões do WooCommerce — override global da cor roxa padrão ----
   O WooCommerce define seus botões como roxo/lilás (#7f54b3) via:
     .woocommerce a.button.alt  (especificidade 0-2-0)
     .woocommerce button.button.alt (especificidade 0-2-1)
   Nosso prefixo body.woocommerce eleva nossa especificidade para garantir
   que nossos estilos dourados sempre ganhem, independente da ordem de CSS. */

body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce a.button.alt,
body.woocommerce button.button.alt,
body.woocommerce #respond input#submit,
body.woocommerce #respond input#submit.alt,
body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page a.button.alt,
body.woocommerce-page button.button.alt {
	background-color: var(--cdr-dourado);
	color: var(--cdr-roxo-profundo);
	font-family: var(--fonte-corpo);
	font-weight: 700;
	border-radius: var(--raio);
	border: none;
	padding: 0.65rem 1.4rem;
	cursor: pointer;
	transition: background-color var(--trans), transform var(--trans);
	text-decoration: none;
}

body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce a.button.alt:hover,
body.woocommerce button.button.alt:hover,
body.woocommerce-page a.button:hover,
body.woocommerce-page button.button:hover,
body.woocommerce-page a.button.alt:hover,
body.woocommerce-page button.button.alt:hover {
	background-color: var(--cdr-dourado-hover);
	color: var(--cdr-roxo-profundo);
	transform: translateY(-1px);
}

/* ---- Grade de produtos (página da loja) ---- */

/* Título da loja ("Shop" / "Loja") */
.woocommerce-products-header__title.page-title,
.woocommerce-loop-product__title,
h1.woocommerce-page-title {
	font-family: var(--fonte-titulo);
	color: var(--cdr-roxo-profundo);
}

/* Contador de resultados e ordenação */
.woocommerce-result-count {
	font-size: 0.85rem;
	color: var(--cdr-texto-suave);
	margin: 0.5rem 0 1rem;
}

.woocommerce-ordering select {
	border: 1px solid var(--cdr-borda);
	border-radius: var(--raio);
	padding: 0.4rem 0.8rem;
	font-family: var(--fonte-corpo);
	font-size: 0.875rem;
	color: var(--cdr-texto);
	background-color: var(--cdr-branco);
}

/* ---- Grade de produtos — ul.products e li.product ----

   PROBLEMA: O WooCommerce define seu próprio layout via floats:
     .woocommerce ul.products li.product { float: left; width: 22.05%; }  → especificidade 0-3-2
   O nosso prefixo "body." eleva para 0-3-3 e garante que nosso CSS ganhe
   independente da ordem de carregamento.

   ESTRATÉGIA: Flexbox no ul (derruba os floats do WC) + largura explícita
   no li (derruba o width: 22.05% do WC). */

/* Contentor da grade: flexbox com quebra de linha */
body.woocommerce ul.products,
body.woocommerce-page ul.products {
	display: flex !important;   /* !important como segurança extra contra WC */
	flex-wrap: wrap;
	gap: 1.5rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	clear: both;
}

/* Remove o pseudo-elemento clearfix que o WC adiciona (desnecessário no flex) */
body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after {
	display: none;
}

/* Card individual — 3 colunas no desktop
   calc(33.333% - 1rem): divide a linha em 3 descontando 2/3 do gap (1.5rem × 2 ÷ 3) */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
	float: none !important;           /* cancela o float: left do WooCommerce */
	width: calc(33.333% - 1rem) !important; /* cancela o width: 22.05% do WooCommerce */
	margin: 0 !important;             /* cancela margin-right do WooCommerce */
	box-sizing: border-box;
	background-color: var(--cdr-branco);
	border: 1px solid var(--cdr-borda);
	border-radius: var(--raio);
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	transition: box-shadow var(--trans);
}

body.woocommerce ul.products li.product:hover,
body.woocommerce-page ul.products li.product:hover {
	box-shadow: 0 4px 16px rgba(61, 8, 8, 0.12);
}

/* Tablet: 2 colunas */
@media (max-width: 900px) {
	body.woocommerce ul.products li.product,
	body.woocommerce-page ul.products li.product {
		width: calc(50% - 0.75rem) !important;
	}
}

/* Mobile: 1 coluna */
@media (max-width: 600px) {
	body.woocommerce ul.products li.product,
	body.woocommerce-page ul.products li.product {
		width: 100% !important;
	}
}

/* Imagem do produto no card */
body.woocommerce ul.products li.product img,
body.woocommerce-page ul.products li.product img {
	width: 100%;
	height: auto;
	border-radius: calc(var(--raio) - 2px);
}

/* Nome do produto (sessão) no card */
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--fonte-titulo);
	font-size: 1rem;
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
	margin: 0;
	word-break: normal;    /* evita quebrar palavra por palavra */
	overflow-wrap: anywhere;
}

/* Preço no card */
body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price {
	font-size: 0.9rem;
	color: var(--cdr-texto-suave);
}

body.woocommerce ul.products li.product .price .amount,
body.woocommerce-page ul.products li.product .price .amount {
	font-weight: 700;
	color: var(--cdr-roxo);
}

/* Botão "Ver opções" / "Comprar" no card — empurra para baixo do card */
body.woocommerce ul.products li.product .button,
body.woocommerce-page ul.products li.product .button {
	margin-top: auto;
	display: block;
	text-align: center;
	width: 100%;
}

/* ---- Mensagens de notificação do WooCommerce ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 1rem 1.25rem;
	border-radius: var(--raio);
	margin-bottom: 1.5rem;
	font-size: 0.95rem;
	font-weight: 500;
	list-style: none;
}

/* O WooCommerce insere um ícone via ::before com position: absolute.
   Nosso padding não reserva espaço para ele, então sobrepõe o texto.
   Ocultamos o ::before — a borda colorida à esquerda já indica o tipo. */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none !important;
}

.woocommerce-message {
	background-color: #DCFCE7;
	color: #166534;
	border-left: 4px solid #16a34a;
}

.woocommerce-info {
	background-color: #EFF6FF;
	color: #1e40af;
	border-left: 4px solid #3b82f6;
}

.woocommerce-error {
	background-color: #FEE2E2;
	color: #991B1B;
	border-left: 4px solid #dc2626;
}

/* Botão dentro da mensagem (ex: "Ver carrinho" após adicionar ingresso) */
.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	margin-left: 1rem;
	font-size: 0.85rem;
	padding: 0.4rem 1rem;
}

/* ============================================================
   CARRINHO (Cart)
   ============================================================

   Nosso cart.php remove a coluna de thumbnail e o campo de cupom.
   O layout é uma tabela responsiva: no desktop mostra colunas;
   no mobile empilha cada campo com rótulo (via data-title + ::before).
   ============================================================ */

/* ---- Página do carrinho: padding lateral e topo ----
   Espelha o mesmo tratamento dado ao checkout (abaixo, seção 10c).
   padding-inline garante que o conteúdo nunca toque as bordas. */
.woocommerce-cart .wc-pagina {
	padding-top: 2.5rem;
	padding-inline: clamp(1.5rem, 8vw, 5rem);
}

/* ---- Bloco Gutenberg de Carrinho (WC 8+): impede expansão borda a borda ----
   Enquanto a migração para shortcode clássico não ocorre (requer visita ao
   painel), o bloco usa alignfull com margin negativo que ignora qualquer
   padding do container pai. Anulamos esse efeito aqui. */
.wp-block-woocommerce-cart.alignfull,
.wp-block-woocommerce-cart {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Título da página carrinho */
.woocommerce-cart h1.page-title,
.woocommerce-cart h1.woocommerce-page-title {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--cdr-roxo-profundo);
	margin-bottom: 2rem;
}

/* ---- Tabela do carrinho ---- */
.woocommerce-cart-form .shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2rem;
}

/* Cabeçalho da tabela */
.woocommerce-cart-form thead th {
	padding: 0.75rem 1rem;
	font-family: var(--fonte-corpo);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cdr-texto-suave);
	border-bottom: 2px solid var(--cdr-borda);
	text-align: left;
	background: transparent;
}

.woocommerce-cart-form thead .product-price,
.woocommerce-cart-form thead .product-quantity,
.woocommerce-cart-form thead .product-subtotal {
	text-align: right;
}

/* Células das linhas de produto */
.woocommerce-cart-form tbody td {
	padding: 1.2rem 1rem;
	border-bottom: 1px solid var(--cdr-borda);
	vertical-align: middle;
}

/* Botão × de remover */
.woocommerce-cart-form .product-remove a.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: var(--cdr-borda);
	color: var(--cdr-texto-suave) !important;
	font-size: 1.1rem;
	line-height: 1;
	text-decoration: none;
	transition: background-color var(--trans), color var(--trans);
}

.woocommerce-cart-form .product-remove a.remove:hover {
	background-color: #FEE2E2;
	color: #991B1B !important;
}

/* Nome do ingresso */
.cdr-cart-nome {
	display: block;
	font-family: var(--fonte-titulo);
	font-size: 1rem;
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
	text-decoration: none;
	margin-bottom: 0.3rem;
}

.cdr-cart-nome:hover {
	color: var(--cdr-roxo);
}

/* Variações: Setor / Tipo — geradas por wc_get_formatted_cart_item_data() */
.woocommerce-cart-form .product-name .variation {
	margin: 0.35rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 0.8rem;
}

.woocommerce-cart-form .product-name .variation dt {
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--cdr-roxo);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0;
}

.woocommerce-cart-form .product-name .variation dd {
	font-size: 0.8rem;
	color: var(--cdr-texto);
	margin: 0;
}

/* Colunas de preço e subtotal */
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal {
	text-align: right;
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
}

.woocommerce-cart-form .product-subtotal {
	font-size: 1.05rem;
}

/* Input de quantidade */
.woocommerce-cart-form .product-quantity {
	text-align: right;
}

.woocommerce-cart-form .product-quantity .qty {
	width: 4.5rem;
	padding: 0.4rem 0.5rem;
	border: 1px solid var(--cdr-borda);
	border-radius: var(--raio);
	font-family: var(--fonte-corpo);
	font-size: 0.95rem;
	font-weight: 700;
	text-align: center;
	color: var(--cdr-texto);
	background-color: var(--cdr-branco);
}

/* Linha de ações (atualizar carrinho) */
.woocommerce-cart-form td.actions {
	padding: 1rem;
	border-bottom: none;
}

.cdr-btn-atualizar {
	background: transparent !important;
	color: var(--cdr-texto-suave) !important;
	border: 1px solid var(--cdr-borda) !important;
	font-size: 0.85rem !important;
	padding: 0.45rem 1rem !important;
	transition: border-color var(--trans), color var(--trans) !important;
}

.cdr-btn-atualizar:hover {
	color: var(--cdr-roxo-profundo) !important;
	border-color: var(--cdr-roxo-profundo) !important;
	background: transparent !important;
	transform: none !important;
}

/* ---- Totais do carrinho ---- */

/* O WooCommerce coloca os totais dentro de .cart-collaterals.
   Garantimos que o box de totais fique alinhado à direita. */
.cart-collaterals {
	display: flex;
	justify-content: flex-end;
}

.cart_totals {
	width: 100%;
	max-width: 26rem;
	background-color: var(--cdr-branco);
	border: 1px solid var(--cdr-borda);
	border-radius: var(--raio);
	padding: 1.5rem;
}

.cart_totals h2 {
	font-family: var(--fonte-titulo);
	font-size: 1.2rem;
	color: var(--cdr-roxo-profundo);
	margin: 0 0 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--cdr-borda);
}

.cart_totals .shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.25rem;
}

.cart_totals .shop_table tr th,
.cart_totals .shop_table tr td {
	padding: 0.6rem 0;
	text-align: left;
	font-size: 0.95rem;
	border: none;
	background: transparent;
}

.cart_totals .shop_table tr td {
	text-align: right;
	font-weight: 700;
}

/* Linha de Total — destaque visual */
.cart_totals .order-total th,
.cart_totals .order-total td {
	padding-top: 0.85rem;
	border-top: 2px solid var(--cdr-borda);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
}

.cart_totals .order-total td .woocommerce-Price-amount {
	font-family: var(--fonte-corpo);
	font-size: 1.4rem;
	color: var(--cdr-roxo);
}

/* ---- Botão "Finalizar compra" ---- */
.wc-proceed-to-checkout {
	margin-top: 0.5rem;
}

.wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	padding: 1rem 1.5rem;
	background-color: var(--cdr-roxo) !important;
	color: var(--cdr-branco) !important;
	font-family: var(--fonte-corpo);
	font-size: 1.05rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	border-radius: var(--raio);
	border: none;
	cursor: pointer;
	transition: background-color var(--trans), transform var(--trans);
	letter-spacing: 0.03em;
}

.wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--cdr-roxo-escuro) !important;
	color: var(--cdr-branco) !important;
	transform: translateY(-1px);
}

/* Nota de segurança opcional abaixo do botão */
.wc-proceed-to-checkout::after {
	content: '🔒 Pagamento 100% seguro';
	display: block;
	text-align: center;
	font-size: 0.78rem;
	color: var(--cdr-texto-suave);
	margin-top: 0.6rem;
}

/* ---- Carrinho vazio ---- */
.cart-empty.woocommerce-info {
	text-align: center;
	padding: 2.5rem;
}

.return-to-shop {
	text-align: center;
	margin-top: 1rem;
}

/* ---- Responsivo do carrinho ---- */
@media (max-width: 680px) {
	/* WC transforma a tabela em lista com rótulos via data-title + ::before */
	.woocommerce-cart-form .shop_table thead {
		display: none;
	}

	.woocommerce-cart-form .shop_table tbody td {
		display: block;
		text-align: right;
		padding: 0.6rem 1rem;
		border-bottom: none;
	}

	.woocommerce-cart-form .shop_table tbody td::before {
		content: attr(data-title) ': ';
		float: left;
		font-weight: 700;
		font-size: 0.82rem;
		color: var(--cdr-texto-suave);
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}

	.woocommerce-cart-form .shop_table tbody tr {
		display: block;
		border: 1px solid var(--cdr-borda);
		border-radius: var(--raio);
		margin-bottom: 1rem;
		padding: 0.5rem 0;
	}

	.woocommerce-cart-form .product-name::before {
		display: none; /* nome já visível, não precisa de rótulo */
	}

	.woocommerce-cart-form .product-name,
	.woocommerce-cart-form .product-remove {
		text-align: left;
	}

	.cart-collaterals {
		justify-content: center;
	}

	.cart_totals {
		max-width: 100%;
	}
}

/* ============================================================
   CHECKOUT
   ============================================================

   Layout de dois colunas:
     Esquerda (mais estreita): "Seus dados" — nome, e-mail, telefone
     Direita (mais larga):     "Resumo do pedido" — itens + pagamento

   A coluna direita é sticky em desktop para que o cliente sempre
   veja o total e o botão "Confirmar" enquanto preenche os dados.
   ============================================================ */

.woocommerce-checkout .wc-pagina {
	padding-top: 2.5rem;
	/* Afasta o conteúdo das bordas da tela. clamp() garante mínimo de 1.5rem
	   em telas pequenas, mas usa 8% da largura em telas grandes. */
	padding-inline: clamp(1.5rem, 8vw, 5rem);
}

/* ---- Bloco Gutenberg de Checkout (WC 8+): impede expansão borda a borda ----
   O bloco usa alignfull que aplica margin negativo para sair do container.
   Anulamos esse comportamento enquanto a migração para shortcode não ocorre. */
.wp-block-woocommerce-checkout.alignfull,
.wp-block-woocommerce-checkout {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Título da página "Checkout" gerado pelo WP dentro do bloco */
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--cdr-roxo-profundo);
	margin: 0 0 1.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 3px solid var(--cdr-dourado);
}

/* ---- Grid principal ---- */
.cdr-checkout-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: start;
}

/* Título de cada coluna */
.cdr-checkout-titulo {
	font-family: var(--fonte-titulo);
	font-size: 1.4rem;
	color: var(--cdr-roxo-profundo);
	margin: 0 0 1.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--cdr-dourado);
}

/* Oculta o h3 que form-billing.php insere (temos nosso próprio h2) */
.cdr-checkout-esquerda .woocommerce-billing-fields > h3 {
	display: none;
}

/* Sticky na coluna direita (mantém o resumo + botão visível ao rolar) */
.cdr-checkout-direita {
	position: sticky;
	top: 1.5rem;
}

/* ---- Formulário de dados do comprador ---- */

/* Cada campo (row) */
.woocommerce-checkout .form-row {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-bottom: 1.1rem;
}

/* Dois campos lado a lado (nome + sobrenome) */
.woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1rem;
}

/* Nome e sobrenome ficam na mesma linha; e-mail e telefone ocupam linha inteira */
.woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-billing-fields__field-wrapper .form-row-last {
	grid-column: span 1;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide {
	grid-column: 1 / -1;
}

/* Label */
.woocommerce-checkout label {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--cdr-texto-suave);
}

/* Indicador de campo obrigatório (*) */
.woocommerce-checkout .required {
	color: var(--cdr-roxo);
	font-weight: 700;
}

/* Inputs de texto */
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"] {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1.5px solid var(--cdr-borda);
	border-radius: var(--raio);
	font-family: var(--fonte-corpo);
	font-size: 1rem;
	color: var(--cdr-texto);
	background-color: var(--cdr-branco);
	transition: border-color var(--trans);
	box-sizing: border-box;
}

.woocommerce-checkout .input-text:focus,
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus {
	outline: none;
	border-color: var(--cdr-roxo);
	box-shadow: 0 0 0 3px rgba(160, 32, 32, 0.1);
}

/* Campo com erro */
.woocommerce-checkout .woocommerce-invalid .input-text {
	border-color: #dc2626;
}

.woocommerce-checkout .woocommerce-validated .input-text {
	border-color: #16a34a;
}

/* Mensagem de erro abaixo do campo */
.woocommerce-checkout .woocommerce-error {
	font-size: 0.82rem;
	padding: 0.5rem 0.75rem;
}

/* ---- Resumo do pedido (coluna direita) ---- */

.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.25rem;
	background-color: var(--cdr-branco);
	border: 1px solid var(--cdr-borda);
	border-radius: var(--raio);
	overflow: hidden;
}

.woocommerce-checkout-review-order-table thead th {
	padding: 0.75rem 1rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cdr-texto-suave);
	background-color: var(--cdr-creme);
	border-bottom: 1px solid var(--cdr-borda);
	text-align: left;
}

.woocommerce-checkout-review-order-table thead .product-total {
	text-align: right;
}

.woocommerce-checkout-review-order-table tbody td {
	padding: 1rem;
	border-bottom: 1px solid var(--cdr-borda);
	font-size: 0.95rem;
	vertical-align: top;
}

.woocommerce-checkout-review-order-table tbody .product-name {
	color: var(--cdr-roxo-profundo);
	font-weight: 600;
}

/* Variações: Setor / Tipo no resumo */
.woocommerce-checkout-review-order-table .variation {
	margin: 0.3rem 0 0;
}

.woocommerce-checkout-review-order-table .variation dt,
.woocommerce-checkout-review-order-table .variation dd {
	font-size: 0.8rem;
	display: inline;
}

.woocommerce-checkout-review-order-table .variation dt {
	font-weight: 700;
	color: var(--cdr-roxo);
}

.woocommerce-checkout-review-order-table .variation dd::after {
	content: ' ';
}

/* Quantidade (×2) */
.woocommerce-checkout-review-order-table .product-quantity {
	color: var(--cdr-roxo);
	font-size: 0.85rem;
}

.woocommerce-checkout-review-order-table .product-total {
	text-align: right;
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
}

/* tfoot: subtotal + total */
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
	padding: 0.6rem 1rem;
	font-size: 0.9rem;
	border-bottom: 1px solid var(--cdr-borda);
	background: transparent;
}

.woocommerce-checkout-review-order-table tfoot tr td {
	text-align: right;
	font-weight: 700;
}

/* Linha de total: destaque */
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	font-size: 1.05rem;
	color: var(--cdr-roxo-profundo);
	border-bottom: none;
	padding-top: 0.85rem;
}

.woocommerce-checkout-review-order-table tfoot .order-total td .woocommerce-Price-amount {
	font-size: 1.25rem;
	color: var(--cdr-roxo);
}

/* ---- Seção de pagamento ---- */

#payment {
	background-color: var(--cdr-branco);
	border: 1px solid var(--cdr-borda);
	border-radius: var(--raio);
	overflow: hidden;
}

/* Lista de métodos de pagamento */
#payment ul.payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--cdr-borda);
}

#payment ul.payment_methods li {
	padding: 0.9rem 1.25rem;
	border-bottom: 1px solid var(--cdr-borda);
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.95rem;
	cursor: pointer;
}

#payment ul.payment_methods li:last-child {
	border-bottom: none;
}

#payment ul.payment_methods li label {
	font-weight: 600;
	color: var(--cdr-texto);
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.95rem;
}

#payment ul.payment_methods li input[type="radio"] {
	accent-color: var(--cdr-roxo);
}

/* Descrição/formulário do método de pagamento */
.payment_box {
	padding: 1rem 1.25rem;
	background-color: var(--cdr-creme);
	font-size: 0.9rem;
	color: var(--cdr-texto-suave);
	border-bottom: 1px solid var(--cdr-borda);
}

/* Termos e condições */
.woocommerce-terms-and-conditions-wrapper {
	padding: 0.9rem 1.25rem;
	font-size: 0.85rem;
	color: var(--cdr-texto-suave);
}

/* Área do botão "Confirmar pedido" */
#payment .place-order {
	padding: 1.25rem;
}

/* Botão de confirmar — mais importante da jornada */
#place_order {
	display: block !important;
	width: 100% !important;
	padding: 1rem 1.5rem !important;
	background-color: var(--cdr-roxo) !important;
	color: var(--cdr-branco) !important;
	font-family: var(--fonte-corpo) !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	text-align: center !important;
	border: none !important;
	border-radius: var(--raio) !important;
	cursor: pointer !important;
	letter-spacing: 0.03em !important;
	transition: background-color var(--trans), transform var(--trans) !important;
}

#place_order:hover {
	background-color: var(--cdr-roxo-escuro) !important;
	transform: translateY(-1px) !important;
}

/* Spinner de carregamento durante envio do pedido */
.blockOverlay {
	background: rgba(255, 255, 255, 0.8) !important;
}

/* ---- Página de confirmação (Thank You) ---- */

.woocommerce-order-received .entry-title,
.woocommerce-order-received h1.page-title {
	font-family: var(--fonte-titulo);
	color: var(--cdr-roxo-profundo);
}

.woocommerce-thankyou-order-received {
	padding: 1.25rem;
	background-color: #DCFCE7;
	color: #166534;
	border-left: 4px solid #16a34a;
	border-radius: var(--raio);
	font-weight: 700;
	margin-bottom: 2rem;
}

.woocommerce-order-details table.woocommerce-table,
.woocommerce-customer-details .addresses .woocommerce-column__title {
	font-family: var(--fonte-titulo);
	color: var(--cdr-roxo-profundo);
}

/* ---- Responsivo do checkout ---- */

@media (max-width: 860px) {
	.cdr-checkout-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	/* Em mobile: dados do comprador primeiro, resumo abaixo */
	.cdr-checkout-esquerda { order: 1; }
	.cdr-checkout-direita  { order: 2; position: static; }

	.woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.woocommerce-billing-fields__field-wrapper .form-row-first,
	.woocommerce-billing-fields__field-wrapper .form-row-last {
		grid-column: 1 / -1;
	}
}

/* ============================================================
   10. REFINAMENTO VISUAL
   ============================================================

   Melhorias de design aplicadas como overrides no final do
   arquivo para não afetar a estrutura já existente.
   Objetivos:
     – Hero com mais impacto e dramaticidade
     – Títulos de seção com ornamento dourado
     – Cards com mais personalidade e caráter
     – Setor Ouro com brilho premium
     – Detalhes de acabamento (footer, separadores, espaço)
   ============================================================ */

/* ---- Hero: imagem mais alta e fade mais dramático ---- */
.hero-visual {
	height: 78vh;
}

.hero-visual-fade {
	height: 55%;
	background: linear-gradient(
		to top,
		var(--cdr-roxo-escuro) 0%,
		rgba(107, 16, 16, 0.55) 50%,
		transparent 100%
	);
}

/* ---- Hero strip: gradiente rico com brilhos laterais ---- */
.hero-strip {
	background: linear-gradient(150deg, var(--cdr-roxo-profundo) 0%, var(--cdr-roxo-escuro) 70%);
	padding: 3rem 0 4.5rem;
	position: relative;
	overflow: hidden;
}

/* Brilhos dourados sutis nos cantos do strip */
.hero-strip::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 60% 80% at 5% 80%, rgba(212, 160, 23, 0.10) 0%, transparent 60%),
		radial-gradient(ellipse 40% 60% at 95% 20%, rgba(212, 160, 23, 0.07) 0%, transparent 60%);
	pointer-events: none;
}

/* "Temporada 2026" com linhas decorativas flanqueando o texto */
.hero-supra {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	font-size: 0.73rem;
	letter-spacing: 0.28em;
	margin-bottom: 0.75rem;
}

.hero-supra::before,
.hero-supra::after {
	content: '';
	display: block;
	flex-shrink: 0;
	width: 1.5rem;
	height: 1px;
	background: var(--cdr-dourado);
	opacity: 0.65;
}

/* Título maior e com mais presença */
.hero-titulo {
	font-size: clamp(2rem, 4vw, 3rem);
	letter-spacing: -0.02em;
	margin-bottom: 0.75rem;
}

/* Botão CTA: pill shape — mais luxuoso que o retangular padrão */
.btn-grande {
	border-radius: 99px;
	letter-spacing: 0.06em;
	padding: 1rem 2.5rem;
	box-shadow: 0 4px 20px rgba(212, 160, 23, 0.30);
}

.btn-grande:hover {
	box-shadow: 0 6px 28px rgba(212, 160, 23, 0.45);
	transform: translateY(-2px);
}

/* ---- Títulos de seção: ornamento dourado embaixo ---- */
.secao-titulo {
	letter-spacing: -0.01em;
}

.secao-titulo::after {
	content: '';
	display: block;
	width: 2.5rem;
	height: 3px;
	background: var(--cdr-dourado);
	margin: 0.9rem auto 0;
	border-radius: 2px;
}

/* Na seção "Onde estamos" (título à esquerda), ornamento alinhado à esquerda */
.secao-local .secao-titulo::after {
	margin-left: 0;
}

/* ---- Seção sessões: mais respiro ---- */
.secao-sessoes {
	padding: 5.5rem 0;
}

/* ---- Cards de sessão: borda dourada e sombra mais rica ---- */
.sessao-card {
	border-top: 4px solid var(--cdr-dourado);
	box-shadow: 0 4px 24px rgba(61, 8, 8, 0.08);
}

.sessao-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 44px rgba(61, 8, 8, 0.18);
}

/* Header do card: gradiente em vez de cor sólida */
.sessao-data-header {
	background: linear-gradient(145deg, var(--cdr-roxo-profundo) 0%, var(--cdr-roxo-escuro) 100%);
	padding: 1.5rem 1rem 1.3rem;
	position: relative;
	overflow: hidden;
}

/* Círculo dourado decorativo no canto superior direito do header */
.sessao-data-header::after {
	content: '';
	position: absolute;
	top: -20px;
	right: -20px;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: rgba(212, 160, 23, 0.07);
	pointer-events: none;
}

/* Número do dia: maior, mais impactante */
.sessao-numero-dia {
	font-size: 3.5rem;
	letter-spacing: -0.03em;
}

/* ---- Seção setores: gradiente e brilhos ambiente ---- */
.secao-setores {
	background: linear-gradient(
		155deg,
		var(--cdr-roxo-profundo) 0%,
		var(--cdr-roxo-escuro) 50%,
		var(--cdr-roxo-profundo) 100%
	);
	position: relative;
	overflow: hidden;
}

/* Brilhos dourados nos cantos opostos da seção */
.secao-setores::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 70% 80% at -10% 110%, rgba(212, 160, 23, 0.09) 0%, transparent 60%),
		radial-gradient(ellipse 50% 60% at 110% -10%, rgba(212, 160, 23, 0.07) 0%, transparent 60%);
	pointer-events: none;
}

/* Card Prata: fundo um pouco mais visível */
.setor-card {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.13);
	transition: transform var(--trans), box-shadow var(--trans), background-color var(--trans);
}

.setor-card:hover {
	transform: translateY(-5px);
	background: rgba(255, 255, 255, 0.09);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.30);
}

/* Card Ouro: brilho premium com múltiplas camadas de sombra */
.setor-card--ouro {
	background: rgba(212, 160, 23, 0.13);
	border-color: rgba(212, 160, 23, 0.55);
	box-shadow:
		0 0 0 1px rgba(212, 160, 23, 0.12),
		0 8px 32px rgba(0, 0, 0, 0.20),
		inset 0 1px 0 rgba(212, 160, 23, 0.18);
}

.setor-card--ouro:hover {
	background: rgba(212, 160, 23, 0.18);
	box-shadow:
		0 0 0 1px rgba(212, 160, 23, 0.22),
		0 20px 50px rgba(212, 160, 23, 0.18),
		inset 0 1px 0 rgba(212, 160, 23, 0.30);
}

.setor-nome {
	font-size: 1.5rem;
	letter-spacing: -0.01em;
}

.setor-icone {
	font-size: 2.75rem;
}

/* ---- Seção localização: linha dourada no topo ---- */
.secao-local {
	position: relative;
}

.secao-local::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cdr-dourado), transparent);
	opacity: 0.35;
}

.local-cidade {
	font-size: 1.9rem;
	letter-spacing: -0.02em;
}

/* ---- Footer: borda dourada sutil no topo ---- */
.site-footer {
	border-top: 3px solid rgba(212, 160, 23, 0.35);
}

/* ============================================================
   10b. PÁGINA PÓS-COMPRA (thankyou / order-received)
   ============================================================ */

/* ---- Container e espaçamento lateral (igual ao checkout) ---- */
.woocommerce-order-received .wc-pagina {
	padding-top: 2.5rem;
	padding-inline: clamp(1.5rem, 8vw, 5rem);
}

/* ---- Wrapper geral ---- */
.cdr-order-received {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

/* ---- 1. Banner de confirmação ---- */
.cdr-thankyou-banner {
	background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
	border: 1.5px solid #86efac;
	border-radius: var(--raio);
	padding: 2rem 2rem 1.5rem;
}

/* Mensagem "Pedido confirmado!" */
.cdr-thankyou-banner .woocommerce-thankyou-order-received {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.3rem, 3vw, 1.8rem);
	color: #166534;
	font-weight: 700;
	margin: 0 0 1.5rem;
	padding: 0;
	background: none;
	border: none;
}

/* Lista de metadados do pedido (número, data, e-mail, total) */
.cdr-thankyou-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #bbf7d0;
	padding-top: 1rem;
}

.cdr-thankyou-overview li {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	font-size: 0.88rem;
	color: #166534;
	padding: 0.4rem 0;
	border: none;
	background: none;
}

.cdr-thankyou-overview .cdr-ov-label {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.75;
}

.cdr-thankyou-overview li strong {
	font-size: 0.95rem;
	font-weight: 700;
	color: #14532d;
}

/* ---- Títulos de seção (Pague com Pix / Detalhes do pedido) ---- */
.cdr-thankyou-section-title {
	font-family: var(--fonte-titulo);
	font-size: 1.3rem;
	color: var(--cdr-roxo-profundo);
	margin: 0 0 1.25rem;
	padding-bottom: 0.5rem;
	border-bottom: 3px solid var(--cdr-dourado);
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

/* ---- 2. Bloco Pix do Mercado Pago ---- */
.cdr-thankyou-pix {
	background: var(--cdr-creme);
	border: 1.5px solid rgba(212, 160, 23, 0.3);
	border-radius: var(--raio);
	padding: 1.75rem 2rem;
}

/* Botão "Copiar código" — substitui o azul padrão do Mercado Pago */
.mp-details-pix-button,
.cdr-thankyou-pix button,
.cdr-thankyou-pix [class*="mp-"][class*="button"],
.cdr-thankyou-pix [class*="mp-"][class*="btn"] {
	background-color: var(--cdr-roxo) !important;
	color: var(--cdr-branco) !important;
	border: none !important;
	border-radius: var(--raio) !important;
	padding: 0.75rem 1.5rem !important;
	font-family: var(--fonte-corpo) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: background-color var(--trans) !important;
	display: inline-block !important;
}

.mp-details-pix-button:hover,
.cdr-thankyou-pix button:hover,
.cdr-thankyou-pix [class*="mp-"][class*="button"]:hover {
	background-color: var(--cdr-roxo-escuro) !important;
}

/* QR code: centraliza a imagem */
.mp-details-pix-container {
	text-align: center;
}

.mp-details-pix-container img {
	max-width: 200px;
	border-radius: 4px;
}

/* Campo de texto com o código Pix */
.mp-qr-input,
.mp-details-pix-qr-value {
	word-break: break-all;
	font-size: 0.78rem;
	background: #fff;
	border: 1px solid var(--cdr-borda);
	border-radius: var(--raio);
	padding: 0.5rem 0.75rem;
	color: var(--cdr-texto);
}

/* ---- 3. Tabela de detalhes do pedido ---- */
.cdr-thankyou-detalhes {
	background: #fff;
	border: 1.5px solid var(--cdr-borda);
	border-radius: var(--raio);
	padding: 1.75rem 2rem;
}

/* Esconde o h2 "Order details" que o WooCommerce injeta dentro
   de woocommerce_order_details_table — nosso template já tem o título */
.cdr-thankyou-detalhes .woocommerce-order-details__title {
	display: none;
}

/* Tabela de itens */
.cdr-thankyou-detalhes .woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.cdr-thankyou-detalhes .woocommerce-table--order-details th,
.cdr-thankyou-detalhes .woocommerce-table--order-details td {
	padding: 0.65rem 0.5rem;
	border-bottom: 1px solid var(--cdr-borda);
	text-align: left;
	vertical-align: middle;
}

.cdr-thankyou-detalhes .woocommerce-table--order-details thead th {
	font-family: var(--fonte-titulo);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--cdr-roxo-profundo);
	border-bottom: 2px solid var(--cdr-dourado);
}

.cdr-thankyou-detalhes .woocommerce-table--order-details tfoot td,
.cdr-thankyou-detalhes .woocommerce-table--order-details tfoot th {
	font-weight: 700;
	color: var(--cdr-roxo-profundo);
}

.cdr-thankyou-detalhes .woocommerce-table--order-details tfoot .order-total td,
.cdr-thankyou-detalhes .woocommerce-table--order-details tfoot .order-total th {
	font-size: 1.05rem;
	color: var(--cdr-roxo);
}

/* Variações (Setor: Prata | Tipo: Infantil) */
.cdr-thankyou-detalhes .wc-item-meta {
	list-style: none;
	padding: 0;
	margin: 0.25rem 0 0;
	font-size: 0.8rem;
	color: var(--cdr-texto-suave);
}

/* Oculta dados de endereço (billing address) — são desnecessários
   para ingresso digital e podem ser vazios após nosso filtro */
.cdr-thankyou-detalhes .woocommerce-customer-details {
	display: none;
}

/* ---- Responsivo ---- */
@media (max-width: 640px) {
	.cdr-thankyou-pix,
	.cdr-thankyou-detalhes {
		padding: 1.25rem 1rem;
	}

	.cdr-thankyou-overview {
		gap: 0 1rem;
	}
}

/* ============================================================
   11. CHECKOUT — OVERRIDES E CORREÇÕES VISUAIS
   ============================================================ */

/* ---- Suprimir seções extras geradas pelo WooCommerce ---- */

/* Headings h3 que o WC insere dentro da área de billing
   (ex.: "Endereço de cobrança", "Billing details").
   Nosso h2 "Seus dados" já cobre esse papel. */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > h3,
.woocommerce-checkout #customer_details > .col-1 > h3,
.woocommerce-checkout #customer_details > .col-2 > h3 {
	display: none;
}

/* "Informações de contato" — bloco de e-mail adicionado pelo WC 8+ antes
   do formulário de billing no checkout clássico. Como temos o campo
   billing_email dentro do nosso form-billing.php, este bloco é redundante. */
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
	display: none;
}

/* ---- Título da página de checkout ---- */
.woocommerce-checkout h1.page-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .entry-title {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--cdr-roxo-profundo);
	margin: 0 0 2rem;
	padding-bottom: 0.75rem;
	border-bottom: 3px solid var(--cdr-dourado);
}

/* ---- Colunas do checkout: proporção esquerda menor que direita ---- */
.cdr-checkout-grid {
	grid-template-columns: 1fr 1.1fr;
}

/* ---- Títulos das colunas ---- */
.cdr-checkout-titulo {
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.cdr-checkout-titulo::before {
	content: '';
	display: block;
	width: 3px;
	height: 1.2em;
	background: var(--cdr-dourado);
	border-radius: 2px;
	flex-shrink: 0;
}

/* ---- Campo de e-mail: dica visual de que é onde chega o ingresso ---- */
.woocommerce-checkout #billing_email_field label::after {
	content: ' — o ingresso será enviado aqui';
	font-size: 0.78rem;
	font-weight: 400;
	color: var(--cdr-texto-suave);
	letter-spacing: 0;
	text-transform: none;
}

/* ---- Botão "Finalizar pedido" / "Place order" ---- */

/* WooCommerce clássico: id="place_order" */
#place_order,
#place_order.button,
.woocommerce-checkout #place_order {
	display: block !important;
	width: 100% !important;
	padding: 1.1rem 1.5rem !important;
	background-color: var(--cdr-roxo) !important;
	color: var(--cdr-branco) !important;
	font-family: var(--fonte-corpo) !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-align: center !important;
	border: none !important;
	border-radius: var(--raio) !important;
	cursor: pointer !important;
	transition: background-color var(--trans), transform var(--trans) !important;
}

#place_order:hover,
.woocommerce-checkout #place_order:hover {
	background-color: var(--cdr-roxo-escuro) !important;
	transform: translateY(-1px) !important;
}

/* WooCommerce Blocks / wp-element-button (WC 8+) */
.wp-element-button.wc-block-components-checkout-place-order-button,
.wc-block-checkout__place-order .wc-block-components-checkout-place-order-button {
	background-color: var(--cdr-roxo) !important;
	color: var(--cdr-branco) !important;
	font-family: var(--fonte-corpo) !important;
	font-weight: 700 !important;
	border: none !important;
	border-radius: var(--raio) !important;
	padding: 1rem 1.5rem !important;
	width: 100% !important;
	font-size: 1.05rem !important;
}

/* ---- Resumo do pedido (coluna direita): visual mais limpo ---- */
.woocommerce-checkout-review-order-table {
	font-size: 0.9rem;
}

/* Linha do produto: imagem pequena + nome + variações */
.woocommerce-checkout-review-order-table .product-name {
	font-size: 0.92rem;
}

/* "Adicionar cupons" — accordion do WC; deixa mais discreto */
.woocommerce-checkout .checkout_coupon {
	margin-bottom: 1rem;
}

/* ---- Nota de segurança abaixo do botão (::after no .place-order) ---- */
#payment .place-order::after {
	content: '🔒 Pagamento 100% seguro · Ingresso por e-mail em minutos';
	display: block;
	text-align: center;
	font-size: 0.75rem;
	color: var(--cdr-texto-suave);
	margin-top: 0.6rem;
	line-height: 1.5;
}

/* ---- Responsivo ---- */
@media (max-width: 860px) {
	.cdr-checkout-grid {
		grid-template-columns: 1fr;
	}
	.cdr-checkout-esquerda { order: 1; }
	.cdr-checkout-direita  { order: 2; position: static; }
}

/* ============================================================
   12. REDESIGN "NOITE DE ESTREIA"
   ============================================================

   Camada final de redesign: fundo escuro quase-preto avermelhado,
   holofotes dourados, fileira de lâmpadas sob o header e CTAs com
   brilho de letreiro. Aplicada como override no fim do arquivo —
   em empate de especificidade, a regra que vem depois vence.

   REGRA CENTRAL DE UX: em toda superfície onde uma sessão aparece,
   o HORÁRIO é o elemento visualmente dominante, sempre maior que
   a data — para eliminar a compra do ingresso errado.
   ============================================================ */

/* ------------------------------------------------------------
   12.1 BASE ESCURA
   ------------------------------------------------------------ */
body {
	background-color: var(--cdr-fundo-base);
	color: var(--cdr-texto-claro);
}

a {
	color: var(--cdr-dourado-hover);
}
a:hover {
	color: var(--cdr-dourado-claro);
}

h1, h2, h3 {
	color: var(--cdr-texto-claro);
}
h4, h5, h6 {
	color: var(--cdr-texto-claro);
}

/* ------------------------------------------------------------
   12.2 CTA DOURADO COM BRILHO DE LETREIRO
   .btn-estreia é o botão canônico do redesign (usado nos templates
   novos); .btn-primario (header, menu mobile) herda o mesmo visual.
   ------------------------------------------------------------ */
.btn-estreia {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	background: var(--cdr-dourado);
	color: var(--cdr-tinta-escura);
	font-family: var(--fonte-corpo);
	font-size: 0.875rem;
	font-weight: 900;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-align: center;
	line-height: 1;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	text-decoration: none;
	transition: background-color var(--trans), box-shadow var(--trans), transform var(--trans);
}
.btn-estreia:hover {
	background: var(--cdr-dourado-hover);
	color: var(--cdr-tinta-escura);
	transform: translateY(-1px);
}

/* Versão grande (hero): gradiente + borda clara + glow forte */
.btn-estreia--grande {
	padding: 1.1rem 2.5rem;
	font-size: 1.05rem;
	letter-spacing: 0.04em;
	background: var(--cdr-cta-grad);
	border: 1px solid var(--cdr-dourado-claro);
	border-radius: var(--raio);
	box-shadow: var(--cdr-cta-glow);
}
.btn-estreia--grande:hover {
	background: var(--cdr-cta-grad);
	box-shadow: var(--cdr-cta-glow-hover);
}

/* Header/menu mobile: o .btn-primario ganha o visual de letreiro */
.btn-primario {
	background-color: var(--cdr-dourado);
	color: var(--cdr-tinta-escura);
	font-weight: 900;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-size: 0.875rem;
	border-radius: 4px;
	box-shadow: 0 0 22px rgba(212, 160, 23, 0.45);
}
.btn-primario:hover {
	background-color: var(--cdr-dourado-hover);
	color: var(--cdr-tinta-escura);
}

/* ------------------------------------------------------------
   12.3 HEADER + FAIXA DE LÂMPADAS
   ------------------------------------------------------------ */
.site-header {
	background: var(--cdr-header-grad);
	border-bottom: 1px solid rgba(212, 160, 23, 0.35);
	box-shadow: none;
}

/* Nav em caixa alta com tracking de letreiro */
.site-menu a {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 0;
	padding: 0.5rem 0.875rem;
}
.site-menu a:hover,
.site-menu .current-menu-item > a {
	color: var(--cdr-dourado-hover);
	background-color: transparent;
}
.site-menu .current-menu-item > a {
	font-weight: 700;
}

.cdr-cart-link:hover {
	color: var(--cdr-dourado-hover);
	background-color: rgba(255, 255, 255, 0.06);
}

/* Fileira de lâmpadas do letreiro, logo abaixo do header */
.cdr-luzes {
	height: 14px;
	background-image: radial-gradient(circle 4px at 14px 7px, var(--cdr-dourado-claro) 45%, rgba(255, 222, 138, 0.2) 62%, transparent 70%);
	background-size: 28px 14px;
	background-color: var(--cdr-fundo-secao);
}

/* Selo "Pagamento seguro" no header reduzido do checkout */
.cdr-header-selo {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.8rem;
	letter-spacing: 0.1em;
}

/* Menu mobile aberto: fundo escuro do redesign */
@media (max-width: 768px) {
	.site-nav {
		background-color: var(--cdr-fundo-secao);
		border-bottom: 1px solid var(--cdr-borda-ouro-fraca);
	}
}

/* ------------------------------------------------------------
   12.4 FOOTER
   Mantém as 3 colunas, re-colorizado sobre #0E0202.
   ------------------------------------------------------------ */
.site-footer {
	background-color: var(--cdr-footer-bg);
	border-top: 1px solid var(--cdr-borda-ouro-fraca);
}

/* ------------------------------------------------------------
   12.5 HOME — HERO "NOITE DE ESTREIA"
   ------------------------------------------------------------ */
.hero-estreia {
	background:
		radial-gradient(ellipse 60% 80% at 30% 0%, rgba(212, 160, 23, 0.18), transparent 60%),
		radial-gradient(ellipse 60% 80% at 70% 0%, rgba(212, 160, 23, 0.14), transparent 60%),
		var(--cdr-fundo-base);
	padding: 3.5rem 0 4rem;
}

.hero-estreia-grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 3.5rem;
	align-items: center;
}

@media (max-width: 860px) {
	.hero-estreia-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

/* Linha-supra ornamentada: ✦ TEMPORADA 2026 · COTIA – SP ✦ */
.hero-supra {
	display: block;
	color: var(--cdr-dourado-hover);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	margin: 0 0 1.1rem;
}
.hero-supra::before,
.hero-supra::after {
	content: none; /* remove as linhas do design antigo — o ✦ já orna */
}

.hero-titulo {
	font-family: var(--fonte-titulo);
	font-size: clamp(2.25rem, 4.5vw, 3.6rem);
	font-weight: 900;
	line-height: 1.08;
	color: var(--cdr-texto-claro);
	margin: 0 0 1.25rem;
	letter-spacing: normal;
	text-wrap: pretty;
}

.hero-descricao {
	color: rgba(255, 246, 232, 0.7);
	font-size: 1.1rem;
	line-height: 1.6;
	margin: 0 0 2.25rem;
	max-width: 44ch;
}

.hero-acao {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-wrap: wrap;
}

.hero-nota-pagamento {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.875rem;
}

/* Moldura dourada do cartaz */
.hero-moldura {
	padding: 10px;
	background: linear-gradient(135deg, #D4A017, #7A5A0C 40%, #E8BE3C 70%, #A67C10);
	border-radius: 10px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6);
}

.hero-moldura .hero-img {
	width: 100%;
	height: 420px;
	object-fit: cover;
	display: block;
	border-radius: 5px;
}

@media (max-width: 600px) {
	.hero-moldura .hero-img {
		height: 300px;
	}
}

/* ------------------------------------------------------------
   12.6 HOME — SEÇÕES E TÍTULOS
   ------------------------------------------------------------ */
.secao-supra {
	text-align: center;
	color: var(--cdr-dourado-hover);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	margin: 0 0 0.6rem;
}

.secao-titulo {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.75rem, 3.2vw, 2.5rem);
	font-weight: 900;
	color: var(--cdr-texto-claro);
}
.secao-titulo::after {
	content: none; /* o supra ornamentado substitui a barrinha dourada */
}
.secao-titulo--esquerda {
	text-align: left;
}

.secao-subtitulo {
	color: var(--cdr-texto-suave-esc);
}
.secao-subtitulo--claro {
	color: var(--cdr-texto-suave-esc);
}

/* Sessões: faixa alternada mais escura */
.secao-sessoes {
	background-color: var(--cdr-fundo-secao);
	border-top: 1px solid rgba(212, 160, 23, 0.25);
	padding: 4rem 0 4.5rem;
}

/* ------------------------------------------------------------
   12.7 HOME — CARDS DE SESSÃO (HORÁRIO DOMINANTE)
   ------------------------------------------------------------ */
.sessao-card {
	background: var(--cdr-card-grad);
	border: 1px solid var(--cdr-borda-ouro);
	border-top: 1px solid var(--cdr-borda-ouro); /* cancela o topo dourado antigo */
	border-radius: 8px;
	box-shadow: none;
	overflow: hidden;
	transition: transform var(--trans), box-shadow var(--trans), border-color var(--trans);
}
.sessao-card:hover {
	transform: translateY(-4px);
	border-color: var(--cdr-dourado-hover);
	box-shadow: 0 0 30px rgba(212, 160, 23, 0.25);
}

/* Data compacta no topo: SEXTA · 19 Junho */
.sessao-card-data {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	text-align: center;
	padding: 1rem 1rem 0.75rem;
	border-bottom: 1px dashed var(--cdr-borda-ouro);
}
.sessao-dia-semana {
	color: var(--cdr-dourado-hover);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}
.sessao-data-sep {
	color: rgba(255, 255, 255, 0.4);
}
.sessao-data-num {
	color: var(--cdr-texto-claro);
	font-size: 0.875rem;
	font-weight: 900;
}
.sessao-nome-fallback {
	font-family: var(--fonte-titulo);
	font-size: 1rem;
	color: var(--cdr-texto-claro);
	line-height: 1.3;
}

.sessao-card-body {
	padding: 1rem 1.25rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	flex: 1;
}

/* O bloco do HORÁRIO — elemento dominante do card */
.sessao-horario-bloco {
	text-align: center;
}
.sessao-horario-label {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	margin-bottom: 0.15rem;
}
.sessao-horario-valor {
	font-family: var(--fonte-titulo);
	font-size: 3.375rem; /* 54px — maior que qualquer outro elemento do card */
	font-weight: 900;
	line-height: 1;
	color: var(--cdr-dourado-hover);
	text-shadow: 0 0 24px rgba(212, 160, 23, 0.4);
}

.sessao-preco-linha {
	text-align: center;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.75rem;
	margin: 0;
}
.sessao-preco-linha strong,
.sessao-preco-linha .woocommerce-Price-amount {
	color: var(--cdr-texto-claro);
	font-size: 0.95rem;
	font-weight: 900;
}

.sessao-card-body .btn-estreia {
	margin-top: auto;
	padding: 0.8rem 1rem;
}

/* Estado vazio adaptado ao fundo escuro */
.sessoes-vazio {
	background: var(--cdr-card-grad);
	border: 2px dashed var(--cdr-borda-ouro);
	color: var(--cdr-texto-suave-esc);
}
.admin-hint {
	color: var(--cdr-texto-suave-esc);
}

/* ------------------------------------------------------------
   12.8 HOME — SETORES
   ------------------------------------------------------------ */
.secao-setores {
	background:
		radial-gradient(ellipse 50% 100% at 50% 0%, rgba(212, 160, 23, 0.1), transparent 70%),
		var(--cdr-fundo-base);
	border-top: 1px solid rgba(212, 160, 23, 0.25);
	padding: 4rem 0 4.5rem;
}
.secao-setores::before {
	content: none; /* remove os brilhos do design antigo */
}

.setores-grid {
	max-width: 860px;
}

.setor-card {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 8px;
	padding: 2.25rem 2rem;
	gap: 0.75rem;
	box-shadow: none;
}
.setor-card:hover {
	transform: translateY(-3px);
	background: rgba(255, 255, 255, 0.03);
	box-shadow: none;
}

.setor-nome {
	font-family: var(--fonte-titulo);
	font-size: 1.625rem;
	color: #E8E8E8;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0;
}
.setor-nome--ouro {
	color: var(--cdr-dourado-hover);
}

/* Divisor gradiente sob o nome do setor */
.setor-divisor {
	width: 60px;
	height: 2px;
	background: linear-gradient(90deg, transparent, #C0C0C0, transparent);
}
.setor-divisor--ouro {
	background: linear-gradient(90deg, transparent, var(--cdr-dourado), transparent);
}

.setor-descricao {
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.95rem;
}

.setor-preco {
	color: #E8E8E8;
	font-size: 1.375rem;
	font-weight: 900;
	margin: 0;
}
.setor-preco--ouro {
	color: var(--cdr-dourado-hover);
}

/* Ouro: destaque premium com borda dourada e glow */
.setor-card--ouro {
	background: rgba(212, 160, 23, 0.07);
	border: 2px solid var(--cdr-dourado);
	box-shadow: 0 0 40px rgba(212, 160, 23, 0.2);
}
.setor-card--ouro:hover {
	background: rgba(212, 160, 23, 0.1);
	box-shadow: 0 0 50px rgba(212, 160, 23, 0.3);
}

.setor-badge {
	background: var(--cdr-dourado);
	color: var(--cdr-tinta-escura);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.2em;
	padding: 0.25rem 1rem;
}

.btn-setor-prata {
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-radius: 5px;
	font-size: 0.875rem;
	padding: 0.75rem 2rem;
}

/* ------------------------------------------------------------
   12.9 HOME — ONDE ESTAMOS
   ------------------------------------------------------------ */
.secao-local {
	background-color: var(--cdr-fundo-secao);
	border-top: 1px solid rgba(212, 160, 23, 0.25);
}
.secao-local::before {
	content: none;
}
.local-cidade {
	color: var(--cdr-texto-claro);
}
.local-endereco {
	color: var(--cdr-texto-suave-esc);
}

/* ------------------------------------------------------------
   12.10 PÁGINA DA SESSÃO — BANNER
   ------------------------------------------------------------ */
.sessao-banner {
	background:
		radial-gradient(ellipse 70% 100% at 50% 0%, rgba(212, 160, 23, 0.16), transparent 60%),
		var(--cdr-fundo-secao);
	border-bottom: 2px solid var(--cdr-dourado);
	padding: 2.25rem 0 2rem;
}

.sessao-banner-supra {
	color: var(--cdr-dourado-hover);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	margin: 0 0 0.75rem;
}

.sessao-banner-linha {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
}

.sessao-banner-titulo {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 900;
	color: var(--cdr-texto-claro);
	margin: 0;
	line-height: 1.1;
}

.sessao-banner-meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

/* Chip outline da data */
.sessao-banner-chip--data {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: var(--cdr-texto-claro);
	padding: 0.7rem 1.25rem;
	border-radius: 999px;
	font-size: 0.875rem;
	letter-spacing: 0.06em;
}

/* Chip DOURADO do horário — o elemento mais chamativo do banner */
.sessao-banner-chip--hora {
	background: var(--cdr-dourado);
	color: var(--cdr-tinta-escura);
	padding: 0.55rem 1.5rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: baseline;
	gap: 0.5rem;
	box-shadow: 0 0 28px rgba(212, 160, 23, 0.5);
}
.chip-hora-label {
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.chip-hora-valor {
	font-family: var(--fonte-titulo);
	font-size: 1.875rem;
	font-weight: 900;
	line-height: 1;
}

/* ------------------------------------------------------------
   12.11 PÁGINA DA SESSÃO — CARD "A SUA NOITE"
   ------------------------------------------------------------ */
.sessao-info-card {
	background: var(--cdr-card-grad);
	border: 1px solid var(--cdr-borda-ouro);
	border-radius: 8px;
	padding: 1.75rem;
}

.sessao-info-titulo {
	font-family: var(--fonte-titulo);
	font-size: 0.95rem;
	color: var(--cdr-dourado-hover);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 1.25rem;
	padding-bottom: 0.875rem;
	border-bottom: 1px dashed var(--cdr-borda-ouro);
}

.sessao-info-lista {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

.sessao-info-item {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	margin: 0;
}

.sessao-info-label {
	display: block;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.7rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin: 0;
}

.sessao-info-valor {
	color: var(--cdr-texto-claro);
	font-weight: 900;
	font-size: 1.05rem;
}

/* Horário: o maior elemento do card, dourado com glow */
.sessao-info-hora {
	font-family: var(--fonte-titulo);
	color: var(--cdr-dourado-hover);
	font-weight: 900;
	font-size: 2.5rem;
	line-height: 1.1;
	text-shadow: 0 0 24px rgba(212, 160, 23, 0.4);
}

.sessao-info-item--local {
	border-top: 1px dashed var(--cdr-borda-ouro);
	padding-top: 1.1rem;
}

.sessao-info-sub {
	color: var(--cdr-texto-suave-esc);
	font-size: 0.825rem;
}

.sessao-maps-link {
	margin-top: 0.4rem;
	color: var(--cdr-dourado-hover);
	font-size: 0.825rem;
	font-weight: 700;
}
.sessao-maps-link:hover {
	color: var(--cdr-dourado-claro);
	text-decoration: none;
}

/* ------------------------------------------------------------
   12.12 PÁGINA DA SESSÃO — FORMULÁRIO DE COMPRA
   ------------------------------------------------------------ */
.sessao-form-compra {
	background: var(--cdr-card-grad);
	border: 1px solid var(--cdr-borda-ouro);
	border-radius: 8px;
	padding: 2.25rem;
}

/* Passos numerados em Playfair dourado: "1 · ESCOLHA O SETOR" */
.cdr-var-label {
	font-family: var(--fonte-titulo);
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--cdr-dourado-hover);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 0.8rem;
}

/* Botões de variação sobre fundo escuro */
.cdr-var-btn {
	flex: 1;
	min-width: 9rem;
	align-items: flex-start;
	text-align: left;
	padding: 1rem 1.25rem;
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--raio);
	transition: border-color var(--trans), background-color var(--trans), box-shadow var(--trans);
}
.cdr-var-btn:hover {
	border-color: var(--cdr-dourado);
	background: rgba(212, 160, 23, 0.06);
}
.cdr-var-btn.is-ativo {
	background: rgba(212, 160, 23, 0.12);
	border: 2px solid var(--cdr-dourado);
	box-shadow: 0 0 24px rgba(212, 160, 23, 0.3);
	/* compensa o pixel extra da borda para o layout não "pular" */
	padding: calc(1rem - 1px) calc(1.25rem - 1px);
}

/* A variação Ouro usa o mesmo tratamento (o badge ★ PREMIUM já destaca) */
.cdr-var-btn--ouro {
	border-color: rgba(255, 255, 255, 0.25);
	background: rgba(0, 0, 0, 0.25);
}
.cdr-var-btn--ouro:hover {
	border-color: var(--cdr-dourado);
	background: rgba(212, 160, 23, 0.06);
}
.cdr-var-btn--ouro.is-ativo {
	border-color: var(--cdr-dourado);
	background: rgba(212, 160, 23, 0.12);
	box-shadow: 0 0 24px rgba(212, 160, 23, 0.3);
}

.cdr-var-badge {
	color: var(--cdr-dourado-hover);
	font-size: 0.625rem;
	font-weight: 900;
	letter-spacing: 0.14em;
}

.cdr-var-nome {
	color: var(--cdr-texto-claro);
	font-size: 1.05rem;
	font-weight: 900;
}

/* Sublinha descritiva: "Visão completa · R$ 40" / "Adulto" */
.cdr-var-sub {
	display: block;
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.75rem;
	margin-top: 0.15rem;
}
.cdr-var-sub .woocommerce-Price-amount {
	font-weight: 700;
}

.cdr-reset-link {
	color: var(--cdr-texto-suave-esc);
}

/* Caixa de preço da variação selecionada */
.single_variation_wrap .woocommerce-variation-price {
	background: rgba(212, 160, 23, 0.08);
	border: 1px dashed rgba(212, 160, 23, 0.5);
	border-radius: var(--raio);
	padding: 1.1rem 1.5rem;
}
.single_variation_wrap .woocommerce-variation-price .price {
	font-size: 1.875rem;
	font-weight: 900;
	color: var(--cdr-dourado-hover);
}

/* Disponibilidade sobre fundo escuro */
.single_variation_wrap .in-stock {
	color: var(--cdr-sucesso);
	background-color: rgba(127, 217, 138, 0.12);
}
.single_variation_wrap .out-of-stock {
	color: var(--cdr-erro);
	background-color: rgba(224, 96, 96, 0.12);
}

/* Aviso de sessão esgotada */
.cdr-esgotado {
	background-color: rgba(224, 96, 96, 0.12);
	color: var(--cdr-erro);
	border: 1px solid rgba(224, 96, 96, 0.4);
}

/* Input de quantidade dentro do stepper */
.woocommerce-variation-add-to-cart input.qty {
	border: none;
	background: transparent;
	color: var(--cdr-texto-claro);
	width: 3rem;
	height: 3rem;
	font-size: 1.25rem;
	font-weight: 900;
}

/* Botão COMPRAR — CTA dourado com brilho de letreiro */
body.woocommerce button.single_add_to_cart_button.button,
body.woocommerce-page button.single_add_to_cart_button.button {
	background: var(--cdr-cta-grad) !important;
	color: var(--cdr-tinta-escura) !important;
	border: 1px solid var(--cdr-dourado-claro);
	font-weight: 900;
	font-size: 1.05rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: var(--cdr-cta-glow);
	transition: box-shadow var(--trans), transform var(--trans);
}
body.woocommerce button.single_add_to_cart_button.button:hover,
body.woocommerce-page button.single_add_to_cart_button.button:hover {
	background: var(--cdr-cta-grad) !important;
	color: var(--cdr-tinta-escura) !important;
	box-shadow: var(--cdr-cta-glow-hover);
}

/* ------------------------------------------------------------
   12.13 STEPPER DE QUANTIDADE (− qtd +) — montado pelo quantity.js
   ------------------------------------------------------------ */
.cdr-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(212, 160, 23, 0.5);
	border-radius: var(--raio);
	overflow: hidden;
}
.cdr-qty-btn {
	width: 2.75rem;
	height: 3rem;
	background: none;
	border: none;
	color: var(--cdr-dourado-hover);
	font-size: 1.375rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color var(--trans);
}
.cdr-qty-btn:hover {
	background: rgba(212, 160, 23, 0.12);
}
.cdr-qty input.qty {
	border: none !important;
	background: transparent !important;
	color: var(--cdr-texto-claro) !important;
	text-align: center;
}

/* ------------------------------------------------------------
   12.14 ABAS DO PRODUTO E BREADCRUMB
   ------------------------------------------------------------ */
.woocommerce-breadcrumb {
	color: var(--cdr-texto-suave-esc);
}
.woocommerce-breadcrumb a {
	color: var(--cdr-dourado-hover);
}

.woocommerce-tabs .tabs {
	border-bottom: 1px solid var(--cdr-borda-ouro-fraca);
}
.woocommerce-tabs .tabs a {
	color: var(--cdr-texto-suave-esc);
}
.woocommerce-tabs .tabs a:hover,
.woocommerce-tabs .tabs li.active a {
	color: var(--cdr-dourado-hover);
}
.woocommerce-tabs .tabs li.active a::after {
	background-color: var(--cdr-dourado);
}
.woocommerce-tabs .panel {
	background: var(--cdr-card-grad);
	border: 1px solid var(--cdr-borda-ouro);
	border-top: none;
}
.woocommerce-tabs .panel h2 {
	color: var(--cdr-dourado-hover);
	border-bottom: 1px dashed var(--cdr-borda-ouro);
}
.cdr-tab-detalhes li {
	color: var(--cdr-texto-claro);
}
.cdr-td-texto strong {
	color: var(--cdr-texto-claro);
}
.cdr-td-texto a {
	color: var(--cdr-dourado-hover);
}
.woocommerce-product-attributes th {
	color: var(--cdr-texto-claro);
	background-color: rgba(0, 0, 0, 0.25);
}
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
	border-bottom: 1px solid var(--cdr-borda-ouro-fraca);
}
.woocommerce-product-attributes td p {
	color: var(--cdr-texto-suave-esc);
}

/* ------------------------------------------------------------
   12.15 GRADE DE PRODUTOS (página da loja)
   ------------------------------------------------------------ */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
	background: var(--cdr-card-grad);
	border: 1px solid var(--cdr-borda-ouro);
	border-radius: 8px;
}
body.woocommerce ul.products li.product:hover,
body.woocommerce-page ul.products li.product:hover {
	border-color: var(--cdr-dourado-hover);
	box-shadow: 0 0 30px rgba(212, 160, 23, 0.25);
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	color: var(--cdr-texto-claro);
}
body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price {
	color: var(--cdr-texto-suave-esc);
}
body.woocommerce ul.products li.product .price .amount,
body.woocommerce-page ul.products li.product .price .amount {
	color: var(--cdr-dourado-hover);
}
.woocommerce-products-header__title.page-title,
h1.woocommerce-page-title {
	color: var(--cdr-texto-claro);
}
.woocommerce-result-count {
	color: var(--cdr-texto-suave-esc);
}
.woocommerce-ordering select {
	background-color: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--cdr-borda-ouro);
	color: var(--cdr-texto-claro);
}

/* ------------------------------------------------------------
   12.16 MENSAGENS DO WOOCOMMERCE (fundo escuro)
   ------------------------------------------------------------ */
.woocommerce-message {
	background-color: rgba(127, 217, 138, 0.1);
	color: var(--cdr-sucesso);
	border-left: 4px solid var(--cdr-sucesso);
}
.woocommerce-info {
	background-color: rgba(212, 160, 23, 0.1);
	color: var(--cdr-dourado-hover);
	border-left: 4px solid var(--cdr-dourado);
}
.woocommerce-error {
	background-color: rgba(224, 96, 96, 0.12);
	color: var(--cdr-erro);
	border-left: 4px solid var(--cdr-erro);
}

/* ------------------------------------------------------------
   12.17 CARRINHO — LINHAS COMO CARDS
   ------------------------------------------------------------ */
.woocommerce-cart h1.page-title,
.woocommerce-cart h1.woocommerce-page-title {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.75rem, 3.2vw, 2.375rem);
	font-weight: 900;
	color: var(--cdr-texto-claro);
}

/* Esconde o cabeçalho da tabela — cada linha vira um card autoexplicativo */
.woocommerce-cart-form thead {
	display: none;
}

.woocommerce-cart-form .shop_table {
	border-collapse: separate;
	border-spacing: 0 0.875rem;
}

/* Cada item = card com borda dourada à esquerda */
.woocommerce-cart-form tbody tr.cart_item {
	background: var(--cdr-card-grad);
	border-radius: var(--raio);
}
.woocommerce-cart-form tbody tr.cart_item td {
	border-top: 1px solid var(--cdr-borda-ouro);
	border-bottom: 1px solid var(--cdr-borda-ouro);
	vertical-align: middle;
	padding: 1.25rem 0.875rem;
}
.woocommerce-cart-form tbody tr.cart_item td:first-child {
	border-left: 4px solid var(--cdr-dourado);
	border-radius: var(--raio) 0 0 var(--raio);
	padding-left: 1.25rem;
}
.woocommerce-cart-form tbody tr.cart_item td:last-child {
	border-right: 1px solid var(--cdr-borda-ouro);
	border-radius: 0 var(--raio) var(--raio) 0;
	padding-right: 1.5rem;
}

/* Botão × de remover: círculo outline (hover vermelho) */
.woocommerce-cart-form .product-remove a.remove {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: rgba(255, 255, 255, 0.6) !important;
	border-radius: 50%;
	transition: border-color var(--trans), color var(--trans);
}
.woocommerce-cart-form .product-remove a.remove:hover {
	background: transparent;
	border-color: var(--cdr-erro);
	color: var(--cdr-erro) !important;
}

.cdr-cart-nome {
	color: var(--cdr-texto-claro);
	font-size: 1.05rem;
}
.cdr-cart-nome:hover {
	color: var(--cdr-dourado-hover);
}

/* Meta da linha: SETOR Ouro · TIPO Inteira · HORÁRIO 20h */
.woocommerce-cart-form .product-name .variation dt {
	color: var(--cdr-dourado-hover);
	font-weight: 900;
	letter-spacing: 0.1em;
	font-size: 0.75rem;
}
.woocommerce-cart-form .product-name .variation dd {
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.75rem;
}
/* O último par da <dl> é o HORÁRIO (injetado em functions.php):
   valor branco, 900 e maior que setor/tipo — regra do horário. */
.woocommerce-cart-form .product-name .variation dd:last-of-type {
	color: var(--cdr-texto-claro);
	font-weight: 900;
	font-size: 0.875rem;
}

.woocommerce-cart-form .product-price {
	color: rgba(255, 255, 255, 0.6);
	font-weight: 400;
	font-size: 0.875rem;
}
.woocommerce-cart-form .product-subtotal {
	color: var(--cdr-dourado-hover);
	font-weight: 900;
	font-size: 1.125rem;
}

.woocommerce-cart-form .product-quantity .qty {
	background-color: transparent;
	border: none;
	color: var(--cdr-texto-claro);
}

/* Linha de ações (Atualizar quantidades) */
.woocommerce-cart-form td.actions {
	border: none;
	padding: 0.25rem 0;
}
.cdr-btn-atualizar {
	color: var(--cdr-texto-suave-esc) !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
}
.cdr-btn-atualizar:hover {
	color: var(--cdr-texto-claro) !important;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

/* Card de totais */
.cart_totals {
	background: var(--cdr-card-grad);
	border: 1px solid var(--cdr-borda-ouro);
	border-radius: 8px;
	padding: 1.75rem;
}
.cart_totals h2 {
	font-family: var(--fonte-titulo);
	font-size: 1.25rem;
	color: var(--cdr-texto-claro);
	border-bottom: 1px dashed var(--cdr-borda-ouro);
}
.cart_totals .shop_table tr th,
.cart_totals .shop_table tr td {
	color: rgba(255, 255, 255, 0.7);
	font-weight: 400;
}
.cart_totals .order-total th,
.cart_totals .order-total td {
	border-top: 1px solid var(--cdr-borda-ouro);
	color: var(--cdr-texto-claro);
	font-weight: 900;
}
.cart_totals .order-total td .woocommerce-Price-amount {
	color: var(--cdr-dourado-hover);
	font-weight: 900;
}

/* CTA Finalizar compra */
.wc-proceed-to-checkout a.checkout-button {
	background: var(--cdr-cta-grad) !important;
	color: var(--cdr-tinta-escura) !important;
	border: 1px solid var(--cdr-dourado-claro);
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: 0 0 30px rgba(212, 160, 23, 0.45);
	transition: box-shadow var(--trans), transform var(--trans);
}
.wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--cdr-cta-grad) !important;
	box-shadow: 0 0 46px rgba(232, 190, 60, 0.7);
}
.wc-proceed-to-checkout::after {
	content: 'Pix · débito · crédito — via Mercado Pago';
	color: rgba(255, 255, 255, 0.45);
	font-size: 0.75rem;
	margin-top: 0.875rem;
}

/* Responsivo do carrinho (sobrescreve o bloco antigo de 680px) */
@media (max-width: 680px) {
	.woocommerce-cart-form .shop_table tbody tr.cart_item {
		border: 1px solid var(--cdr-borda-ouro);
		border-left: 4px solid var(--cdr-dourado);
		border-radius: var(--raio);
		background: var(--cdr-card-grad);
		padding: 0.5rem 0;
	}
	.woocommerce-cart-form .shop_table tbody tr.cart_item td,
	.woocommerce-cart-form .shop_table tbody tr.cart_item td:first-child,
	.woocommerce-cart-form .shop_table tbody tr.cart_item td:last-child {
		border: none;
		border-radius: 0;
	}
	.woocommerce-cart-form .shop_table tbody td::before {
		color: var(--cdr-texto-suave-esc);
	}
}

/* ------------------------------------------------------------
   12.18 CHECKOUT
   ------------------------------------------------------------ */
.woocommerce-checkout h1.page-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .entry-title {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.75rem, 3.2vw, 2.375rem);
	font-weight: 900;
	color: var(--cdr-texto-claro);
	border-bottom: none;
	padding-bottom: 0;
}

.cdr-checkout-grid {
	grid-template-columns: 1.4fr 1fr;
	gap: 2rem;
}

/* Colunas viram cards escuros */
.cdr-checkout-esquerda,
.cdr-checkout-direita {
	background: var(--cdr-card-grad);
	border: 1px solid var(--cdr-borda-ouro);
	border-radius: 8px;
	padding: 2rem;
}
.cdr-checkout-direita {
	top: 1rem;
}

.cdr-checkout-titulo {
	font-family: var(--fonte-titulo);
	font-size: 1.25rem;
	color: var(--cdr-dourado-hover);
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 1.5rem;
}
.cdr-checkout-titulo::before {
	content: none; /* remove a barrinha do design antigo */
}
.cdr-checkout-direita .cdr-checkout-titulo {
	color: var(--cdr-texto-claro);
	border-bottom: 1px dashed var(--cdr-borda-ouro);
	padding-bottom: 0.875rem;
}

/* Labels e inputs sobre escuro */
.woocommerce-checkout label {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.8rem;
	letter-spacing: 0.06em;
}
.woocommerce-checkout .required {
	color: var(--cdr-dourado-hover);
}

.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"] {
	background-color: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--cdr-borda-ouro);
	color: var(--cdr-texto-claro);
	padding: 0.875rem 1rem;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus {
	border-color: var(--cdr-dourado);
	box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.15);
}
.woocommerce-checkout .input-text::placeholder {
	color: rgba(255, 255, 255, 0.35);
}

/* Nota sob o campo de e-mail */
.woocommerce-checkout #billing_email_field label::after {
	content: ' — seu ingresso com QR Code chega aqui';
	color: rgba(255, 255, 255, 0.45);
}

/* Resumo do pedido: tabela transparente dentro do card escuro */
.woocommerce-checkout-review-order-table {
	background: transparent;
	border: none;
}
.woocommerce-checkout-review-order-table thead th {
	background: transparent;
	color: var(--cdr-texto-suave-esc);
	border-bottom: 1px dashed var(--cdr-borda-ouro);
}
.woocommerce-checkout-review-order-table tbody td {
	border-bottom: 1px dashed var(--cdr-borda-ouro-fraca);
	color: rgba(255, 255, 255, 0.8);
}
.woocommerce-checkout-review-order-table tbody .product-name {
	color: var(--cdr-texto-claro);
	font-weight: 700;
}
.woocommerce-checkout-review-order-table .variation dt {
	color: var(--cdr-dourado-hover);
}
.woocommerce-checkout-review-order-table .variation dd {
	color: rgba(255, 255, 255, 0.7);
}
/* Horário no resumo: branco e mais forte (regra do horário) */
.woocommerce-checkout-review-order-table .variation dd:last-of-type {
	color: var(--cdr-texto-claro);
	font-weight: 900;
}
.woocommerce-checkout-review-order-table .product-quantity {
	color: var(--cdr-dourado-hover);
}
.woocommerce-checkout-review-order-table .product-total {
	color: var(--cdr-texto-claro);
}
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
	border-bottom: none;
	color: rgba(255, 255, 255, 0.7);
}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	border-top: 1px solid var(--cdr-borda-ouro);
	color: var(--cdr-texto-claro);
	font-weight: 900;
	font-size: 1.125rem;
}
.woocommerce-checkout-review-order-table tfoot .order-total td .woocommerce-Price-amount {
	color: var(--cdr-dourado-hover);
}

/* Métodos de pagamento */
#payment {
	background: transparent;
	border: none;
	overflow: visible;
}
#payment ul.payment_methods {
	border-bottom: none;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
}
#payment ul.payment_methods li {
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--raio);
	padding: 1rem 1.25rem;
	transition: border-color var(--trans), background-color var(--trans);
}
#payment ul.payment_methods li:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
/* Método selecionado: destaque dourado */
#payment ul.payment_methods li:has(input[type="radio"]:checked) {
	border: 2px solid var(--cdr-dourado);
	background: rgba(212, 160, 23, 0.08);
}
#payment ul.payment_methods li label {
	color: var(--cdr-texto-claro);
}
#payment ul.payment_methods li input[type="radio"] {
	accent-color: var(--cdr-dourado);
}
.payment_box {
	background-color: rgba(0, 0, 0, 0.25);
	color: var(--cdr-texto-suave-esc);
	border-bottom: none;
	border-radius: var(--raio);
	margin-top: 0.5rem;
}
.woocommerce-terms-and-conditions-wrapper {
	color: var(--cdr-texto-suave-esc);
}

/* Botão CONFIRMAR PEDIDO — CTA dourado com glow */
#place_order,
#place_order.button,
.woocommerce-checkout #place_order {
	background: var(--cdr-cta-grad) !important;
	color: var(--cdr-tinta-escura) !important;
	border: 1px solid var(--cdr-dourado-claro) !important;
	font-weight: 900 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	box-shadow: 0 0 30px rgba(212, 160, 23, 0.45) !important;
	transition: box-shadow var(--trans), transform var(--trans) !important;
}
#place_order:hover,
.woocommerce-checkout #place_order:hover {
	background: var(--cdr-cta-grad) !important;
	box-shadow: 0 0 46px rgba(232, 190, 60, 0.7) !important;
}

#payment .place-order::after {
	content: 'Ingresso digital enviado por e-mail após o pagamento.';
	color: rgba(255, 255, 255, 0.45);
	font-size: 0.75rem;
}

/* Overlay de processamento sobre fundo escuro */
.blockOverlay {
	background: rgba(21, 4, 4, 0.75) !important;
}

/* ------------------------------------------------------------
   12.19 PEDIDO RECEBIDO (PIX)
   ------------------------------------------------------------ */
.woocommerce-order-received .wc-pagina > .container {
	max-width: 860px; /* container centrado e mais estreito */
}

/* Banner de confirmação: centrado, com check circular verde */
.cdr-thankyou-banner {
	background: transparent;
	border: none;
	padding: 1rem 0 0;
	text-align: center;
}

/* Check circular verde antes da mensagem */
.cdr-thankyou-banner::before {
	content: '✓';
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 1rem;
	border-radius: 50%;
	background: rgba(127, 217, 138, 0.12);
	border: 2px solid var(--cdr-sucesso);
	color: var(--cdr-sucesso);
	font-size: 2.125rem;
}

.cdr-thankyou-banner .woocommerce-thankyou-order-received {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 900;
	color: var(--cdr-texto-claro);
	margin-bottom: 2rem;
}

/* Overview: barra única com células separadas por linha tracejada */
.cdr-thankyou-overview {
	border: 1px solid var(--cdr-borda-ouro);
	border-radius: 8px;
	padding: 0;
	gap: 0;
	flex-wrap: nowrap;
	justify-content: center;
	overflow: hidden;
}
.cdr-thankyou-overview li {
	flex: 1;
	text-align: center;
	align-items: center;
	padding: 1.1rem 0.75rem;
	border-right: 1px dashed rgba(212, 160, 23, 0.35);
	color: var(--cdr-texto-claro);
}
.cdr-thankyou-overview li:last-child {
	border-right: none;
}
.cdr-thankyou-overview .cdr-ov-label {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.625rem;
	letter-spacing: 0.24em;
	opacity: 1;
}
.cdr-thankyou-overview li strong {
	color: var(--cdr-texto-claro);
	font-weight: 900;
	font-size: 0.95rem;
}

@media (max-width: 640px) {
	.cdr-thankyou-overview {
		flex-wrap: wrap;
	}
	.cdr-thankyou-overview li {
		flex: 1 1 40%;
		border-bottom: 1px dashed rgba(212, 160, 23, 0.35);
	}
}

/* Títulos das seções da página */
.cdr-thankyou-section-title {
	font-family: var(--fonte-titulo);
	color: var(--cdr-dourado-hover);
	border-bottom: none;
	justify-content: center;
}

/* Bloco Pix: card com borda dourada forte e glow */
.cdr-thankyou-pix {
	background: var(--cdr-card-grad);
	border: 2px solid var(--cdr-dourado);
	border-radius: 8px;
	box-shadow: 0 0 40px rgba(212, 160, 23, 0.2);
	text-align: center;
	padding: 2.25rem 2rem;
}

/* Botão "Copiar código" dourado */
.mp-details-pix-button,
.cdr-thankyou-pix button,
.cdr-thankyou-pix [class*="mp-"][class*="button"],
.cdr-thankyou-pix [class*="mp-"][class*="btn"] {
	background: var(--cdr-cta-grad) !important;
	color: var(--cdr-tinta-escura) !important;
	border: 1px solid var(--cdr-dourado-claro) !important;
	font-weight: 900 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
}
.mp-details-pix-button:hover,
.cdr-thankyou-pix button:hover,
.cdr-thankyou-pix [class*="mp-"][class*="button"]:hover {
	background: var(--cdr-cta-grad) !important;
	box-shadow: 0 0 30px rgba(232, 190, 60, 0.5) !important;
}

/* Campo do código copia-e-cola sobre escuro */
.mp-qr-input,
.mp-details-pix-qr-value {
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--cdr-borda-ouro);
	color: var(--cdr-texto-suave-esc);
}

/* Textos que o bloco do Mercado Pago injeta */
.cdr-thankyou-pix,
.cdr-thankyou-pix p,
.cdr-thankyou-pix span {
	color: var(--cdr-texto-suave-esc);
}

/* Detalhes do pedido */
.cdr-thankyou-detalhes {
	background: transparent;
	border: 1px solid var(--cdr-borda-ouro);
	border-radius: 8px;
}
.cdr-thankyou-detalhes .woocommerce-table--order-details th,
.cdr-thankyou-detalhes .woocommerce-table--order-details td {
	border-bottom: 1px dashed rgba(212, 160, 23, 0.35);
	color: rgba(255, 255, 255, 0.8);
}
.cdr-thankyou-detalhes .woocommerce-table--order-details thead th {
	color: var(--cdr-texto-claro);
	border-bottom: 2px solid var(--cdr-dourado);
}
.cdr-thankyou-detalhes .woocommerce-table--order-details tfoot td,
.cdr-thankyou-detalhes .woocommerce-table--order-details tfoot th {
	color: var(--cdr-texto-claro);
}
.cdr-thankyou-detalhes .woocommerce-table--order-details tfoot .order-total td,
.cdr-thankyou-detalhes .woocommerce-table--order-details tfoot .order-total th {
	color: var(--cdr-dourado-hover);
}
.cdr-thankyou-detalhes .wc-item-meta {
	color: var(--cdr-texto-suave-esc);
}

/* ------------------------------------------------------------
   12.20 CORREÇÕES DE ESPECIFICIDADE
   Regras que perdiam para o CSS do WooCommerce/plugins e
   precisaram de seletores mais fortes (verificado no navegador).
   ------------------------------------------------------------ */

/* Inputs do checkout: o CSS do WooCommerce/Mercado Pago vence a
   especificidade das regras da seção 12.18 — reforçamos aqui. */
body.woocommerce-checkout .input-text,
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"] {
	background-color: rgba(0, 0, 0, 0.35) !important;
	border: 1px solid var(--cdr-borda-ouro) !important;
	border-radius: var(--raio) !important;
	color: var(--cdr-texto-claro) !important;
	padding: 0.875rem 1rem;
}
body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout input[type="text"]:focus,
body.woocommerce-checkout input[type="email"]:focus,
body.woocommerce-checkout input[type="tel"]:focus {
	border-color: var(--cdr-dourado) !important;
	box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.15) !important;
	outline: none;
}

/* Abas do produto: o WooCommerce pinta as "orelhas" com fundo claro
   e bordas próprias — zeramos para o visual escuro do redesign. */
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: transparent;
	border: none;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
	display: none;
	border: none;
	box-shadow: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 0.65rem 1.4rem;
	font-weight: 700;
	color: var(--cdr-texto-suave-esc);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--cdr-dourado-hover);
}

/* ------------------------------------------------------------
   12.21 CONDIÇÕES DE COMPRA DE INGRESSO
   Página de termos (page.php) + bloco de aceite no checkout.
   ------------------------------------------------------------ */

/* Página de conteúdo: coluna de leitura confortável */
.pagina-conteudo {
	max-width: 52rem;
}
.pagina-conteudo h1 {
	font-family: var(--fonte-titulo);
	font-weight: 900;
	font-size: clamp(1.75rem, 3.2vw, 2.375rem);
}
.pagina-conteudo h2 {
	font-family: var(--fonte-titulo);
	color: var(--cdr-dourado-hover);
	font-size: 1.35rem;
	margin: 2.25rem 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px dashed var(--cdr-borda-ouro);
}
.pagina-conteudo p,
.pagina-conteudo li {
	color: rgba(255, 246, 232, 0.85);
	line-height: 1.7;
}
.pagina-conteudo strong {
	color: var(--cdr-texto-claro);
}
.pagina-conteudo ul {
	padding-left: 1.4rem;
}
.pagina-conteudo li {
	margin-bottom: 0.4rem;
}
.pagina-conteudo em {
	color: var(--cdr-texto-suave-esc);
}

/* Link das condições na linha inferior do footer */
.footer-termos-link {
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.8rem;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color var(--trans);
}
.footer-termos-link:hover {
	color: var(--cdr-dourado-hover);
}

/* Checkout — bloco "Li e aceito as Condições de Compra de Ingresso" */
.woocommerce-terms-and-conditions-wrapper {
	padding: 0.25rem 0 0.75rem;
	color: var(--cdr-texto-suave-esc);
}

/* Conteúdo dos termos embutido (abre ao clicar no link) */
.woocommerce-terms-and-conditions {
	background: rgba(0, 0, 0, 0.25) !important;
	border: 1px solid var(--cdr-borda-ouro);
	border-radius: var(--raio);
	padding: 1rem 1.25rem;
	max-height: 240px;
	overflow-y: auto;
	margin-bottom: 1rem;
	box-shadow: none !important;
}
.woocommerce-terms-and-conditions h2 {
	font-size: 1rem;
	color: var(--cdr-dourado-hover);
}
.woocommerce-terms-and-conditions p,
.woocommerce-terms-and-conditions li {
	font-size: 0.8rem;
	color: rgba(255, 246, 232, 0.8);
}

/* Checkbox + rótulo do aceite */
.woocommerce-terms-and-conditions-checkbox-text {
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.875rem;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
}
.woocommerce-terms-and-conditions-checkbox-text a {
	color: var(--cdr-dourado-hover);
	font-weight: 700;
}
.woocommerce-checkout #payment .form-row.validate-required input[type="checkbox"] {
	accent-color: var(--cdr-dourado);
	width: 1.05rem;
	height: 1.05rem;
}

/* ------------------------------------------------------------
   12.22 TELA "EM BREVE" (coming-soon.php)
   Holofote central, título Playfair 900 e CTAs do redesign.
   ------------------------------------------------------------ */
.cdr-embreve {
	background:
		radial-gradient(ellipse 60% 80% at 50% 0%, rgba(212, 160, 23, 0.18), transparent 60%),
		var(--cdr-fundo-base);
	padding: 6rem 0 7rem;
	min-height: 55vh;
	display: flex;
	align-items: center;
}

.cdr-embreve-inner {
	text-align: center;
	max-width: 44rem;
}

.cdr-embreve-supra {
	color: var(--cdr-dourado-hover);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	margin: 0 0 1.1rem;
}

.cdr-embreve-titulo {
	font-family: var(--fonte-titulo);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 900;
	line-height: 1.1;
	color: var(--cdr-texto-claro);
	margin: 0 0 1.25rem;
	text-wrap: pretty;
}

.cdr-embreve-texto {
	color: rgba(255, 246, 232, 0.7);
	font-size: 1.1rem;
	line-height: 1.7;
	margin: 0 auto 1.75rem;
	max-width: 40rem;
}

.cdr-embreve-local {
	color: var(--cdr-texto-claro);
	font-weight: 700;
	margin: 0 0 2rem;
}

.cdr-embreve-redes {
	display: flex;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
}

/* Preço "a partir de" na listagem da loja */
.cdr-preco-a-partir {
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--cdr-texto-suave-esc);
	text-transform: lowercase;
	letter-spacing: 0;
}

/* ------------------------------------------------------------
   12.23 AGENDA DE SESSÕES (loja)
   Uma linha por DIA, com os horários como botões. Substitui a
   grade de cards, que repetia nome e data dezenas de vezes.
   Coluna estreita e linhas compactas: é uma LISTA para percorrer
   com o olho, não um mosaico para explorar.
   ------------------------------------------------------------ */
.cdr-agenda-titulo {
	font-family: var(--fonte-titulo);
	font-size: clamp(1.75rem, 3.2vw, 2.375rem);
	font-weight: 900;
	color: var(--cdr-texto-claro);
	margin: 0 0 0.4rem;
}

.cdr-agenda-sub {
	color: var(--cdr-texto-suave-esc);
	margin: 0 0 2rem;
	font-size: 0.95rem;
}

/* A agenda não usa a largura toda: linhas curtas leem melhor e o
   preço não fica exilado no canto direito da tela. */
.cdr-agenda,
.cdr-agenda-titulo,
.cdr-agenda-sub {
	max-width: 46rem;
	margin-inline: auto;
}

/* Cabeçalho de mês */
.cdr-agenda-mes {
	font-family: var(--fonte-corpo);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--cdr-dourado-hover);
	margin: 2rem 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px dashed var(--cdr-borda-ouro);
}
.cdr-agenda-mes:first-child {
	margin-top: 0;
}

/* Linha do dia */
.cdr-agenda-dia {
	display: grid;
	grid-template-columns: 5.5rem 1fr auto;
	align-items: center;
	gap: 1.25rem;
	background: var(--cdr-card-grad);
	border: 1px solid var(--cdr-borda-ouro);
	border-left: 3px solid var(--cdr-dourado);
	border-radius: 6px;
	padding: 0.7rem 1.1rem;
	margin-bottom: 0.5rem;
	transition: border-color var(--trans), box-shadow var(--trans);
}
.cdr-agenda-dia:hover {
	border-color: var(--cdr-dourado-hover);
	box-shadow: 0 0 20px rgba(212, 160, 23, 0.15);
}

/* Coluna da data — compacta: SÁB / 22 / Agosto numa pilha curta */
.cdr-agenda-data {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}
.cdr-agenda-semana {
	color: var(--cdr-dourado-hover);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}
.cdr-agenda-numero {
	font-family: var(--fonte-titulo);
	font-size: 1.75rem;
	font-weight: 900;
	color: var(--cdr-texto-claro);
	line-height: 1.1;
}
.cdr-agenda-mes-curto {
	color: rgba(255, 255, 255, 0.45);
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cdr-agenda-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

/* O horário continua sendo o elemento dominante — agora clicável */
.cdr-chip-horario {
	display: inline-block;
	min-width: 4.75rem;
	text-align: center;
	padding: 0.4rem 0.9rem;
	font-family: var(--fonte-titulo);
	font-size: 1.25rem;
	font-weight: 900;
	line-height: 1.15;
	color: var(--cdr-dourado-hover);
	background: rgba(212, 160, 23, 0.08);
	border: 1px solid var(--cdr-borda-ouro);
	border-radius: 5px;
	text-decoration: none;
	transition: background-color var(--trans), border-color var(--trans), color var(--trans), box-shadow var(--trans);
}
.cdr-chip-horario:hover {
	background: var(--cdr-cta-grad);
	border-color: var(--cdr-dourado-claro);
	color: var(--cdr-tinta-escura);
	box-shadow: 0 0 20px rgba(212, 160, 23, 0.4);
}

/* Preço: presente, mas sem competir — é igual em quase toda linha */
.cdr-agenda-preco {
	text-align: right;
	white-space: nowrap;
	color: rgba(255, 255, 255, 0.4);
	font-size: 0.7rem;
}
.cdr-agenda-preco strong,
.cdr-agenda-preco .woocommerce-Price-amount {
	display: block;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9rem;
	font-weight: 700;
}

/* Celular: data e preço na mesma linha, horários embaixo */
@media (max-width: 560px) {
	.cdr-agenda-dia {
		grid-template-columns: 1fr auto;
		gap: 0.6rem 1rem;
		padding: 0.9rem 1rem;
	}
	/* Linha 1: data à esquerda, preço à direita. Linha 2: os horários.
	   As posições são explícitas porque no HTML os horários vêm antes
	   do preço — sem isto o preço cairia numa terceira linha sozinho. */
	.cdr-agenda-data {
		grid-column: 1;
		grid-row: 1;
		flex-direction: row;
		align-items: baseline;
		gap: 0.4rem;
	}
	.cdr-agenda-preco {
		grid-column: 2;
		grid-row: 1;
	}
	.cdr-agenda-chips {
		grid-column: 1 / -1;
		grid-row: 2;
	}
	.cdr-agenda-numero {
		font-size: 1.25rem;
	}
	/* Sem flex-grow: um horário sozinho não deve virar um botão
	   gigante ocupando a largura inteira da tela. */
	.cdr-chip-horario {
		flex: 0 0 auto;
		min-width: 5rem;
	}
}

/* ------------------------------------------------------------
   12.24 ONDE ESTAMOS — TEXTO + MAPA
   ------------------------------------------------------------ */
.local-grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 3rem;
	align-items: center;
}

/* Sem endereço configurado o mapa não existe: o texto ocupa tudo */
.local-grid--sem-mapa {
	grid-template-columns: 1fr;
}

.local-texto .secao-titulo {
	margin-bottom: 0.5rem;
}

/* Moldura dourada, igual à do cartaz no topo da página: sem ela o mapa
   entra como um retângulo claro solto no meio do fundo escuro. */
.local-mapa {
	padding: 8px;
	background: linear-gradient(135deg, #D4A017, #7A5A0C 40%, #E8BE3C 70%, #A67C10);
	border-radius: 10px;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.55);
	line-height: 0;
}

.local-mapa iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	border: 0;
	border-radius: 5px;
}

@media (max-width: 860px) {
	.local-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.local-mapa iframe {
		aspect-ratio: 4 / 3;
	}
}
