/*
Theme Name: Club415
Description: Tema filho leve do Hello Elementor. Todo o layout é feito no Elementor; cabeçalho e rodapé vêm do ElementsKit.
Author: Club415
Template: hello-elementor
Version: 1.0.0
Requires PHP: 7.4
Text Domain: club415
*/

/* -------------------------------------------------------------
   Base
------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}

*, *::before, *::after { box-sizing: border-box; }

/* Mesma tipografia base de antes (as medidas foram copiadas do tema antigo) */
body,
p, h1, h2, h3, h4, h5, h6,
ol, ul, li, figure, blockquote { margin: 0; padding: 0; }

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.skip-link:focus {
	clip: auto;
	width: auto;
	height: auto;
	z-index: 100000;
	top: 8px;
	left: 8px;
	padding: 12px 20px;
	background: #fff;
	color: #000;
}

body {
	overflow-x: hidden; /* animações de entrada laterais não criam rolagem horizontal */
	overflow-wrap: break-word;
	font-weight: var(--e-global-typography-text-font-weight, 300);
	line-height: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

a { color: var(--e-global-color-text); text-decoration: none; }
a:hover, a:active { color: var(--e-global-color-primary); }

p { font-family: var(--e-global-typography-text-font-family), sans-serif; }
li { line-height: 1.6; }

/* Parágrafos herdam do widget; quando o widget não define, usa 1.75 */
.elementor-widget-text-editor,
.elementor-widget-elementskit-icon-box p,
p.ekit_motion_text_title { line-height: 1.75; }

h1, h2, h3, h4, h5, h6 { letter-spacing: -.027em; }
h1 { line-height: 1.2; }
h2, .elementor-widget-heading h2.elementor-heading-title { line-height: 1.2; }
h3 { line-height: 1.25; }
h6, .elementor-widget-heading h6.elementor-heading-title { line-height: 1.75; letter-spacing: 0; }

img { height: auto; max-width: 100%; vertical-align: middle; border: 0; }

input, select, textarea, button { font-family: inherit; }

/* Menu (ElementsKit) */
.elementskit-navbar-nav .ekit-menu-nav-link { line-height: 1; }
@media (min-width: 1025px) {
	.elementskit-navbar-nav .ekit-menu-nav-link { line-height: 16px; }
}

/* -------------------------------------------------------------
   Botões — 3 variantes, mesmo tamanho, mesma tipografia ("Botão" no kit)
   No Elementor: Avançado > Classes CSS do botão:
     c415-btn-primary       roxo (ação principal: ingressos)
     c415-btn-outline       contorno branco (fundos escuros)
     c415-btn-outline-dark  contorno escuro (fundos claros)
------------------------------------------------------------- */

:root {
	--c415-btn-height: 44px;
	--c415-btn-padding: 20px;
	--c415-btn-gap: 10px;
	--c415-btn-icon: 14px;
	--c415-purple: #a500ff;
	--c415-purple-light: #b736fc;
	--c415-purple-dark: #7b2fbe;
	--c415-dark: #1d1d1e;
}

body .elementor-widget-button[class*="c415-btn-"] .elementor-button,
body .c415-btn,
body .newsletter-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--c415-btn-gap);
	min-height: var(--c415-btn-height);
	padding: 0 var(--c415-btn-padding);
	border: 1px solid transparent;
	border-radius: 0;
	font-family: var(--e-global-typography-accent-font-family, "Inter"), sans-serif;
	font-size: var(--e-global-typography-accent-font-size, 13px);
	font-weight: var(--e-global-typography-accent-font-weight, 600);
	line-height: 1.2;
	letter-spacing: var(--e-global-typography-accent-letter-spacing, .04em);
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: none;
}
body .elementor-widget-button[class*="c415-btn-"] .elementor-button-content-wrapper { gap: var(--c415-btn-gap); align-items: center; }

/* Ícones: mesma altura em todos os botões; seta depois do texto, ícone de ação antes */
body .elementor-button .elementor-button-icon { display: inline-flex; align-items: center; font-size: var(--c415-btn-icon); }
body .elementor-button .elementor-button-icon svg,
body .c415-btn .c415-icon { width: auto; height: var(--c415-btn-icon); fill: currentColor; }

