* ===================================================== */ /* ===================================================== VARIÁVEIS ===================================================== */ .gc-legal-page { --gc-gold: #f5a800; --gc-gold-light: #ffbd28; --gc-gold-dark: #b97a00; --gc-bg: #090909; --gc-bg-soft: #0d0d0d; --gc-card: #101010; --gc-card-hover: #131313; --gc-border: rgba(245, 168, 0, 0.18); --gc-border-strong: rgba(245, 168, 0, 0.38); --gc-text: #ffffff; --gc-text-soft: #c8c8c8; --gc-text-muted: #858585; width: 100%; position: relative; background: radial-gradient( circle at 50% 0%, rgba(245, 168, 0, 0.06), transparent 30% ), var(--gc-bg); color: var(--gc-text); font-family: inherit; overflow: hidden; } /* ===================================================== RESET LOCAL ===================================================== */ .gc-legal-page, .gc-legal-page * { box-sizing: border-box; } .gc-legal-page h1, .gc-legal-page h2, .gc-legal-page h3, .gc-legal-page p, .gc-legal-page ul { margin-top: 0; } .gc-legal-page a { text-decoration: none; } /* * Impede que estilos globais do Elementor ou do tema * sobrescrevam as cores dos títulos do shortcode. */ .gc-legal-page h1, .gc-legal-page h2, .gc-legal-page h3 { opacity: 1 !important; -webkit-text-fill-color: currentColor !important; } /* ===================================================== CONTAINER GLOBAL ===================================================== */ .gc-legal-container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; } /* ===================================================== HERO ===================================================== */ .gc-legal-hero { position: relative; padding: 110px 0 80px; border-bottom: 1px solid var(--gc-border); overflow: hidden; } /* Glow superior */ .gc-legal-hero::before { content: ""; position: absolute; width: 600px; height: 350px; top: -220px; left: 50%; transform: translateX(-50%); background: rgba(245, 168, 0, 0.12); filter: blur(120px); border-radius: 50%; pointer-events: none; } /* Linha decorativa */ .gc-legal-hero::after { content: ""; position: absolute; width: 1px; height: 120px; top: 0; left: 50%; background: linear-gradient( to bottom, rgba(245, 168, 0, 0), rgba(245, 168, 0, 0.4), rgba(245, 168, 0, 0) ); pointer-events: none; } .gc-legal-hero-content { position: relative; z-index: 2; max-width: 780px; margin: 0 auto; text-align: center; } /* ===================================================== EYEBROW DO HERO ===================================================== */ .gc-legal-page .gc-legal-eyebrow { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 22px; color: var(--gc-gold) !important; font-size: 12px; font-weight: 800; line-height: 1; letter-spacing: 2px; text-transform: uppercase; } .gc-legal-eyebrow::before, .gc-legal-eyebrow::after { content: ""; width: 32px; height: 1px; background: var(--gc-gold); } /* ===================================================== TÍTULO PRINCIPAL ===================================================== */ .gc-legal-page .gc-legal-hero .gc-legal-title { margin: 0 0 24px; color: #ffffff !important; font-size: clamp(42px, 5vw, 68px); font-weight: 800; line-height: 1.02; letter-spacing: -2.5px; opacity: 1 !important; -webkit-text-fill-color: #ffffff !important; } .gc-legal-page .gc-legal-hero .gc-legal-title span { color: var(--gc-gold) !important; -webkit-text-fill-color: var(--gc-gold) !important; } /* ===================================================== DESCRIÇÃO DO HERO ===================================================== */ .gc-legal-hero-description { max-width: 680px; margin: 0 auto 28px; color: var(--gc-text-soft); font-size: 17px; font-weight: 400; line-height: 1.75; } /* ===================================================== ÚLTIMA ATUALIZAÇÃO ===================================================== */ .gc-legal-update { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 16px; border: 1px solid var(--gc-border); border-radius: 999px; background: rgba(255, 255, 255, 0.025); color: var(--gc-text-muted); font-size: 11px; font-weight: 600; letter-spacing: 0.4px; } .gc-legal-update-icon { color: var(--gc-gold); font-size: 15px; } /* ===================================================== NAVEGAÇÃO INTERNA ===================================================== */ .gc-legal-navigation { position: relative; z-index: 20; width: 100%; background: rgba(9, 9, 9, 0.96); border-bottom: 1px solid var(--gc-border); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); } .gc-legal-nav-wrapper { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 0; } .gc-legal-nav-link { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px; border: 1px solid transparent; border-radius: 8px; color: var(--gc-text-muted); font-size: 12px; font-weight: 700; transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease; } .gc-legal-nav-link:hover, .gc-legal-nav-link:focus-visible { color: var(--gc-gold); border-color: var(--gc-border); background: rgba(245, 168, 0, 0.05); } /* ===================================================== CONTEÚDO PRINCIPAL ===================================================== */ .gc-legal-content-section { position: relative; padding: 80px 0 110px; } .gc-legal-layout { width: 100%; } .gc-legal-content { width: 100%; max-width: 960px; margin: 0 auto; } /* ===================================================== BLOCOS PRINCIPAIS ===================================================== */ .gc-legal-block { position: relative; margin-bottom: 32px; background: linear-gradient( 145deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.005) ), var(--gc-card); border: 1px solid var(--gc-border); border-radius: 16px; overflow: hidden; transition: border-color 0.3s ease, box-shadow 0.3s ease; } .gc-legal-block:hover { border-color: var(--gc-border-strong); box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3), 0 0 35px rgba(245, 168, 0, 0.025); } /* Barra dourada superior */ .gc-legal-block::before { content: ""; position: absolute; top: 0; left: 40px; width: 70px; height: 2px; background: linear-gradient( 90deg, var(--gc-gold), rgba(245, 168, 0, 0) ); } /* ===================================================== CABEÇALHO DOS BLOCOS ===================================================== */ .gc-legal-block-header { display: flex; align-items: center; gap: 20px; padding: 34px 40px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); background: rgba(255, 255, 255, 0.012); } /* Número */ .gc-legal-block-number { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid var(--gc-border-strong); border-radius: 12px; background: rgba(245, 168, 0, 0.06); color: var(--gc-gold); font-size: 14px; font-weight: 800; letter-spacing: 1px; } /* Eyebrow */ .gc-legal-page .gc-legal-block-eyebrow { display: block; margin-bottom: 7px; color: var(--gc-gold) !important; font-size: 10px; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; } /* ===================================================== TÍTULOS DOS BLOCOS ===================================================== */ .gc-legal-page .gc-legal-block .gc-legal-block-title { margin: 0; color: #ffffff !important; font-size: clamp(25px, 3vw, 34px); font-weight: 800; line-height: 1.15; letter-spacing: -0.8px; opacity: 1 !important; -webkit-text-fill-color: #ffffff !important; } /* ===================================================== CONTEÚDO INTERNO DOS BLOCOS ===================================================== */ .gc-legal-block-content { padding: 10px 40px 42px; } /* ===================================================== TÓPICOS ===================================================== */ .gc-legal-topic { position: relative; padding: 30px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.055); } .gc-legal-topic:last-child { padding-bottom: 0; border-bottom: 0; } /* ===================================================== TÍTULOS INTERNOS ===================================================== */ .gc-legal-page .gc-legal-block .gc-legal-topic h3 { position: relative; margin: 0 0 14px; padding-left: 17px; color: #ffffff !important; font-size: 17px; font-weight: 700; line-height: 1.4; opacity: 1 !important; -webkit-text-fill-color: #ffffff !important; } .gc-legal-topic h3::before { content: ""; position: absolute; top: 7px; left: 0; width: 5px; height: 5px; background: var(--gc-gold); border-radius: 50%; box-shadow: 0 0 10px rgba(245, 168, 0, 0.5); } /* ===================================================== PARÁGRAFOS ===================================================== */ .gc-legal-topic p { margin: 0 0 15px; color: var(--gc-text-soft); font-size: 14px; font-weight: 400; line-height: 1.85; } .gc-legal-topic p:last-child { margin-bottom: 0; } /* ===================================================== LISTAS ===================================================== */ .gc-legal-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 22px 0 0; padding: 0; list-style: none; } .gc-legal-list li { position: relative; padding: 12px 14px 12px 34px; background: rgba(255, 255, 255, 0.018); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 8px; color: #bcbcbc; font-size: 13px; line-height: 1.6; } .gc-legal-list li::before { content: "✓"; position: absolute; top: 12px; left: 13px; color: var(--gc-gold); font-size: 11px; font-weight: 800; } /* ===================================================== ÂNCORAS / OFFSET PARA HEADER ===================================================== */ #politica-privacidade, #politica-cookies, #termos-uso, #contato-privacidade { scroll-margin-top: 120px; } /* ===================================================== CONTATO FINAL ===================================================== */ .gc-legal-contact { position: relative; margin-top: 50px; padding: 55px; background: linear-gradient( 120deg, rgba(245, 168, 0, 0.07), rgba(245, 168, 0, 0.015) 45%, rgba(255, 255, 255, 0.015) ), #0e0e0e; border: 1px solid var(--gc-border-strong); border-radius: 16px; overflow: hidden; } /* Linha superior */ .gc-legal-contact::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient( 90deg, transparent, var(--gc-gold), transparent ); } /* Conteúdo */ .gc-legal-contact-content { position: relative; z-index: 3; max-width: 720px; } /* Eyebrow */ .gc-legal-contact-eyebrow { display: block; margin-bottom: 12px; color: var(--gc-gold) !important; font-size: 10px; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; } /* Título */ .gc-legal-page .gc-legal-contact h2 { margin: 0 0 16px; color: #ffffff !important; font-size: clamp(28px, 4vw, 42px); font-weight: 800; line-height: 1.1; letter-spacing: -1.2px; opacity: 1 !important; -webkit-text-fill-color: #ffffff !important; } /* Texto */ .gc-legal-contact p { max-width: 650px; margin: 0; color: var(--gc-text-soft); font-size: 14px; line-height: 1.8; } /* ===================================================== BOTÕES DE CONTATO ===================================================== */ .gc-legal-contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; } .gc-legal-contact-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 20px; border-radius: 8px; font-size: 11px; font-weight: 800; line-height: 1.2; transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; } .gc-legal-contact-button:hover { transform: translateY(-2px); } /* Botão secundário */ .gc-legal-contact-button-secondary { color: #ffffff; background: rgba(255, 255, 255, 0.025); border: 1px solid rgba(255, 255, 255, 0.12); } .gc-legal-contact-button-secondary:hover { color: var(--gc-gold); border-color: var(--gc-border-strong); background: rgba(245, 168, 0, 0.05); } /* Botão principal */ .gc-legal-contact-button-primary { color: #080808; background: var(--gc-gold); border: 1px solid var(--gc-gold); } .gc-legal-contact-button-primary:hover { color: #080808; background: var(--gc-gold-light); border-color: var(--gc-gold-light); box-shadow: 0 10px 30px rgba(245, 168, 0, 0.16); } /* ===================================================== GLOW DO CTA ===================================================== */ .gc-legal-contact-glow { position: absolute; width: 320px; height: 320px; top: 50%; right: -150px; transform: translateY(-50%); background: rgba(245, 168, 0, 0.09); filter: blur(90px); border-radius: 50%; pointer-events: none; } /* ===================================================== ACESSIBILIDADE ===================================================== */ .gc-legal-page a:focus-visible { outline: 2px solid var(--gc-gold); outline-offset: 3px; } /* ===================================================== TABLET ===================================================== */ @media (max-width: 1024px) { .gc-legal-container { width: min(100% - 40px, 960px); } .gc-legal-hero { padding: 90px 0 70px; } .gc-legal-content-section { padding: 65px 0 90px; } .gc-legal-list { grid-template-columns: 1fr; } } /* ===================================================== MOBILE ===================================================== */ @media (max-width: 767px) { .gc-legal-container { width: calc(100% - 30px); } /* HERO */ .gc-legal-hero { padding: 70px 0 55px; } .gc-legal-eyebrow { font-size: 10px; letter-spacing: 1.5px; } .gc-legal-eyebrow::before, .gc-legal-eyebrow::after { width: 20px; } .gc-legal-page .gc-legal-hero .gc-legal-title { margin-bottom: 20px; font-size: clamp(38px, 12vw, 52px); letter-spacing: -1.5px; } .gc-legal-hero-description { font-size: 14px; line-height: 1.7; } .gc-legal-update { font-size: 10px; } /* NAVEGAÇÃO */ .gc-legal-nav-wrapper { justify-content: flex-start; padding: 12px 0; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; } .gc-legal-nav-wrapper::-webkit-scrollbar { display: none; } .gc-legal-nav-link { flex: 0 0 auto; min-height: 38px; padding: 0 14px; font-size: 10px; } /* CONTEÚDO */ .gc-legal-content-section { padding: 45px 0 70px; } .gc-legal-block { margin-bottom: 22px; border-radius: 12px; } .gc-legal-block::before { left: 22px; } /* HEADER DO BLOCO */ .gc-legal-block-header { gap: 14px; padding: 26px 22px; } .gc-legal-block-number { width: 44px; height: 44px; border-radius: 9px; font-size: 12px; } .gc-legal-page .gc-legal-block .gc-legal-block-title { font-size: 23px; letter-spacing: -0.5px; } /* CONTEÚDO DO BLOCO */ .gc-legal-block-content { padding: 5px 22px 30px; } .gc-legal-topic { padding: 24px 0; } .gc-legal-page .gc-legal-block .gc-legal-topic h3 { font-size: 15px; } .gc-legal-topic p { font-size: 13px; line-height: 1.75; } /* LISTAS */ .gc-legal-list { grid-template-columns: 1fr; gap: 8px; margin-top: 18px; } .gc-legal-list li { padding: 11px 12px 11px 32px; font-size: 12px; } .gc-legal-list li::before { top: 11px; left: 12px; } /* CTA */ .gc-legal-contact { margin-top: 35px; padding: 38px 24px; border-radius: 12px; } .gc-legal-page .gc-legal-contact h2 { font-size: 29px; } .gc-legal-contact p { font-size: 13px; } .gc-legal-contact-actions { flex-direction: column; align-items: stretch; } .gc-legal-contact-button { width: 100%; min-height: 50px; padding: 10px 16px; text-align: center; } } /* ===================================================== MOBILE PEQUENO ===================================================== */ @media (max-width: 420px) { .gc-legal-container { width: calc(100% - 24px); } .gc-legal-page .gc-legal-hero .gc-legal-title { font-size: 36px; } .gc-legal-block-header { align-items: flex-start; } .gc-legal-block-number { width: 40px; height: 40px; } .gc-legal-page .gc-legal-block .gc-legal-block-title { font-size: 21px; } .gc-legal-block-content { padding-left: 18px; padding-right: 18px; } } /* ===================================================== REDUÇÃO DE MOVIMENTO ===================================================== */ @media (prefers-reduced-motion: reduce) { .gc-legal-page *, .gc-legal-page *::before, .gc-legal-page *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; } } /* ===================================================== AJUSTES VISUAIS — PORTFÓLIO PESSOAL ===================================================== */ .gc-legal-page .gc-legal-block, .gc-legal-page .gc-legal-contact { box-shadow: 0 18px 55px rgba(0,0,0,.20); } .gc-legal-page .gc-legal-block::before { width: 90px; background: linear-gradient(90deg, var(--gc-gold), rgba(245,168,0,0)); } .gc-legal-page .gc-legal-contact::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 88% 45%, rgba(245,168,0,.07), transparent 30%); } @media (prefers-reduced-motion: no-preference) { .gc-legal-page .gc-legal-block { transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; } .gc-legal-page .gc-legal-block:hover { transform: translateY(-2px); } }