/* Primário */
body .elementor-widget-button.c415-btn-primary .elementor-button,
body .c415-btn,
body .newsletter-btn {
	background: linear-gradient(189deg, var(--c415-purple) 0%, var(--c415-purple-dark) 100%);
	border-color: var(--c415-purple-light);
	color: #fff;
}
body .elementor-widget-button.c415-btn-primary .elementor-button:hover,
body .elementor-widget-button.c415-btn-primary .elementor-button:focus-visible,
body .c415-btn:hover,
body .c415-btn:focus-visible,
body .newsletter-btn:hover,
body .newsletter-btn:focus-visible {
	background: var(--c415-purple-light);
	border-color: var(--c415-purple-light);
	color: #fff;
}

/* Contorno claro (fundos escuros) */
body .elementor-widget-button.c415-btn-outline .elementor-button,
body .c415-btn.c415-btn--outline {
	background: transparent;
	border-color: #fff;
	color: #fff;
}
body .elementor-widget-button.c415-btn-outline .elementor-button:hover,
body .elementor-widget-button.c415-btn-outline .elementor-button:focus-visible,
body .c415-btn.c415-btn--outline:hover,
body .c415-btn.c415-btn--outline:focus-visible {
	background: #fff;
	border-color: #fff;
	color: #000;
}

/* Contorno escuro (fundos claros) */
body .elementor-widget-button.c415-btn-outline-dark .elementor-button {
	background: transparent;
	border-color: var(--c415-dark);
	color: var(--c415-dark);
}
body .elementor-widget-button.c415-btn-outline-dark .elementor-button:hover,
body .elementor-widget-button.c415-btn-outline-dark .elementor-button:focus-visible {
	background: var(--c415-dark);
	border-color: var(--c415-dark);
	color: #fff;
}

/* Desabilitado (esgotado) */
body .c415-btn.c415-btn--disabled,
body .c415-btn.c415-btn--disabled:hover { background: #333; border-color: #333; color: #9c9c9c; cursor: default; }

/* Foco visível pelo teclado */
body .elementor-button:focus-visible,
body .c415-btn:focus-visible,
body .newsletter-btn:focus-visible { outline: 2px solid var(--c415-purple-light); outline-offset: 2px; }

/* Caixas de informação do ElementsKit (Data / Horário / Local nos eventos) — antes vinha do KeyDesign */
body .ekit-wid-con .elementskit-infobox { background: transparent; border-color: #1111121a; }
@media (min-width: 767px) and (max-width: 1024px) {
	body .ekit-wid-con .elementskit-infobox.icon-lef-right-aligin { flex-direction: column; }
}

/* Larguras/alturas que antes vinham do plugin KeyDesign */
.elementor-element.elementor-element-97b8807 { max-width: 100px; }  /* logo no cabeçalho */
.elementor-element.elementor-element-9951cd9 { max-width: 600px; }  /* bloco da newsletter no rodapé */
.elementor-element.elementor-element-692fdb0 { max-width: 400px; }  /* coluna de informações nos eventos */
.elementor-element.elementor-element-ec04954 { max-height: 960px; } /* hero da Home */

/* -------------------------------------------------------------
   Animações: curtas e sutis (o foco é parecer rápido)
------------------------------------------------------------- */

:root {
	--club415-anim: .7s;
	--club415-ease: cubic-bezier(.2, .7, .2, 1);
}

/* Entradas do Elementor (fadeIn, fadeInUp, zoomIn...) */
.elementor-element.animated,
.elementor-element.animated.animated-fast,
.elementor-element.animated.animated-slow {
	animation-duration: var(--club415-anim);
	animation-timing-function: var(--club415-ease);
}

/* Deslocamentos menores: 24px em vez de 100% da largura */
@keyframes fadeInUp    { from { opacity: 0; transform: translate3d(0, 24px, 0); }  to { opacity: 1; transform: none; } }
@keyframes fadeInDown  { from { opacity: 0; transform: translate3d(0, -24px, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInLeft  { from { opacity: 0; transform: translate3d(-24px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInRight { from { opacity: 0; transform: translate3d(24px, 0, 0); }  to { opacity: 1; transform: none; } }
@keyframes zoomIn      { from { opacity: 0; transform: scale3d(.96, .96, .96); }    to { opacity: 1; transform: none; } }

/* Textos animados do ElementsKit: o plugin usa white-space: pre-wrap e o HTML dele tem quebras de linha
   e tabulações antes do texto, que viram recuo visível (texto "empurrado" para a direita, principalmente
   no celular). As quebras de linha do conteúdo já são <br>, então "normal" não perde nada. */
.ekit-wid-con .ekit_animation .ekit_motion_text { white-space: normal; }

/* Textos animados do ElementsKit (motion text) */
.ekit-wid-con .ekit_animation,
.ekit-wid-con .ekit_animation::before,
.ekit-wid-con .ekit_animation::after,
.ekit-wid-con .ekit_animation .ekit_motion_text,
.ekit-wid-con .ekit_animation .ekit-letter {
	animation-duration: var(--club415-anim) !important;
}

/* Entrada do conteúdo gerado pelo plugin de eventos (cards da listagem e páginas de evento).
   O tema adiciona a classe c415-reveal-on no <html>; cada bloco aparece ao entrar na tela. */
html.c415-reveal-on :is(.c415-evento-card, .c415-ev__main > *, .c415-ev__aside > *) {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition: opacity var(--club415-anim) var(--club415-ease), transform var(--club415-anim) var(--club415-ease);
	transition-delay: var(--c415-delay, 0s);
}
html.c415-reveal-on :is(.c415-evento-card, .c415-ev__main > *, .c415-ev__aside > *).is-visible {
	opacity: 1;
	transform: none;
}

/* Interações (hover/foco): instantâneas */
a,
button,
.elementor-button,
.elementskit-btn,
.elementor-icon,
.elementor-icon svg,
.elementor-icon-box-title,
.elementor-icon-box-title a,
.elementor-icon-list-item a,
.elementor-widget-image a img,
.ekit-wid-con a,
.elementskit-navbar-nav > li > a,
.c415-btn,
#newsletter-email {
	transition: none !important;
}

/* Quem pede menos movimento no sistema não vê animações */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-delay: 0s !important;
		transition-duration: .01ms !important;
	}
	.elementor-invisible { visibility: visible !important; }
}

/* -------------------------------------------------------------
   Cabeçalho
------------------------------------------------------------- */

.headerbd { position: relative; }

/* Cabeçalho fixo no topo da página (não acompanha a rolagem), sempre com fundo escuro */
body #headerbd.headerbd {
	position: relative;
	z-index: 100;
	background-color: #000;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

/* -------------------------------------------------------------
   Menu do ElementsKit — estilos que antes vinham do plugin KeyDesign
   (copiados de keydesign-elementskit.css, só as regras do menu)
------------------------------------------------------------- */

:root {
	--column-spacing: 20px;
	--grid-columns-gap: 20px;
	--font-size-main-menu: 16px;
	--letter-spacing-small: .04em;
	--global-border-radius: 0px;
	--global-transition: all .2s cubic-bezier(.455, .03, .515, .955);
	--color-white: #fff;
	--color-border: #eceadf;
	--color-neutral-transparent: #9f9f9f4d;
	--admin-bar: 0px;
}

@media(min-width:1024.02px) {
	body .elementskit-navbar-nav-default .elementskit-navbar-nav { height:100%;gap:var(--column-spacing) }
	body .elementskit-navbar-nav-default.elementskit-menu-container { background:none;display:flex;align-items:center;justify-content:flex-end }
	body .elementskit-navbar-nav-default .elementskit-navbar-nav>li { height:100%;display:flex;align-items:center }
	body .elementskit-navbar-nav-default .elementskit-navbar-nav>li.menu-item-has-children, body .elementskit-navbar-nav-default .elementskit-navbar-nav>li.elementskit-megamenu-has { gap:0 }
	body .elementskit-navbar-nav-default .elementskit-navbar-nav>li.menu-item-has-children>a::after, body .elementskit-navbar-nav-default .elementskit-navbar-nav>li.elementskit-megamenu-has>a::after { max-width:calc(100% - 17px) }
	body .elementskit-navbar-nav-default .elementskit-navbar-nav>li>a { height:auto;color:var(--e-global-color-text);font-size:var(--font-size-main-menu);font-weight:var(--e-global-typography-accent-font-weight);transition:var(--global-transition) }
	body .elementskit-navbar-nav-default .elementskit-dropdown-has>a .elementskit-submenu-indicator { padding-right:0;margin-left:8px;margin-right:inherit;font-size:9px }
	body .elementskit-navbar-nav-default .elementskit-dropdown-has>a svg.elementskit-submenu-indicator { fill:currentColor }
	body .elementskit-navbar-nav-default .elementskit-dropdown { box-shadow:none !important;background-color:var(--color-white);border-radius:var(--global-border-radius);transition:var(--global-transition);border:1px solid var(--color-border);border-radius:0;padding:var(--grid-columns-gap);padding-top:calc(var(--grid-columns-gap) - 10px);padding-bottom:calc(var(--grid-columns-gap) - 10px) }
	body .elementskit-navbar-nav-default .elementskit-dropdown-has .elementskit-dropdown { transform:translateY(15px) }
	body .elementskit-navbar-nav-default .elementskit-dropdown-has .elementskit-dropdown .elementskit-submenu-panel { margin-top:-21px }
	body .elementskit-navbar-nav-default .elementskit-dropdown-has .elementskit-dropdown .elementskit-submenu-indicator { transform:rotate(-90deg);top:50% }
	body .elementskit-navbar-nav-default .elementskit-submenu-panel>li { padding:0;padding-top:10px;padding-bottom:10px;width:auto;line-height:var(--font-size-main-menu) }
	body .elementskit-navbar-nav-default .elementskit-submenu-panel>li:hover>a { background-color:transparent }
	body .elementskit-navbar-nav-default .elementskit-submenu-panel>li:after { display:none !important }
	body .elementskit-navbar-nav-default .elementskit-submenu-panel>li>a { font-size:var(--font-size-main-menu);font-weight:var(--e-global-typography-accent-font-weight);line-height:var(--font-size-main-menu);display:inline-flex }
	body .elementskit-navbar-nav-default .elementskit-submenu-panel>li>a:hover { color:var(--e-global-color-primary);background:none }
	body .elementskit-navbar-nav-default .elementskit-megamenu-panel { background:var(--color-white);transition:var(--global-transition) !important;transform:translateY(15px) }
	body .elementskit-navbar-nav-default .elementskit-megamenu-panel .menu { flex-direction:row;justify-content:space-between }
	body .elementskit-navbar-nav-default .elementskit-megamenu-panel .menu .menu-item { flex-direction:column;align-items:start;gap:0;justify-content:flex-start }
	body .elementskit-navbar-nav-default .elementskit-megamenu-panel .menu .menu-item.menu-item-has-children>a { color:var(--e-global-color-primary);padding-top:10px;padding-bottom:10px }
	body .elementskit-navbar-nav-default .elementskit-megamenu-panel .menu .menu-item.menu-item-has-children>a::after { display:none }
	body .elementskit-navbar-nav-default .elementskit-megamenu-panel .menu .menu-item.menu-item-has-children .sub-menu { position:relative;left:0;margin-left:0;margin-top:0;opacity:1;top:auto;visibility:visible;width:max-content;transform:none;border:none;padding:0 }
}
@media(max-width:1024px) {
	body .elementskit-menu-container { max-width:100% }
	body .ekit-wid-con .elementskit-menu-hamburger { padding:0;border-radius:0;width:20px;transition:var(--global-transition);display:flex;flex-flow:column nowrap;align-items:inherit;justify-content:inherit;color:var(--e-global-color-text);border:none }
	body .ekit-wid-con .elementskit-menu-hamburger .elementskit-menu-hamburger-icon { height:2px;margin-bottom:5px;transition:var(--global-transition);border-radius:0;background-color:var(--e-global-color-text) }
	body .ekit-wid-con .elementskit-menu-hamburger .elementskit-menu-hamburger-icon:last-child { margin-bottom:0 }
	body .ekit-wid-con .elementskit-menu-hamburger.active .elementskit-menu-hamburger-icon:first-child { -webkit-transform:translateY(7px) rotate(45deg);-ms-transform:translateY(7px) rotate(45deg);transform:translateY(7px) rotate(45deg) }
	body .ekit-wid-con .elementskit-menu-hamburger.active .elementskit-menu-hamburger-icon:nth-child(2) { opacity:0 }
	body .ekit-wid-con .elementskit-menu-hamburger.active .elementskit-menu-hamburger-icon:last-child { -webkit-transform:translateY(-7px) rotate(-45deg);-ms-transform:translateY(-7px) rotate(-45deg);transform:translateY(-7px) rotate(-45deg) }
	body .elementskit-navbar-nav-default .elementskit-dropdown { box-shadow:none;background-color:transparent;transition:var(--global-transition) !important;border-radius:0 }
	body .elementskit-navbar-nav-default .elementskit-submenu-panel { padding-left:var(--column-spacing) }
	body .elementskit-navbar-nav-default .elementskit-submenu-panel>li:hover>a { background-color:transparent }
	body .elementskit-navbar-nav-default.elementskit-menu-offcanvas-elements { -webkit-transition:var(--global-transition);transition:var(--global-transition);background-color:var(--color-white);-webkit-box-shadow:none;box-shadow:none;top:calc(var(--admin-bar) + var(--kd-mobile-nav-height, 0px));left:0;opacity:0;pointer-events:none;padding:var(--column-spacing);max-height:calc(100% - var(--admin-bar) - var(--kd-mobile-nav-height, 0px)) }
	body .elementskit-navbar-nav-default.elementskit-menu-offcanvas-elements.active { opacity:1;pointer-events:initial }
	body .elementskit-navbar-nav-default.elementskit-menu-offcanvas-elements .elementskit-nav-identity-panel, body .elementskit-navbar-nav-default.elementskit-menu-offcanvas-elements .elementskit-menu-close { display:none }
	body .elementskit-navbar-nav-default .elementskit-submenu-panel>li>a, body .elementskit-navbar-nav-default .elementskit-navbar-nav>li>a { height:auto;color:var(--e-global-color-text);font-size:calc(var(--font-size-main-menu) + 2px);font-weight:var(--e-global-typography-accent-font-weight);transition:var(--global-transition);line-height:1 }
	body .elementskit-navbar-nav-default .elementskit-submenu-panel>li>a:hover, body .elementskit-navbar-nav-default .elementskit-navbar-nav>li>a:hover { color:var(--e-global-color-primary) }
	body .elementskit-navbar-nav-default .elementskit-dropdown-has>a .elementskit-submenu-indicator { padding:0;border:none;font-size:var(--font-size-main-menu);margin-right:3px }
	body .elementskit-navbar-nav-default .elementskit-dropdown-has>a svg.elementskit-submenu-indicator { width:var(--font-size-main-menu) }
	body .elementskit-navbar-nav-default .ekit-menu-dropdown-toggle:has(+ .elementskit-dropdown-open) .elementskit-submenu-indicator, body .elementskit-navbar-nav-default .ekit-menu-nav-link:has(+ .elementskit-dropdown-open) .elementskit-submenu-indicator, body .elementskit-navbar-nav-default .dropdown-item:has(+ .elementskit-dropdown-open) .elementskit-submenu-indicator { transform:rotate(180deg) }
}
body .elementskit-navbar-nav .ekit-menu-badge { position:relative;top:auto;left:auto;background-color:#e8eafe;line-height:1;transform:none;white-space:nowrap;z-index:10;font-size:11px;padding:5px 7px;border-radius:var(--global-border-radius);transition:var(--global-transition);font-weight:var(--e-global-typography-secondary-font-weight);letter-spacing:var(--letter-spacing-small);color:var(--e-global-color-primary);order:99;margin-left:8px }
body .elementskit-navbar-nav .ekit-menu-badge .ekit-menu-badge-arrow { display:none }

/* -------------------------------------------------------------
   Carrosséis (swiper) — espaçamentos e bolinhas que vinham do KeyDesign
------------------------------------------------------------- */

body .swiper-pagination li { margin-right:5px;margin-left:5px;width:auto;height:auto }
body .swiper-pagination li button { width:8px;height:8px;border-radius:100%;transition:var(--global-transition) }
body .swiper-pagination-bullet { background-color:var(--kd-swiper-pagination-normal-color, var(--color-neutral-transparent));width:var(--kd-swiper-pagination-bullet-size, 8px);height:var(--kd-swiper-pagination-bullet-size, 8px);padding:0;margin:4px var(--kd-swiper-pagination-bullet-horizontal-gap, 8px);border-radius:100%;transition:var(--global-transition);opacity:1 }
body .swiper-pagination-bullet.swiper-pagination-bullet-active { background-color:var(--kd-swiper-pagination-active-color, var(--e-global-color-primary));transform:scale(1.2) }
body .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal, body .elementor-element .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal, body .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal, body .swiper~.swiper-pagination-custom, body .swiper-container~.swiper-pagination.swiper-pagination-custom, body .swiper-pagination { cursor:inherit;bottom:var(--kd-swiper-pagination-position, -40px) }
@media(max-width:766.98px) {
	body .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal, body .elementor-element .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal, body .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal, body .swiper~.swiper-pagination-custom, body .swiper-container~.swiper-pagination.swiper-pagination-custom, body .swiper-pagination { bottom:var(--kd-swiper-pagination-position, -15px) }
}
body .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal li button, body .elementor-element .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal li button, body .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal li button, body .swiper~.swiper-pagination-custom li button, body .swiper-container~.swiper-pagination.swiper-pagination-custom li button, body .swiper-pagination li button { background-color:var(--color-border) }
body .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal li.swiper-pagination-bullet-active button, body .elementor-element .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal li.swiper-pagination-bullet-active button, body .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal li.swiper-pagination-bullet-active button, body .swiper~.swiper-pagination-custom li.swiper-pagination-bullet-active button, body .swiper-container~.swiper-pagination.swiper-pagination-custom li.swiper-pagination-bullet-active button, body .swiper-pagination li.swiper-pagination-bullet-active button { background-color:var(--e-global-color-primary) }
body .elementor-element .swiper-pagination-bullets .swiper-pagination-bullet, body .swiper~.swiper-pagination-bullets .swiper-pagination-bullet, body .swiper~.swiper-pagination-custom .swiper-pagination-bullet, body .swiper-container~.swiper-pagination.swiper-pagination-custom .swiper-pagination-bullet, body .swiper-pagination .swiper-pagination-bullet { background-color:var(--kd-swiper-pagination-normal-color, var(--color-neutral-transparent));width:var(--kd-swiper-pagination-bullet-size, 8px);height:var(--kd-swiper-pagination-bullet-size, 8px);padding:0;margin:4px var(--kd-swiper-pagination-bullet-horizontal-gap, 8px);border-radius:100%;transition:var(--global-transition) }
body .elementor-element .swiper-pagination-bullets .swiper-pagination-bullet-active, body .swiper~.swiper-pagination-bullets .swiper-pagination-bullet-active, body .swiper~.swiper-pagination-custom .swiper-pagination-bullet-active, body .swiper-container~.swiper-pagination.swiper-pagination-custom .swiper-pagination-bullet-active, body .swiper-pagination .swiper-pagination-bullet-active { background-color:var(--kd-swiper-pagination-active-color, var(--e-global-color-primary));transform:scale(1.2) }
body .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet { margin:4px var(--kd-swiper-pagination-bullet-horizontal-gap, 8px) }
body .elementor-element.elementor-pagination-position-outside .swiper { padding-bottom:0px }
body .e-con .e-widget-swiper { --kd-swiper-navigation-prev-left-align: 0px;--kd-swiper-navigation-prev-top-align: 50%;--kd-swiper-navigation-prev-translate-x: 0px;--kd-swiper-navigation-prev-translate-y: 0px;--kd-swiper-navigation-next-right-align: 0px;--kd-swiper-navigation-next-top-align: 50%;--kd-swiper-navigation-next-translate-x: 0px;--kd-swiper-navigation-next-translate-y: 0px;--kd-swiper-navigation-prev-offset-x: -80px;--kd-swiper-navigation-prev-offset-y: 0px;--kd-swiper-navigation-next-offset-x: -80px;--kd-swiper-navigation-next-offset-y: 0px }
body .e-con .e-widget-swiper .swiper { position:static }
@media(max-width:1024px) {
	body .e-con .e-widget-swiper .swiper.keydesign-slider+.elementor-swiper-button, body .e-con .e-widget-swiper .swiper.keydesign-slider+.elementor-swiper-button+.elementor-swiper-button { display:none }
	body .e-con .e-widget-swiper .swiper.keydesign-slider .swiper-wrapper { padding-bottom:0;padding-top:0 }
}
body .e-con .e-widget-swiper .elementor-swiper-button { color:var(--e-global-color-text);box-sizing:border-box;padding:17px;text-align:center;border-radius:var(--global-border-radius);background:var(--e-global-color-light);display:flex;justify-content:center;align-items:center;font-size:16px;transition:var(--global-transition);border-color:var(--color-border);margin-top:auto }
body .e-con .e-widget-swiper .elementor-swiper-button svg { fill:currentColor }
body .e-con .e-widget-swiper .elementor-swiper-button:hover { color:#fff;background:var(--e-global-color-primary) }
body .e-con .e-widget-swiper .elementor-swiper-button-prev { left:calc(var(--kd-swiper-navigation-prev-left-align) + var(--kd-swiper-navigation-prev-offset-x));top:calc(var(--kd-swiper-navigation-prev-top-align) + var(--kd-swiper-navigation-prev-offset-y));transform:translate(var(--kd-swiper-navigation-prev-translate-x), var(--kd-swiper-navigation-prev-translate-y)) }
body .e-con .e-widget-swiper .elementor-swiper-button-next { right:calc(var(--kd-swiper-navigation-next-right-align) + var(--kd-swiper-navigation-next-offset-x));top:calc(var(--kd-swiper-navigation-next-top-align) + var(--kd-swiper-navigation-next-offset-y));transform:translate(var(--kd-swiper-navigation-next-translate-x), var(--kd-swiper-navigation-next-translate-y)) }
body .e-con .e-widget-swiper.kd-arrow-animation-yes .elementor-swiper-button { opacity:0 }
body .e-con .e-widget-swiper.kd-arrow-animation-yes .elementor-swiper-button-prev { transform:translate(calc(var(--kd-swiper-navigation-prev-translate-x) + 40px), var(--kd-swiper-navigation-prev-translate-y)) }
body .e-con .e-widget-swiper.kd-arrow-animation-yes .elementor-swiper-button-next { transform:translate(calc(var(--kd-swiper-navigation-next-translate-x) - 40px), var(--kd-swiper-navigation-next-translate-y)) }
body .e-con .e-widget-swiper.kd-arrow-animation-yes:hover .elementor-swiper-button { opacity:1 }
body .e-con .e-widget-swiper.kd-arrow-animation-yes:hover .elementor-swiper-button-prev { transform:translate(var(--kd-swiper-navigation-prev-translate-x), var(--kd-swiper-navigation-prev-translate-y)) }
body .e-con .e-widget-swiper.kd-arrow-animation-yes:hover .elementor-swiper-button-next { transform:translate(var(--kd-swiper-navigation-next-translate-x), var(--kd-swiper-navigation-next-translate-y)) }
body .e-con .e-widget-swiper .swiper-wrapper { padding-top:0;padding-bottom:0 }
@media(max-width:766.98px) {
	body .e-con .e-widget-swiper .swiper-wrapper { padding-top:20px;padding-bottom:20px }
}
body .e-con .e-widget-swiper.kd-equal-height-yes .swiper-slide { height:auto }
body .e-con .e-widget-swiper.kd-equal-height-yes .swiper-slide .kd-card { height:100% }
@media(max-width:766.98px) {
	body .e-con.keydesign-container-yes .swiper-wrapper, body .e-con .kd-widget-container .swiper-wrapper { padding-top:0px }
}
@media(max-width:766.98px) {
	body .e-con .elementor-pagination-type-none .swiper-wrapper { padding-bottom:0px }
}
body .elementor-image-carousel-wrapper { border-radius:var(--global-border-radius);padding-bottom:0 !important }
body .elementor-image-carousel-wrapper .elementor-image-carousel img { border-radius:var(--global-border-radius);border-color:var(--color-border) }

/* -------------------------------------------------------------
   Seções
------------------------------------------------------------- */

#eventos {
	background-image: url('/wp-content/uploads/2026/03/Club415-Symbol-bd.svg');
	background-repeat: repeat;
	background-size: 90px;
}

/* -------------------------------------------------------------
   Seção imersiva (página "Sobre o Club")
   No Elementor: container .c415-imersivo com dois filhos:
     .c415-scenes  → fotos (widgets Imagem com a classe c415-scene)
     .c415-steps   → textos (containers com a classe c415-step)
   A foto troca conforme a rolagem (script no tema). Desktop: tela dividida;
   celular: foto em tela cheia com os textos passando por cima.
------------------------------------------------------------- */

body .c415-imersivo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	gap: 0;
	padding: 0;
	background: #000;
}

/* Fotos: fixas na tela enquanto a seção rola */
body .c415-imersivo > .c415-scenes {
	position: sticky;
	top: 0;
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	height: 100vh;
	height: 100svh;
	overflow: hidden;
	padding: 0;
}
body .c415-scenes .c415-scene {
	position: absolute;
	inset: 0;
	width: 100%;
	margin: 0;
	opacity: 0;
	transform: scale(1.08);
	transition: opacity .9s ease, transform 2.4s cubic-bezier(.2, .7, .2, 1) !important;
	will-change: opacity, transform;
}
body .c415-scenes .c415-scene.is-active { opacity: 1; transform: scale(1); }
body .c415-scenes .c415-scene .elementor-widget-container,
body .c415-scenes .c415-scene img {
	width: 100%;
	height: 100%;
	max-width: none;
}
body .c415-scenes .c415-scene img { object-fit: cover; }

/* Contador "03 / 09" e barra de progresso (criados pelo script) */
.c415-scene-counter {
	position: absolute;
	right: 24px;
	bottom: 24px;
	z-index: 3;
	color: #fff;
	font-family: var(--e-global-typography-c415chm-font-family, "Space Grotesk"), sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .6);
}
.c415-scene-progress {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 3;
	height: 3px;
	width: 100%;
	background: linear-gradient(90deg, var(--c415-purple), var(--c415-purple-light));
	transform-origin: left;
	transform: scaleX(0);
}

/* Textos */
body .c415-imersivo > .c415-steps {
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	padding: 0;
}
body .c415-steps > .c415-step {
	justify-content: center;
	min-height: 100vh;
	min-height: 100svh;
	padding: 120px 8vw;
	opacity: .25;
	transition: opacity .5s ease !important;
}
body .c415-steps > .c415-step.is-active { opacity: 1; }
body .c415-steps > .c415-step:first-child { min-height: calc(100vh - 105px); }

/* Celular e tablet em pé: foto em tela cheia, textos em cartões por cima */
@media (max-width: 900px) {
	body .c415-imersivo { grid-template-columns: 1fr; }
	body .c415-imersivo > .c415-scenes,
	body .c415-imersivo > .c415-steps { grid-column: 1; grid-row: 1; }
	body .c415-imersivo > .c415-steps { position: relative; z-index: 2; }
	body .c415-imersivo > .c415-scenes::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 2;
		background: linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, .15) 40%, rgba(0, 0, 0, .7) 100%);
		pointer-events: none;
	}
	body .c415-steps > .c415-step {
		justify-content: flex-end;
		padding: 0 16px 15vh;
		opacity: 1;
	}
	/* cartão translúcido atrás do texto */
	body .c415-steps > .c415-step > .elementor-element:first-child { margin-top: auto; }
	body .c415-steps > .c415-step > .elementor-element {
		background: rgba(0, 0, 0, .62); /* um único fundo contínuo (sem desfoque por bloco, que criava emendas) */
		padding-left: 20px;
		padding-right: 20px;
		margin: 0 !important;
	}
	body .c415-steps > .c415-step > .elementor-element:first-child { padding-top: 20px; }
	body .c415-steps > .c415-step > .elementor-element:last-child { padding-bottom: 20px; }
	body .c415-steps > .c415-step { gap: 0 !important; }
	body .c415-steps > .c415-step > .elementor-element + .elementor-element { padding-top: 12px; }
	.c415-scene-counter { top: 20px; bottom: auto; right: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	body .c415-scenes .c415-scene { transform: none !important; transition: opacity .01ms !important; }
}

/* -------------------------------------------------------------
   Newsletter (rodapé)
------------------------------------------------------------- */

.newsletter-wrapper {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
}

#newsletter-email {
	flex: 1;
	min-width: 0; /* não quebra o layout no celular */
	height: var(--c415-btn-height);
	padding: 0 20px;
	border: 1px solid #ffffff1a;
	border-radius: 0;
	outline: none;
	background: #ffffff0d;
	color: #fff;
	font-size: 16px; /* 16px evita o zoom automático do iPhone ao focar */
}
#newsletter-email:hover,
#newsletter-email:focus { background: #333; border-color: #ffffff4d; }

/* O botão "Enviar" usa o estilo de botão primário (seção Botões) */
.newsletter-btn { flex: none; white-space: nowrap; }

#newsletter-msg {
	min-height: 20px;
	margin-top: 8px;
	color: #fff;
	font-size: 14px;
}

@media (max-width: 600px) {
	.newsletter-wrapper { max-width: 100%; }
	.newsletter-btn { --c415-btn-padding: 16px; }
}

/* -------------------------------------------------------------
   Feed do Instagram (Trustindex)
------------------------------------------------------------- */

.ti-widget[data-wkey="feed-instagram"][data-style="custom-style"][data-widget-type="social"] .ti-widget-header .ti-header-btn .ti-btn,
.ti-widget[data-wkey="feed-instagram"][data-style="custom-style"][data-widget-type="social"] .ti-widget-header .ti-header-btn .ti-btn:hover {
	background: linear-gradient(135deg, rgb(165, 0, 255), rgb(123, 47, 190));
}

.ti-full-name,
.ti-widget[data-wkey="feed-instagram"][data-style="custom-style"] header[data-header-type="3"] .ti-widget-header .ti-profile .ti-header-numbers .ti-number .ti-value {
	color: #fff !important;
}
