﻿/* ===== RESET E CONFIGURAÇÕES GERAIS ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* Firefox */
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.1) transparent;
}
*::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
*::-webkit-scrollbar-track {
    background: transparent;
}
*::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.1);
    border-radius: 99px;
}
*::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.22);
}
*::-webkit-scrollbar-corner {
    background: transparent;
}

:root {
    /* Paleta de Cores */
    --primary-green: #facc15;
    --secondary-green: #eab308;
    --light-green: #fef08a;
    --accent-green: #ca8a04;
    --white: #0a0a0a;
    --light-gray: #151515;
    --medium-gray: #a0a0a0;
    --dark-gray: #f5f5f5;
    --border-gray: #333333;
    
    /* Gradientes */
    --gradient-primary: linear-gradient(135deg, var(--primary-green), var(--secondary-green));
    --gradient-light: linear-gradient(135deg, var(--light-green), var(--secondary-green));
    
    /* Tipografia */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;
    
    /* Espaçamentos */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;
    --spacing-3xl: 4rem;
    
    /* Sombras */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    
    /* Bordas */
    --border-radius-sm: 0.25rem;
    --border-radius-md: 0.375rem;
    --border-radius-lg: 0.5rem;
    --border-radius-xl: 0.75rem;
    --border-radius-2xl: 1rem;
    
    /* Transições */
    --transition-fast: 0.15s ease-in-out;
    --transition-normal: 0.3s ease-in-out;
    --transition-slow: 0.5s ease-in-out;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    line-height: 1.6;
    color: var(--dark-gray);
    background-color: var(--white);
    overflow-x: hidden;
}

/* ===== UTILITÁRIOS ===== */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.highlight {
    color: var(--primary-green);
}

.text-center {
    text-align: center;
}

.text-green {
    color: var(--primary-green);
}

.bg-light {
    background-color: var(--light-gray);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ===== BOTÕES ===== */
.btn {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md) var(--spacing-xl);
    font-size: var(--font-size-base);
    font-weight: 500;
    text-decoration: none;
    border: none;
    border-radius: var(--border-radius-lg);
    cursor: pointer;
    transition: all var(--transition-normal);
    text-align: center;
    white-space: nowrap;
}

.btn-primary {
    background: var(--gradient-primary);
    color: var(--white);
    box-shadow: var(--shadow-md);
}

.btn-primary:hover {
    background: var(--gradient-light);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.btn-secondary {
    background-color: var(--white);
    color: var(--primary-green);
    border: 2px solid var(--primary-green);
}

.btn-secondary:hover {
    background-color: var(--primary-green);
    color: var(--white);
}

.btn-outline {
    background-color: transparent;
    color: var(--primary-green);
    border: 1px solid var(--primary-green);
}

.btn-outline:hover {
    background-color: var(--primary-green);
    color: var(--white);
}

.btn-whatsapp {
    background-color: #25d366;
    color: var(--white);
}

.btn-whatsapp:hover {
    background-color: #128c7e;
}

.btn-large {
    padding: var(--spacing-lg) var(--spacing-2xl);
    font-size: var(--font-size-lg);
}

.btn-full {
    width: 100%;
    justify-content: center;
}

.btn-area-cliente {
    background: var(--gradient-primary);
    color: var(--white);
    padding: var(--spacing-sm) var(--spacing-lg);
    border-radius: var(--border-radius-xl);
    font-weight: 600;
    text-decoration: none;
    transition: all var(--transition-normal);
}

.btn-area-cliente:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

/* ===== HEADER ===== */
.header {
    background-color: var(--white);
    box-shadow: var(--shadow-md);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

.navbar {
    padding: var(--spacing-md) 0;
}

.navbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-brand {
    display: flex;
    align-items: center;
}

.nav-brand a {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    text-decoration: none;
    color: var(--dark-gray);
    transition: all var(--transition-normal);
}

.nav-brand a:hover {
    transform: translateY(-1px);
}

.logo {
    height: 40px;
    width: auto;
    max-width: 150px;
    object-fit: contain;
    transition: all var(--transition-normal);
}

.logo:hover {
    transform: scale(1.05);
}

/* Fallback quando a logo não carrega */
.logo-fallback {
    display: none;
    width: 40px;
    height: 40px;
    background: var(--gradient-primary);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: 700;
    font-size: var(--font-size-lg);
}

.brand-text {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--dark-gray);
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: var(--spacing-xl);
    align-items: center;
}

.nav-menu a {
    text-decoration: none;
    color: var(--dark-gray);
    font-weight: 500;
    transition: color var(--transition-normal);
    position: relative;
}

.nav-menu a:hover,
.nav-menu a.active {
    color: var(--primary-green);
}

.nav-menu a.active::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--gradient-primary);
    border-radius: var(--border-radius-sm);
}

.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 4px;
}

.hamburger span {
    width: 25px;
    height: 3px;
    background-color: var(--dark-gray);
    transition: var(--transition-normal);
}

.user-menu {
    display: flex;
    align-items: center;
    gap: var(--spacing-lg);
}

.user-welcome {
    color: var(--primary-green);
    font-weight: 500;
}

/* ===== HERO SECTION ===== */
.hero {
    background: var(--gradient-primary);
    color: var(--white);
    padding: 120px 0 80px;
    position: relative;
    overflow: hidden;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-content .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xl);
    align-items: center;
}

.hero-title {
    font-size: var(--font-size-4xl);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--spacing-lg);
}

.hero-subtitle {
    font-size: var(--font-size-lg);
    line-height: 1.6;
    margin-bottom: var(--spacing-2xl);
    opacity: 0.9;
}

.hero-buttons {
    display: flex;
    gap: var(--spacing-lg);
    flex-wrap: wrap;
}

.hero-image img {
    width: 100%;
    height: auto;
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-xl);
}

.hero-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.hero-wave svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 60px;
}

.hero-wave .shape-fill {
    fill: var(--white);
}

/* ===== PAGE HERO ===== */
.page-hero {
    background: var(--gradient-primary);
    color: var(--white);
    padding: 120px 0 60px;
    text-align: center;
}

.page-hero h1 {
    font-size: var(--font-size-3xl);
    font-weight: 700;
    margin-bottom: var(--spacing-md);
}

.page-hero p {
    font-size: var(--font-size-lg);
    opacity: 0.9;
    margin-bottom: var(--spacing-lg);
}

.breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    font-size: var(--font-size-sm);
}

.breadcrumb a {
    color: var(--white);
    text-decoration: none;
    opacity: 0.8;
}

.breadcrumb a:hover {
    opacity: 1;
}

.breadcrumb span {
    opacity: 0.6;
}

/* ===== SECTIONS ===== */
section {
    padding: var(--spacing-3xl) 0;
}

.section-header {
    text-align: center;
    margin-bottom: var(--spacing-3xl);
}

.section-header h2 {
    font-size: var(--font-size-3xl);
    font-weight: 700;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.section-header p {
    font-size: var(--font-size-lg);
    color: var(--medium-gray);
    max-width: 600px;
    margin: 0 auto;
}

/* ===== ABOUT SECTION ===== */
.about {
    background-color: var(--light-gray);
}

.about-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xl);
    align-items: center;
}

.about-text h3 {
    font-size: var(--font-size-2xl);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-lg);
}

.about-text p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-lg);
}

.features {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.feature {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-lg);
}

.feature i {
    color: var(--primary-green);
    font-size: var(--font-size-xl);
    margin-top: var(--spacing-xs);
}

.feature h4 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-xs);
}

.feature p {
    color: var(--medium-gray);
    margin: 0;
}

.about-image img {
    width: 100%;
    height: auto;
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-lg);
}

/* ===== SERVICES PREVIEW ===== */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-2xl);
}

.service-card {
    background-color: var(--white);
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
    text-align: center;
    transition: all var(--transition-normal);
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.service-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--spacing-lg);
}

.service-icon i {
    font-size: var(--font-size-2xl);
    color: var(--white);
}

.service-card h3 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.service-card p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-lg);
}

.service-link {
    color: var(--primary-green);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--transition-normal);
}

.service-link:hover {
    color: var(--accent-green);
}

.services-cta {
    text-align: center;
}

/* ===== PRODUCTS PREVIEW ===== */
.products-preview {
    background-color: var(--white);
}

.products-home-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-2xl);
}

.product-home-card {
    background-color: var(--light-gray);
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    text-align: center;
    transition: all var(--transition-normal);
    border: 2px solid transparent;
}

.product-home-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary-green);
}

.product-home-icon {
    width: 70px;
    height: 70px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--spacing-lg);
}

.product-home-icon i {
    font-size: var(--font-size-xl);
    color: var(--white);
}

.product-home-card h3 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.product-home-card p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-lg);
}

.product-home-price {
    font-size: var(--font-size-lg);
    color: var(--primary-green);
    margin-bottom: var(--spacing-lg);
}

.product-home-price strong {
    font-weight: 700;
    font-size: var(--font-size-xl);
}

.product-home-link {
    color: var(--primary-green);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--transition-normal);
}

.product-home-link:hover {
    color: var(--accent-green);
}

.products-home-cta {
    text-align: center;
    display: flex;
    gap: var(--spacing-lg);
    justify-content: center;
    flex-wrap: wrap;
}

/* ===== DIGITAL PACKS PREVIEW HOME ===== */
.digital-packs-preview {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: var(--white);
}

.digital-home-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-2xl);
}

.digital-home-card {
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    text-align: center;
    transition: all var(--transition-normal);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.digital-home-card:hover {
    transform: translateY(-5px);
    background-color: rgba(255, 255, 255, 0.15);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.digital-home-icon {
    width: 70px;
    height: 70px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--spacing-lg);
}

.digital-home-icon i {
    font-size: var(--font-size-xl);
    color: var(--white);
}

.digital-home-card h3 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--white);
    margin-bottom: var(--spacing-md);
}

.digital-home-card p {
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: var(--spacing-lg);
}

.digital-home-price {
    font-size: var(--font-size-lg);
    color: var(--white);
    margin-bottom: var(--spacing-lg);
}

.digital-home-price strong {
    font-weight: 700;
    font-size: var(--font-size-xl);
}

.digital-home-link {
    color: var(--white);
    text-decoration: none;
    font-weight: 500;
    transition: opacity var(--transition-normal);
}

.digital-home-link:hover {
    opacity: 0.8;
}

.digital-home-cta {
    text-align: center;
    display: flex;
    gap: var(--spacing-lg);
    justify-content: center;
    flex-wrap: wrap;
}

/* ===== COURSES CTA ===== */
.courses-cta {
    background: var(--gradient-primary);
    color: var(--white);
}

.cta-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xl);
    align-items: center;
}

.cta-text h2 {
    font-size: var(--font-size-3xl);
    font-weight: 700;
    margin-bottom: var(--spacing-lg);
}

.cta-text p {
    font-size: var(--font-size-lg);
    opacity: 0.9;
    margin-bottom: var(--spacing-xl);
}

.benefits {
    list-style: none;
    margin-bottom: var(--spacing-xl);
}

.benefits li {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.benefits i {
    color: var(--light-green);
    font-size: var(--font-size-lg);
}

.cta-buttons {
    display: flex;
    gap: var(--spacing-lg);
    flex-wrap: wrap;
}

.cta-image img {
    width: 100%;
    height: auto;
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-xl);
}

/* ===== CONTACT FORM ===== */
.contact-form {
    background-color: var(--light-gray);
}

.form-container {
    max-width: 800px;
    margin: 0 auto;
}

.contact-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group.full-width {
    grid-column: 1 / -1;
}

.form-group label {
    font-weight: 500;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-sm);
}

.form-group input,
.form-group select,
.form-group textarea {
    padding: var(--spacing-md);
    border: 1px solid var(--border-gray);
    border-radius: var(--border-radius-lg);
    font-size: var(--font-size-base);
    transition: border-color var(--transition-normal);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--primary-green);
    box-shadow: 0 0 0 3px rgba(45, 122, 45, 0.1);
}

.form-group textarea {
    resize: vertical;
    min-height: 120px;
}

/* ===== WHATSAPP FLOAT ===== */
.whatsapp-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
}

.whatsapp-float a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background-color: #25d366;
    color: var(--white);
    border-radius: 50%;
    font-size: var(--font-size-2xl);
    text-decoration: none;
    box-shadow: var(--shadow-lg);
    transition: all var(--transition-normal);
    animation: pulse 2s infinite;
}

.whatsapp-float a:hover {
    transform: scale(1.1);
    background-color: #128c7e;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(37, 211, 102, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

/* ===== FOOTER ===== */
.footer {
    background-color: var(--dark-gray);
    color: var(--white);
    padding: var(--spacing-3xl) 0 var(--spacing-xl);
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-2xl);
    margin-bottom: var(--spacing-2xl);
}

.footer-section h3,
.footer-section h4 {
    color: var(--white);
    margin-bottom: var(--spacing-lg);
}

.footer-section p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-lg);
}

.footer-section ul {
    list-style: none;
}

.footer-section ul li {
    margin-bottom: var(--spacing-sm);
}

.footer-section ul li a {
    color: var(--medium-gray);
    text-decoration: none;
    transition: color var(--transition-normal);
}

.footer-section ul li a:hover {
    color: var(--white);
}

.social-links {
    display: flex;
    gap: var(--spacing-md);
}

.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: var(--primary-green);
    color: var(--white);
    border-radius: 50%;
    text-decoration: none;
    transition: all var(--transition-normal);
}

.social-links a:hover {
    background-color: var(--secondary-green);
    transform: translateY(-2px);
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.contact-info p {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin: 0;
}

.contact-info i {
    color: var(--primary-green);
    width: 20px;
}

.footer-bottom {
    text-align: center;
    padding-top: var(--spacing-xl);
    border-top: 1px solid var(--medium-gray);
    color: var(--medium-gray);
}

/* ===== SERVICES PAGE ===== */
.service-detail {
    margin-bottom: var(--spacing-3xl);
    padding: var(--spacing-3xl) 0;
}

.service-detail:nth-child(even) {
    background-color: var(--light-gray);
}

.service-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xl);
    align-items: center;
}

.service-content.reverse {
    direction: rtl;
}

.service-content.reverse > * {
    direction: ltr;
}

.service-icon-large {
    width: 100px;
    height: 100px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--spacing-lg);
}

.service-icon-large i {
    font-size: var(--font-size-3xl);
    color: var(--white);
}

.service-detail h2 {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-lg);
}

.service-description {
    font-size: var(--font-size-lg);
    color: var(--medium-gray);
    margin-bottom: var(--spacing-xl);
}

.service-features h3,
.service-types h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.service-features ul {
    list-style: none;
    margin-bottom: var(--spacing-xl);
}

.service-features li {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
}

.service-features i {
    color: var(--primary-green);
    font-size: var(--font-size-sm);
}

.types-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.type-tag {
    background-color: var(--primary-green);
    color: var(--white);
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: var(--border-radius-xl);
    font-size: var(--font-size-sm);
    font-weight: 500;
}

.service-image img {
    width: 100%;
    height: auto;
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-lg);
}

/* ===== PROCESS SECTION ===== */
.process-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-xl);
}

.step {
    text-align: center;
    position: relative;
}

.step-number {
    width: 60px;
    height: 60px;
    background: var(--gradient-primary);
    color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-xl);
    font-weight: 700;
    margin: 0 auto var(--spacing-lg);
}

.step h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.step p {
    color: var(--medium-gray);
}

/* ===== COURSES PAGE ===== */
.course-main {
    background-color: var(--light-gray);
}

.course-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xl);
    align-items: center;
}

.course-intro {
    font-size: var(--font-size-lg);
    color: var(--medium-gray);
    margin-bottom: var(--spacing-xl);
}

.course-highlights {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
}

.highlight-item {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-lg);
}

.highlight-item i {
    color: var(--primary-green);
    font-size: var(--font-size-xl);
    margin-top: var(--spacing-xs);
}

.highlight-item h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-xs);
}

.highlight-item p {
    color: var(--medium-gray);
    margin: 0;
}

.course-modules {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--spacing-xl);
}

.module {
    background-color: var(--white);
    padding: var(--spacing-xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
    transition: all var(--transition-normal);
}

.module:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.module-icon {
    width: 60px;
    height: 60px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--spacing-lg);
}

.module-icon i {
    font-size: var(--font-size-xl);
    color: var(--white);
}

.module h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.module ul {
    list-style: none;
}

.module li {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-sm);
    padding-left: var(--spacing-lg);
    position: relative;
}

.module li::before {
    content: '•';
    color: var(--primary-green);
    position: absolute;
    left: 0;
}

/* ===== COURSE BENEFITS ===== */
.course-benefits {
    background-color: var(--light-gray);
}

.benefits-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xl);
    align-items: center;
}

.benefit-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.benefit-item {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-lg);
}

.benefit-item i {
    color: var(--primary-green);
    font-size: var(--font-size-xl);
    margin-top: var(--spacing-xs);
}

.benefit-item h4 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-xs);
}

.benefit-item p {
    color: var(--medium-gray);
    margin: 0;
}

.benefits-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
}

.stat-item {
    text-align: center;
    padding: var(--spacing-xl);
    background-color: var(--white);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
}

.stat-number {
    font-size: var(--font-size-3xl);
    font-weight: 700;
    color: var(--primary-green);
    margin-bottom: var(--spacing-sm);
}

.stat-label {
    color: var(--medium-gray);
    font-weight: 500;
}

/* ===== TESTIMONIALS ===== */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--spacing-xl);
}

.testimonial {
    background-color: var(--white);
    padding: var(--spacing-xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
}

.testimonial-content {
    margin-bottom: var(--spacing-lg);
}

.testimonial-content p {
    font-style: italic;
    color: var(--medium-gray);
    font-size: var(--font-size-lg);
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.testimonial-author img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-author h4 {
    color: var(--dark-gray);
    font-weight: 600;
    margin-bottom: var(--spacing-xs);
}

.testimonial-author span {
    color: var(--medium-gray);
    font-size: var(--font-size-sm);
}

/* ===== COURSE CTA ===== */
.course-cta {
    background: var(--gradient-primary);
    color: var(--white);
    text-align: center;
}

.course-cta h2 {
    font-size: var(--font-size-3xl);
    font-weight: 700;
    margin-bottom: var(--spacing-lg);
}

.course-cta p {
    font-size: var(--font-size-lg);
    opacity: 0.9;
    margin-bottom: var(--spacing-xl);
}

.cta-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-2xl);
}

.info-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    justify-content: center;
}

.info-item i {
    color: var(--light-green);
    font-size: var(--font-size-xl);
}

.info-item h4 {
    font-weight: 600;
    margin-bottom: var(--spacing-xs);
}

.info-item p {
    margin: 0;
    opacity: 0.9;
}

/* ===== FAQ ===== */
.faq-list {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background-color: var(--white);
    border-radius: var(--border-radius-lg);
    margin-bottom: var(--spacing-md);
    box-shadow: var(--shadow-sm);
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-lg);
    cursor: pointer;
    transition: background-color var(--transition-normal);
}

.faq-question:hover {
    background-color: var(--light-gray);
}

.faq-question h4 {
    color: var(--dark-gray);
    font-weight: 600;
    margin: 0;
}

.faq-question i {
    color: var(--primary-green);
    transition: transform var(--transition-normal);
}

.faq-answer {
    padding: 0 var(--spacing-lg) var(--spacing-lg);
    display: none;
}

.faq-answer p {
    color: var(--medium-gray);
    margin: 0;
}

.faq-item.active .faq-answer {
    display: block;
}

.faq-item.active .faq-question i {
    transform: rotate(45deg);
}

/* ===== CONTACT PAGE ===== */
.contact-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-xl);
}

.contact-card {
    background-color: var(--white);
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
    text-align: center;
    transition: all var(--transition-normal);
}

.contact-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.contact-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--spacing-lg);
}

.contact-icon i {
    font-size: var(--font-size-2xl);
    color: var(--white);
}

.contact-card h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.contact-card p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-lg);
}

.contact-link {
    color: var(--primary-green);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--transition-normal);
}

.contact-link:hover {
    color: var(--accent-green);
}

.contact-form-section {
    background-color: var(--light-gray);
}

.contact-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xl);
    align-items: flex-start;
}

.contact-text h2 {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-lg);
}

.contact-text > p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-xl);
}

.contact-features {
    margin-bottom: var(--spacing-xl);
}

.social-contact h4 {
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.contact-form-container {
    background-color: var(--white);
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
}

.contact-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
}

/* ===== SERVICE AREAS ===== */
.areas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
}

.area-card {
    background-color: var(--white);
    padding: var(--spacing-xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
}

.area-card h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--primary-green);
    margin-bottom: var(--spacing-lg);
    text-align: center;
}

.area-card ul {
    list-style: none;
}

.area-card li {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-sm);
    padding-left: var(--spacing-lg);
    position: relative;
}

.area-card li::before {
    content: '📍';
    position: absolute;
    left: 0;
}

.areas-note {
    text-align: center;
    padding: var(--spacing-lg);
    background-color: var(--light-green);
    color: var(--white);
    border-radius: var(--border-radius-lg);
}

.areas-note i {
    margin-right: var(--spacing-sm);
}

/* ===== EMERGENCY CONTACT ===== */
.emergency-contact {
    background: var(--gradient-primary);
    color: var(--white);
}

.emergency-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xl);
    align-items: center;
}

.emergency-text h2 {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    margin-bottom: var(--spacing-lg);
}

.emergency-text p {
    font-size: var(--font-size-lg);
    opacity: 0.9;
    margin-bottom: var(--spacing-xl);
}

.emergency-features {
    display: flex;
    gap: var(--spacing-xl);
}

.emergency-features .feature {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.emergency-features i {
    color: var(--light-green);
}

.emergency-contact-info {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.emergency-phone,
.emergency-whatsapp {
    display: flex;
    align-items: center;
    gap: var(--spacing-lg);
    padding: var(--spacing-lg);
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius-lg);
}

.emergency-phone i,
.emergency-whatsapp i {
    font-size: var(--font-size-2xl);
    color: var(--light-green);
}

.emergency-phone h3,
.emergency-whatsapp h3 {
    font-weight: 600;
    margin-bottom: var(--spacing-xs);
}

.emergency-phone a,
.emergency-whatsapp a {
    color: var(--white);
    text-decoration: none;
    font-size: var(--font-size-lg);
    font-weight: 500;
}

/* ===== MAP SECTION ===== */
.map-container {
    background-color: var(--light-gray);
    border-radius: var(--border-radius-xl);
    overflow: hidden;
}

.map-placeholder {
    padding: var(--spacing-3xl);
    text-align: center;
    color: var(--medium-gray);
}

.map-placeholder i {
    font-size: var(--font-size-4xl);
    color: var(--primary-green);
    margin-bottom: var(--spacing-lg);
}

.map-placeholder h3 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

/* ===== STUDENT AREA ===== */
.student-area {
    background-color: var(--light-gray);
    min-height: 100vh;
}

.student-main {
    padding-top: 80px;
    min-height: calc(100vh - 80px);
}

.auth-section {
    padding: var(--spacing-3xl) 0;
    display: flex;
    align-items: center;
    min-height: calc(100vh - 160px);
}

.auth-container {
    max-width: 500px;
    margin: 0 auto;
    background-color: var(--white);
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-lg);
}

.auth-header {
    text-align: center;
    margin-bottom: var(--spacing-xl);
}

.auth-header h1 {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.auth-header p {
    color: var(--medium-gray);
}

.auth-tabs {
    display: flex;
    margin-bottom: var(--spacing-xl);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    background-color: var(--light-gray);
}

.tab-btn {
    flex: 1;
    padding: var(--spacing-md);
    border: none;
    background-color: transparent;
    color: var(--medium-gray);
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-normal);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
}

.tab-btn.active {
    background-color: var(--primary-green);
    color: var(--white);
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.auth-form {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.auth-form small {
    color: var(--medium-gray);
    font-size: var(--font-size-sm);
    margin-top: var(--spacing-xs);
}

/* ===== DASHBOARD ===== */
.dashboard {
    padding: var(--spacing-2xl) 0;
}

.dashboard-header {
    text-align: center;
    margin-bottom: var(--spacing-3xl);
}

.dashboard-header h1 {
    font-size: var(--font-size-3xl);
    font-weight: 700;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.dashboard-header p {
    color: var(--medium-gray);
    font-size: var(--font-size-lg);
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-3xl);
}

.dashboard-card {
    background-color: var(--white);
    padding: var(--spacing-xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
    transition: all var(--transition-normal);
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-lg);
}

.dashboard-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.card-icon {
    width: 60px;
    height: 60px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.card-icon i {
    font-size: var(--font-size-xl);
    color: var(--white);
}

.card-content h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-sm);
}

.card-content p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-md);
}

.card-status {
    background-color: var(--light-gray);
    color: var(--medium-gray);
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: var(--border-radius-xl);
    font-size: var(--font-size-sm);
    font-weight: 500;
}

.card-link {
    color: var(--primary-green);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--transition-normal);
}

.card-link:hover {
    color: var(--accent-green);
}

/* ===== ANNOUNCEMENTS ===== */
.announcements {
    background-color: var(--white);
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
}

.announcements h2 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-xl);
}

.announcement-item {
    display: flex;
    gap: var(--spacing-lg);
    padding: var(--spacing-lg);
    border-radius: var(--border-radius-lg);
    background-color: var(--light-gray);
    margin-bottom: var(--spacing-lg);
}

.announcement-item:last-child {
    margin-bottom: 0;
}

.announcement-icon {
    width: 50px;
    height: 50px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.announcement-icon i {
    color: var(--white);
    font-size: var(--font-size-lg);
}

.announcement-content h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-sm);
}

.announcement-content p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-md);
}

.announcement-content small {
    color: var(--medium-gray);
    font-size: var(--font-size-sm);
}

/* ===== ALERTS ===== */
.alert {
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--border-radius-lg);
    margin-bottom: var(--spacing-lg);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.alert-success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.alert-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.alert i {
    font-size: var(--font-size-lg);
}

/* ===== PLACEHOLDERS PARA IMAGENS ===== */
.hero-image img,
.about-image img,
.cta-image img,
.course-image img,
.service-image img {
    background-color: var(--light-gray);
    border: 2px dashed var(--border-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    color: var(--medium-gray);
    font-size: var(--font-size-lg);
    text-align: center;
}

.hero-image img::before,
.about-image img::before,
.cta-image img::before,
.course-image img::before,
.service-image img::before {
    content: '📷 Imagem em breve';
    display: block;
}

/* Quando a imagem carrega, remover o placeholder */
.hero-image img[src]:not([src=""]),
.about-image img[src]:not([src=""]),
.cta-image img[src]:not([src=""]),
.course-image img[src]:not([src=""]),
.service-image img[src]:not([src=""]) {
    background: none;
    border: none;
    min-height: auto;
}

.hero-image img[src]:not([src=""])::before,
.about-image img[src]:not([src=""])::before,
.cta-image img[src]:not([src=""])::before,
.course-image img[src]:not([src=""])::before,
.service-image img[src]:not([src=""])::before {
    display: none;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 1024px) {
    .container {
        padding: 0 var(--spacing-lg);
    }
    
    .hero-content .container,
    .about-content,
    .cta-content,
    .course-content,
    .benefits-content,
    .contact-content,
    .emergency-content,
    .intro-content {
        grid-template-columns: 1fr;
        gap: var(--spacing-2xl);
    }
    
    .course-highlights {
        grid-template-columns: 1fr;
    }
    
    .service-content {
        grid-template-columns: 1fr;
    }
    
    .service-content.reverse {
        direction: ltr;
    }
    
    .benefits-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .emergency-features {
        flex-direction: column;
        gap: var(--spacing-md);
    }
    
    .products-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
    
    .packs-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
    
    .digital-benefits {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .products-grid {
        grid-template-columns: 1fr;
    }
    
    .product-actions {
        flex-direction: column;
    }
    
    .product-actions .btn {
        width: 100%;
    }
    
    .categories-grid {
        grid-template-columns: 1fr;
    }
    
    .buy-steps {
        grid-template-columns: 1fr;
    }
    
    .packs-grid {
        grid-template-columns: 1fr;
    }
    
    .pack-actions {
        flex-direction: column;
    }
    
    .pack-actions .btn {
        width: 100%;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .steps-grid {
        grid-template-columns: 1fr;
    }
    
    .pack-card.featured {
        transform: none;
    }
    
    .pack-card.featured:hover {
        transform: translateY(-5px);
    }
    :root {
        --font-size-4xl: 1.875rem;
        --font-size-3xl: 1.5rem;
        --font-size-2xl: 1.25rem;
    }
    
    .nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: var(--white);
        flex-direction: column;
        padding: var(--spacing-lg);
        box-shadow: var(--shadow-lg);
        gap: var(--spacing-lg);
    }
    
    .nav-menu.active {
        display: flex;
    }
    
    .hamburger {
        display: flex;
    }
    
    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }
    
    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }
    
    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px);
    }
    
    .hero {
        padding: 100px 0 60px;
    }
    
    .hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    
    .hero-buttons .btn {
        justify-content: center;
    }
    
    .contact-form-grid {
        grid-template-columns: 1fr;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    
    .cta-buttons .btn {
        justify-content: center;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
    }
    
    .products-home-grid {
        grid-template-columns: 1fr;
    }
    
    .products-home-cta {
        flex-direction: column;
        align-items: center;
    }
    
    .products-home-cta .btn {
        width: 100%;
        max-width: 300px;
    }
    
    .digital-home-grid {
        grid-template-columns: 1fr;
    }
    
    .digital-home-cta {
        flex-direction: column;
        align-items: center;
    }
    
    .digital-home-cta .btn {
        width: 100%;
        max-width: 300px;
    }
    
    .course-modules {
        grid-template-columns: 1fr;
    }
    
    .process-steps {
        grid-template-columns: 1fr;
    }
    
    .testimonials-grid {
        grid-template-columns: 1fr;
    }
    
    .dashboard-grid {
        grid-template-columns: 1fr;
    }
    
    .dashboard-card {
        flex-direction: column;
        text-align: center;
    }
    
    .benefits-stats {
        grid-template-columns: 1fr;
    }
    
    .cta-info {
        grid-template-columns: 1fr;
    }
    
    .info-item {
        justify-content: flex-start;
    }
    
    .areas-grid {
        grid-template-columns: 1fr;
    }
    
    .contact-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .user-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-md);
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 var(--spacing-md);
    }
    
    .hero-title {
        font-size: var(--font-size-2xl);
    }
    
    .hero-subtitle {
        font-size: var(--font-size-base);
    }
    
    .btn {
        padding: var(--spacing-md) var(--spacing-lg);
    }
    
    .btn-large {
        padding: var(--spacing-lg) var(--spacing-xl);
        font-size: var(--font-size-base);
    }
    
    .contact-cards {
        grid-template-columns: 1fr;
    }
    
    .whatsapp-float {
        bottom: 15px;
        right: 15px;
    }
    
    .whatsapp-float a {
        width: 50px;
        height: 50px;
        font-size: var(--font-size-xl);
    }
    
    .auth-container {
        margin: var(--spacing-md);
        padding: var(--spacing-lg);
    }
    
    .dashboard {
        padding: var(--spacing-lg) 0;
    }
    
    .announcement-item {
        flex-direction: column;
        text-align: center;
    }
}

/* ===== PRINT STYLES ===== */
@media print {
    .header,
    .whatsapp-float,
    .btn,
    .hero-buttons,
    .cta-buttons {
        display: none !important;
    }
    
    body {
        font-size: 12pt;
        line-height: 1.4;
    }
    
    .hero {
        background: none !important;
        color: var(--dark-gray) !important;
        padding: var(--spacing-lg) 0;
    }
    
    .page-hero {
        background: none !important;
        color: var(--dark-gray) !important;
    }
}

/* ===== PRODUCTS PAGE ===== */
.products-intro {
    background-color: var(--light-gray);
}

.intro-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xl);
    align-items: center;
}

.intro-text h2 {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-lg);
}

.intro-text p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-xl);
}

.intro-benefits {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--spacing-2xl);
}

.product-card {
    background-color: var(--white);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    transition: all var(--transition-normal);
    position: relative;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.product-image {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-normal);
}

.product-card:hover .product-image img {
    transform: scale(1.05);
}

.product-badge {
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: var(--border-radius-xl);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--white);
    z-index: 2;
}

.product-badge {
    background-color: var(--primary-green);
}

.product-badge.new {
    background-color: #ff6b35;
}

.product-badge.premium {
    background: linear-gradient(45deg, #ffd700, #ffed4e);
    color: var(--dark-gray);
}

.product-info {
    padding: var(--spacing-xl);
}

.product-info h3 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.product-description {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-lg);
    line-height: 1.6;
}

.product-features ul {
    list-style: none;
    margin-bottom: var(--spacing-lg);
}

.product-features li {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
    color: var(--medium-gray);
    font-size: var(--font-size-sm);
}

.product-features i {
    color: var(--primary-green);
    font-size: var(--font-size-xs);
}

.product-specs {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-lg);
    padding: var(--spacing-md);
    background-color: var(--light-gray);
    border-radius: var(--border-radius-md);
}

.spec {
    font-size: var(--font-size-sm);
    color: var(--medium-gray);
}

.product-price {
    display: flex;
    align-items: baseline;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-xl);
}

.price-from {
    font-size: var(--font-size-sm);
    color: var(--medium-gray);
}

.price-value {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: var(--primary-green);
}

.price-unit {
    font-size: var(--font-size-sm);
    color: var(--medium-gray);
}

.product-actions {
    display: flex;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.product-actions .btn {
    flex: 1;
    justify-content: center;
    min-width: 140px;
}

/* How to Buy Section */
.how-to-buy {
    background-color: var(--light-gray);
}

.buy-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-xl);
}

/* Categories Section */
.categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-xl);
}

.category-card {
    background-color: var(--white);
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
    text-align: center;
    transition: all var(--transition-normal);
}

.category-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.category-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--spacing-lg);
}

.category-icon i {
    font-size: var(--font-size-2xl);
    color: var(--white);
}

.category-card h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.category-card p {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-lg);
}

.category-card ul {
    list-style: none;
    text-align: left;
}

.category-card li {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-sm);
    padding-left: var(--spacing-lg);
    position: relative;
}

.category-card li::before {
    content: '•';
    color: var(--primary-green);
    position: absolute;
    left: 0;
}

/* Products CTA */
.products-cta {
    background: var(--gradient-primary);
    color: var(--white);
    text-align: center;
}

.products-cta h2 {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    margin-bottom: var(--spacing-lg);
}

.products-cta p {
    font-size: var(--font-size-lg);
    opacity: 0.9;
    margin-bottom: var(--spacing-xl);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Modal Styles */
.modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    animation: fadeIn 0.3s;
}

.modal-content {
    background-color: var(--white);
    margin: 5% auto;
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    width: 90%;
    max-width: 600px;
    position: relative;
    animation: slideIn 0.3s;
}

.close {
    color: var(--medium-gray);
    float: right;
    font-size: var(--font-size-2xl);
    font-weight: bold;
    cursor: pointer;
    position: absolute;
    top: var(--spacing-lg);
    right: var(--spacing-lg);
}

.close:hover {
    color: var(--dark-gray);
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn {
    from { transform: translateY(-50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* ===== CARRINHO DE COMPRAS ===== */
.cart-icon {
    position: relative;
    color: var(--primary-green);
    text-decoration: none;
    font-size: var(--font-size-lg);
    margin-right: var(--spacing-md);
    transition: color var(--transition-normal);
}

.cart-icon:hover {
    color: var(--accent-green);
}

.cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #ff4444;
    color: var(--white);
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-xs);
    font-weight: 600;
}

.cart-sidebar {
    position: fixed;
    top: 0;
    right: -400px;
    width: 400px;
    height: 100vh;
    background: var(--white);
    box-shadow: var(--shadow-xl);
    z-index: 10001;
    transition: right var(--transition-normal);
    display: flex;
    flex-direction: column;
}

.cart-sidebar.open {
    right: 0;
}

.cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-normal);
}

.cart-overlay.active {
    opacity: 1;
    visibility: visible;
}

.cart-header {
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--border-gray);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--light-gray);
}

.cart-header h3 {
    color: var(--dark-gray);
    font-size: var(--font-size-lg);
    margin: 0;
}

.cart-close {
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    color: var(--medium-gray);
    cursor: pointer;
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-md);
    transition: all var(--transition-normal);
}

.cart-close:hover {
    background: var(--border-gray);
    color: var(--dark-gray);
}

.cart-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.cart-items {
    flex: 1;
    overflow-y: auto;
    padding: var(--spacing-lg);
}

.cart-empty {
    text-align: center;
    padding: var(--spacing-3xl) var(--spacing-lg);
    color: var(--medium-gray);
}

.cart-empty i {
    font-size: var(--font-size-3xl);
    margin-bottom: var(--spacing-lg);
    opacity: 0.5;
}

.cart-empty p {
    margin-bottom: var(--spacing-lg);
}

.cart-item {
    display: flex;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--border-gray);
    align-items: center;
}

.cart-item:last-child {
    border-bottom: none;
}

.cart-item-image {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
}

.cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius-md);
}

.cart-item-details {
    flex: 1;
}

.cart-item-details h4 {
    font-size: var(--font-size-base);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-xs);
}

.cart-item-size {
    font-size: var(--font-size-sm);
    color: var(--medium-gray);
    margin-bottom: var(--spacing-xs);
}

.cart-item-price {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--primary-green);
    margin: 0;
}

.cart-item-controls {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    align-items: center;
}

.quantity-controls {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    background: var(--light-gray);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-xs);
}

.quantity-controls button {
    background: none;
    border: none;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    color: var(--primary-green);
    transition: background-color var(--transition-normal);
}

.quantity-controls button:hover {
    background: var(--primary-green);
    color: var(--white);
}

.quantity {
    min-width: 30px;
    text-align: center;
    font-weight: 600;
    color: var(--dark-gray);
}

.remove-item {
    background: none;
    border: none;
    color: #ff4444;
    cursor: pointer;
    padding: var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    transition: all var(--transition-normal);
}

.remove-item:hover {
    background: #ff4444;
    color: var(--white);
}

.cart-footer {
    border-top: 1px solid var(--border-gray);
    padding: var(--spacing-lg);
    background: var(--light-gray);
}

.cart-total {
    text-align: center;
    font-size: var(--font-size-lg);
    color: var(--dark-gray);
    margin-bottom: var(--spacing-lg);
}

.cart-actions {
    display: flex;
    gap: var(--spacing-md);
}

.cart-actions .btn {
    flex: 1;
    justify-content: center;
}

/* Notificação do carrinho */
.cart-notification {
    position: fixed;
    top: 100px;
    right: -300px;
    background: var(--primary-green);
    color: var(--white);
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
    z-index: 10002;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    transition: right var(--transition-normal);
}

.cart-notification.show {
    right: var(--spacing-lg);
}

.cart-notification i {
    font-size: var(--font-size-lg);
}

/* Responsividade do carrinho */
@media (max-width: 768px) {
    .cart-sidebar {
        width: 100%;
        right: -100%;
    }
    
    .cart-item {
        flex-direction: column;
        text-align: center;
    }
    
    .cart-item-controls {
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
    }
    
    .cart-actions {
        flex-direction: column;
    }
}

/* Prevenir scroll quando carrinho aberto */
body.cart-open {
    overflow: hidden;
}

/* ===== PACKS DIGITAIS ===== */
.digital-intro {
    background-color: var(--light-gray);
}

.digital-benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-lg);
}

.packs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--spacing-2xl);
}

.pack-card {
    background-color: var(--white);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    transition: all var(--transition-normal);
    position: relative;
}

.pack-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.pack-card.featured {
    border: 3px solid var(--primary-green);
    transform: scale(1.02);
}

.pack-card.featured:hover {
    transform: scale(1.02) translateY(-5px);
}

.pack-image {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.pack-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-normal);
}

.pack-card:hover .pack-image img {
    transform: scale(1.05);
}

.pack-badge {
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: var(--border-radius-xl);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--white);
    z-index: 2;
}

.pack-badge.starter {
    background-color: #17a2b8;
}

.pack-badge.professional {
    background-color: var(--primary-green);
}

.pack-badge.premium {
    background: linear-gradient(45deg, #ffd700, #ffed4e);
    color: var(--dark-gray);
}

.pack-badge.specialized {
    background-color: #6f42c1;
}

.pack-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity var(--transition-normal);
}

.pack-card:hover .pack-overlay {
    opacity: 1;
}

.btn-preview {
    background: var(--white);
    color: var(--dark-gray);
    border: none;
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--border-radius-lg);
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-normal);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.btn-preview:hover {
    background: var(--primary-green);
    color: var(--white);
}

.pack-info {
    padding: var(--spacing-xl);
}

.pack-info h3 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.pack-description {
    color: var(--medium-gray);
    margin-bottom: var(--spacing-lg);
    line-height: 1.6;
}

.pack-includes h4 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.pack-includes ul {
    list-style: none;
    margin-bottom: var(--spacing-lg);
}

.pack-includes li {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
    color: var(--medium-gray);
    font-size: var(--font-size-sm);
}

.pack-includes i {
    color: var(--primary-green);
    font-size: var(--font-size-xs);
}

.pack-specs {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-lg);
    padding: var(--spacing-md);
    background-color: var(--light-gray);
    border-radius: var(--border-radius-md);
}

.pack-price {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-xl);
    flex-wrap: wrap;
}

.price-old {
    font-size: var(--font-size-base);
    color: var(--medium-gray);
    text-decoration: line-through;
}

.price-current {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: var(--primary-green);
}

.price-discount {
    background: #ff4444;
    color: var(--white);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    font-weight: 600;
}

.pack-actions {
    display: flex;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.pack-actions .btn {
    flex: 1;
    justify-content: center;
    min-width: 140px;
}

/* Digital Features */
.digital-features {
    background-color: var(--light-gray);
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-xl);
}

.feature-card {
    background-color: var(--white);
    padding: var(--spacing-2xl);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-md);
    text-align: center;
    transition: all var(--transition-normal);
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.feature-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--spacing-lg);
}

.feature-icon i {
    font-size: var(--font-size-2xl);
    color: var(--white);
}

.feature-card h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: var(--spacing-md);
}

.feature-card p {
    color: var(--medium-gray);
}

/* How It Works */
.steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-xl);
}

/* Digital CTA */
.digital-cta {
    background: var(--gradient-primary);
    color: var(--white);
    text-align: center;
}

.digital-cta h2 {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    margin-bottom: var(--spacing-lg);
}

.digital-cta p {
    font-size: var(--font-size-lg);
    opacity: 0.9;
    margin-bottom: var(--spacing-xl);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Pack Preview Modal */
.pack-preview-modal {
    max-width: 900px;
    max-height: 80vh;
    overflow-y: auto;
}

.preview-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}

.preview-item {
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.preview-item img,
.preview-item video {
    width: 100%;
    height: auto;
    display: block;
}

/* ===== ACCESSIBILITY ===== */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .whatsapp-float a {
        animation: none !important;
    }
}

/* Focus styles for keyboard navigation */
.btn:focus,
input:focus,
select:focus,
textarea:focus,
.nav-menu a:focus,
.faq-question:focus {
    outline: 2px solid var(--primary-green);
    outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    :root {
        --primary-green: #eab308;
        --secondary-green: #ca8a04;
        --medium-gray: #a0a0a0;
        --border-gray: #333333;
    }
}

/* ===== ASSINATURAS PAGE ===== */

/* --- Botão no menu --- */
.nav-assinaturas {
    background: linear-gradient(135deg, #f97316, #ef4444);
    color: #fff !important;
    padding: 6px 16px;
    border-radius: 20px;
    font-weight: 600 !important;
    transition: all var(--transition-normal) !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.nav-assinaturas:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(249, 115, 22, 0.4) !important;
    opacity: 1 !important;
    color: #fff !important;
}
.nav-assinaturas.active {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    color: #fff !important;
}
.nav-assinaturas.active::after { display: none !important; }

/* --- Hero --- */
.assinaturas-hero {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f2027 100%);
    padding: 120px 0 80px;
    position: relative;
    overflow: hidden;
    color: #fff;
}
.assinaturas-hero-bg {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at top right, rgba(249,115,22,0.15) 0%, transparent 60%),
                radial-gradient(ellipse at bottom left, rgba(45,122,45,0.12) 0%, transparent 60%);
    pointer-events: none;
}
.assinaturas-hero .container {
    position: relative; z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.assinaturas-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(249,115,22,0.2);
    border: 1px solid rgba(249,115,22,0.4);
    color: #fb923c;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 1.2rem;
    width: fit-content;
}
.assinaturas-hero h1 {
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 1.2rem;
    color: #fff;
}
.assinaturas-highlight {
    background: linear-gradient(135deg, #f97316, #fbbf24);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.assinaturas-hero-subtitle {
    font-size: 1.1rem;
    color: rgba(255,255,255,0.8);
    line-height: 1.7;
    margin-bottom: 1.8rem;
}
.assinaturas-hero-price {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}
.price-tag {
    display: flex;
    align-items: baseline;
    gap: 4px;
    background: linear-gradient(135deg, #f97316, #ef4444);
    padding: 10px 20px;
    border-radius: 12px;
}
.price-label { font-size: 0.8rem; color: rgba(255,255,255,0.85); }
.price-amount { font-size: 2rem; font-weight: 800; color: #fff; }
.price-period { font-size: 0.9rem; color: rgba(255,255,255,0.85); }
.price-equiv { font-size: 0.85rem; color: rgba(255,255,255,0.6); font-style: italic; }
.assinaturas-hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}
.btn-assinatura-primary {
    background: linear-gradient(135deg, #f97316, #ef4444);
    color: #fff !important;
    border: none;
    border-radius: 12px;
    font-weight: 700;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 1rem;
    text-decoration: none;
    cursor: pointer;
}
.btn-assinatura-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(249,115,22,0.45);
    color: #fff !important;
}
.btn-assinatura-outline {
    background: transparent;
    color: rgba(255,255,255,0.9) !important;
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 12px;
    font-weight: 600;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 1rem;
    text-decoration: none;
}
.btn-assinatura-outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.7);
    transform: translateY(-2px);
}
.btn-assinatura-outline-white {
    background: rgba(255,255,255,0.15);
    color: #fff !important;
    border: 2px solid rgba(255,255,255,0.5);
    border-radius: 12px;
    font-weight: 600;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 1rem;
    text-decoration: none;
}
.btn-assinatura-outline-white:hover {
    background: rgba(255,255,255,0.25);
    transform: translateY(-2px);
}
.assinaturas-hero-trust {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.assinaturas-hero-trust span {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.65);
    display: flex;
    align-items: center;
    gap: 5px;
}
.assinaturas-hero-trust i { color: #4ade80; }

/* Hero visual */
.assinaturas-hero-visual { display: flex; flex-direction: column; gap: 1.5rem; align-items: center; }
.assinaturas-before-after { display: flex; align-items: center; gap: 1rem; width: 100%; }
.comparison-card {
    flex: 1;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    padding: 1.5rem;
    text-align: center;
    backdrop-filter: blur(10px);
}
.comparison-card.after {
    background: rgba(45,122,45,0.15);
    border-color: rgba(74,147,74,0.3);
}
.comparison-label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #f87171; margin-bottom: 0.8rem; }
.comparison-label.after-label { color: #4ade80; }
.comparison-icon i { font-size: 2.5rem; color: rgba(255,255,255,0.3); }
.comparison-icon.clean i { color: #4ade80; }
.comparison-desc { font-size: 0.8rem; color: rgba(255,255,255,0.6); margin-top: 0.6rem; }
.comparison-arrow { font-size: 1.5rem; color: #f97316; flex-shrink: 0; }
.assinaturas-stats { display: flex; gap: 1rem; width: 100%; justify-content: center; }
.stat-bubble {
    flex: 1;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    padding: 0.8rem;
    text-align: center;
}
.stat-bubble.emphasis {
    background: linear-gradient(135deg, rgba(249,115,22,0.2), rgba(239,68,68,0.2));
    border-color: rgba(249,115,22,0.3);
}
.stat-num { display: block; font-size: 1.5rem; font-weight: 800; color: #fff; }
.stat-text { font-size: 0.7rem; color: rgba(255,255,255,0.55); }

/* --- Por que assinar --- */
.assinaturas-why { background: var(--light-gray); }
.why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }
.why-card { border-radius: 16px; padding: 2rem; transition: transform 0.3s, box-shadow 0.3s; }
.why-card:hover { transform: translateY(-5px); }
.why-card.danger { background: #fff5f5; border: 1px solid #fed7d7; }
.why-card.solution { background: linear-gradient(135deg, #f0fdf4, #dcfce7); border: 1px solid #bbf7d0; }
.why-icon {
    width: 56px; height: 56px;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1rem;
}
.why-icon.safe { background: linear-gradient(135deg, #22c55e, #16a34a); }
.why-icon i { color: #fff; font-size: 1.3rem; }
.why-card h3 { font-size: 1.1rem; font-weight: 700; color: var(--dark-gray); margin-bottom: 0.5rem; }
.why-card p { color: var(--medium-gray); font-size: 0.93rem; line-height: 1.6; margin: 0; }

/* --- Como funciona --- */
.como-funciona { background: var(--light-gray); }
.steps-timeline {
    display: flex;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 2rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
}
.step-item {
    flex: 1; min-width: 180px;
    display: flex; flex-direction: column; align-items: center; text-align: center;
}
.step-number {
    width: 48px; height: 48px;
    background: linear-gradient(135deg, #f97316, #ef4444);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; font-weight: 800; color: #fff;
    margin-bottom: 1rem; flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(249,115,22,0.35);
    z-index: 2;
}
.step-content { padding: 0 0.5rem; }
.step-icon { font-size: 2rem; color: var(--primary-green); margin-bottom: 0.8rem; }
.step-content h3 { font-size: 1rem; font-weight: 700; color: var(--dark-gray); margin-bottom: 0.4rem; }
.step-content p { font-size: 0.87rem; color: var(--medium-gray); line-height: 1.55; margin: 0; }
.step-connector {
    flex-shrink: 0; width: 60px; height: 2px;
    background: linear-gradient(to right, #f97316, #ef4444);
    margin-top: 24px; opacity: 0.35;
}
.como-funciona-nota {
    display: flex; align-items: flex-start; gap: 0.8rem;
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    border: 1px solid #bfdbfe;
    border-radius: 12px; padding: 1.2rem 1.5rem;
}
.como-funciona-nota i { color: #3b82f6; font-size: 1.2rem; flex-shrink: 0; margin-top: 2px; }
.como-funciona-nota p { margin: 0; font-size: 0.93rem; color: #1e40af; line-height: 1.6; }

/* --- Incluso --- */
.incluso-wrapper {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 4rem;
    align-items: start;
}
.incluso-text h2 { font-size: 2rem; font-weight: 800; color: var(--dark-gray); margin-bottom: 1rem; }
.incluso-text > p { color: var(--medium-gray); margin-bottom: 2rem; line-height: 1.7; }
.incluso-list { list-style: none; display: flex; flex-direction: column; gap: 1.1rem; }
.incluso-list li { display: flex; align-items: flex-start; gap: 1rem; }
.incluso-check {
    width: 28px; height: 28px; flex-shrink: 0;
    background: linear-gradient(135deg, #22c55e, #16a34a);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin-top: 2px;
}
.incluso-check i { color: #fff; font-size: 0.75rem; }
.incluso-list li div { display: flex; flex-direction: column; gap: 2px; }
.incluso-list li strong { font-size: 0.95rem; color: var(--dark-gray); }
.incluso-list li span { font-size: 0.85rem; color: var(--medium-gray); }
.incluso-price-card {
    background: linear-gradient(145deg, #0f172a, #1e293b);
    border-radius: 20px; overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
    position: sticky; top: 100px;
}
.incluso-price-header {
    padding: 2rem 2rem 1.5rem;
    background: linear-gradient(135deg, #f97316, #ef4444);
    text-align: center;
}
.incluso-tag {
    display: inline-block;
    background: rgba(255,255,255,0.2); color: #fff;
    font-size: 0.8rem; font-weight: 700;
    padding: 4px 14px; border-radius: 50px;
    margin-bottom: 1rem; letter-spacing: 1px; text-transform: uppercase;
}
.incluso-price-value { display: flex; align-items: baseline; justify-content: center; gap: 4px; margin-bottom: 0.5rem; }
.incluso-currency { font-size: 1.5rem; color: rgba(255,255,255,0.85); font-weight: 700; }
.incluso-amount { font-size: 4rem; font-weight: 900; color: #fff; line-height: 1; }
.incluso-period { font-size: 1rem; color: rgba(255,255,255,0.75); }
.incluso-equiv { font-size: 0.78rem; color: rgba(255,255,255,0.75); display: flex; align-items: center; justify-content: center; gap: 5px; margin-top: 0.4rem; }
.incluso-price-body { padding: 1.5rem 2rem 2rem; display: flex; flex-direction: column; gap: 1rem; }
.incluso-highlight-box {
    display: flex; align-items: flex-start; gap: 0.8rem;
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px; padding: 1rem;
}
.incluso-highlight-box i { color: #f97316; font-size: 1.2rem; flex-shrink: 0; margin-top: 2px; }
.incluso-highlight-box div { display: flex; flex-direction: column; gap: 2px; }
.incluso-highlight-box strong { font-size: 0.9rem; color: #fff; }
.incluso-highlight-box span { font-size: 0.8rem; color: rgba(255,255,255,0.55); }
.incluso-cancel { text-align: center; font-size: 0.8rem; color: rgba(255,255,255,0.45); display: flex; align-items: center; justify-content: center; gap: 5px; margin: 0; }

/* --- Planos --- */
.planos-section { background: var(--light-gray); }
.planos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; max-width: 800px; margin: 0 auto 2rem; }
.plano-card {
    background: var(--light-gray); border-radius: 20px;
    padding: 2rem; border: 2px solid #e2e8f0;
    transition: transform 0.3s, box-shadow 0.3s;
    position: relative;
}
.plano-card:hover { transform: translateY(-6px); box-shadow: 0 15px 40px rgba(0,0,0,0.12); }
.plano-card.featured {
    background: linear-gradient(145deg, #0f172a, #1e293b);
    border-color: #f97316;
    box-shadow: 0 10px 40px rgba(249,115,22,0.25);
}
.plano-badge-top {
    position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
    background: linear-gradient(135deg, #f97316, #ef4444);
    color: #fff; font-size: 0.8rem; font-weight: 700;
    padding: 5px 18px; border-radius: 50px; white-space: nowrap;
    display: flex; align-items: center; gap: 5px;
}
.plano-header { text-align: center; margin-bottom: 1.2rem; }
.plano-icon {
    width: 60px; height: 60px; background: #f1f5f9; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 0.8rem; font-size: 1.4rem; color: var(--medium-gray);
}
.plano-icon.premium { background: linear-gradient(135deg, #f97316, #ef4444); color: #fff; }
.plano-card.featured .plano-header h3 { color: #fff; }
.plano-header h3 { font-size: 1.2rem; font-weight: 700; color: var(--dark-gray); margin-bottom: 0.2rem; }
.plano-subtitle { font-size: 0.85rem; color: var(--medium-gray); }
.plano-card.featured .plano-subtitle { color: rgba(255,255,255,0.5); }
.plano-price { display: flex; align-items: baseline; gap: 4px; justify-content: center; margin-bottom: 0.8rem; color: var(--dark-gray); }
.plano-currency { font-size: 1.2rem; font-weight: 700; }
.plano-amount { font-size: 3rem; font-weight: 900; line-height: 1; }
.plano-period { font-size: 0.9rem; color: var(--medium-gray); }
.featured-currency, .featured-amount { color: #f97316; }
.plano-economia {
    text-align: center;
    background: rgba(249,115,22,0.12); border: 1px solid rgba(249,115,22,0.25);
    color: #fb923c; font-size: 0.82rem; font-weight: 600;
    padding: 6px 12px; border-radius: 50px; margin-bottom: 1.2rem;
    display: flex; align-items: center; justify-content: center; gap: 5px;
}
.plano-features { list-style: none; display: flex; flex-direction: column; gap: 0.7rem; margin-bottom: 1.5rem; }
.plano-features li { display: flex; align-items: center; gap: 0.6rem; font-size: 0.9rem; }
.feature-ok { color: var(--dark-gray); }
.feature-ok i { color: #22c55e; }
.feature-no { color: #9ca3af; }
.feature-no i { color: #f87171; }
.plano-card.featured .feature-ok { color: rgba(255,255,255,0.9); }
.planos-nota {
    display: flex; align-items: flex-start; gap: 0.8rem;
    background: linear-gradient(135deg, #fff7ed, #ffedd5);
    border: 1px solid #fed7aa; border-radius: 12px;
    padding: 1.2rem 1.5rem; max-width: 700px; margin: 0 auto;
}
.planos-nota i { color: #f97316; font-size: 1.2rem; flex-shrink: 0; margin-top: 2px; }
.planos-nota p { margin: 0; font-size: 0.9rem; color: #9a3412; line-height: 1.6; }

/* --- Depoimentos --- */
.depoimentos-section { background: var(--light-gray); }
.depoimentos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.depoimento-card {
    background: var(--light-gray); border-radius: 16px;
    padding: 1.8rem; border: 1px solid #e2e8f0;
    transition: transform 0.3s, box-shadow 0.3s;
}
.depoimento-card:hover { transform: translateY(-4px); box-shadow: 0 10px 30px rgba(0,0,0,0.08); }
.depo-stars { color: #f59e0b; margin-bottom: 0.8rem; font-size: 0.9rem; display: flex; gap: 2px; }
.depoimento-card > p { color: var(--medium-gray); font-size: 0.93rem; line-height: 1.65; margin-bottom: 1.2rem; font-style: italic; }
.depo-author { display: flex; align-items: center; gap: 0.8rem; }
.depo-avatar {
    width: 40px; height: 40px;
    background: linear-gradient(135deg, var(--primary-green), var(--secondary-green));
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1rem; flex-shrink: 0;
}
.depo-author div { display: flex; flex-direction: column; }
.depo-author strong { font-size: 0.9rem; color: var(--dark-gray); }
.depo-author span { font-size: 0.78rem; color: var(--medium-gray); }

/* --- FAQ --- */
.faq-grid { display: flex; flex-direction: column; gap: 0.8rem; max-width: 800px; margin: 0 auto; }
.faq-item {
    background: var(--light-gray); border-radius: 12px;
    border: 1px solid #e2e8f0; overflow: hidden; transition: border-color 0.3s;
}
.faq-item.open { border-color: var(--primary-green); }
.faq-question {
    display: flex; align-items: center; justify-content: space-between;
    padding: 1.1rem 1.5rem; cursor: pointer;
    font-weight: 600; font-size: 0.95rem; color: var(--dark-gray); user-select: none;
}
.faq-question i { transition: transform 0.3s; color: var(--medium-gray); flex-shrink: 0; margin-left: 1rem; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.faq-answer p {
    padding: 1rem 1.5rem 1.2rem; color: var(--medium-gray);
    font-size: 0.92rem; line-height: 1.65; margin: 0;
    border-top: 1px solid #f1f5f9;
}

/* --- CTA Final --- */
.assinaturas-cta-final {
    background: linear-gradient(135deg, #0f172a, #1e293b);
    padding: 5rem 0; text-align: center;
    position: relative; overflow: hidden;
}
.assinaturas-cta-bg {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at center, rgba(249,115,22,0.15) 0%, transparent 70%);
    pointer-events: none;
}
.assinaturas-cta-final .container { position: relative; z-index: 2; }
.cta-final-content { max-width: 680px; margin: 0 auto; }
.cta-final-icon {
    width: 80px; height: 80px;
    background: linear-gradient(135deg, #f97316, #ef4444);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 2rem; color: #fff; margin: 0 auto 1.5rem;
    box-shadow: 0 8px 30px rgba(249,115,22,0.4);
}
.assinaturas-cta-final h2 { font-size: 2.2rem; font-weight: 800; color: #fff; margin-bottom: 1rem; }
.cta-final-content > p { color: rgba(255,255,255,0.7); font-size: 1.05rem; line-height: 1.7; margin-bottom: 1.5rem; }
.cta-final-price {
    display: flex; align-items: center; justify-content: center;
    gap: 0.8rem; flex-wrap: wrap;
    background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
    border-radius: 14px; padding: 1rem 2rem; margin-bottom: 2rem;
}
.cta-final-price span { font-size: 0.9rem; color: rgba(255,255,255,0.65); }
.cta-final-price strong { font-size: 1.4rem; color: #f97316; font-weight: 900; }
.cta-final-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-bottom: 1.5rem; }
.cta-final-note { font-size: 0.82rem; color: rgba(255,255,255,0.4); display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; }

/* --- Responsive --- */
@media (max-width: 1024px) {
    .incluso-wrapper { grid-template-columns: 1fr; }
    .incluso-price-card { position: static; max-width: 420px; margin: 0 auto; }
}
@media (max-width: 768px) {
    .assinaturas-hero .container { grid-template-columns: 1fr; }
    .assinaturas-hero-visual { display: none; }
    .assinaturas-hero { padding: 100px 0 60px; }
    .assinaturas-hero h1 { font-size: 2rem; }
    .steps-timeline { flex-direction: column; align-items: center; gap: 1.5rem; }
    .step-connector { width: 2px; height: 30px; margin: 0; }
    .planos-grid { grid-template-columns: 1fr; max-width: 400px; }
    .assinaturas-cta-final h2 { font-size: 1.6rem; }
    .nav-assinaturas { padding: 4px 10px; font-size: 0.9rem; }
}

/* ===================================================
   TRABALHE CONOSCO CTA (página contato)
   =================================================== */
.trabalhe-conosco-cta {
    background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
    padding: 60px 0;
}

.trabalhe-cta-content {
    display: flex;
    align-items: center;
    gap: 2rem;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 20px;
    padding: 2.5rem 3rem;
    backdrop-filter: blur(10px);
    flex-wrap: wrap;
    justify-content: space-between;
}

.trabalhe-cta-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #eab308, #eab308);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 8px 24px rgba(234,179,8,0.4);
}

.trabalhe-cta-icon i {
    font-size: 2rem;
    color: #fff;
}

.trabalhe-cta-text {
    flex: 1;
    min-width: 200px;
}

.trabalhe-cta-text h2 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
}

.trabalhe-cta-text p {
    color: rgba(255,255,255,0.75);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.btn-trabalhe-conosco {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #eab308, #eab308);
    color: #fff;
    text-decoration: none;
    padding: 1rem 2rem;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1.05rem;
    white-space: nowrap;
    box-shadow: 0 8px 24px rgba(234,179,8,0.4);
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.btn-trabalhe-conosco:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 12px 32px rgba(234,179,8,0.6);
}

.btn-trabalhe-conosco .fa-arrow-right {
    transition: transform 0.3s ease;
}

.btn-trabalhe-conosco:hover .fa-arrow-right {
    transform: translateX(4px);
}

/* ===================================================
   GRUPO HENRY — HERO
   =================================================== */
.grupo-henry-hero {
    background: linear-gradient(135deg, rgba(10,10,10,0.6) 0%, rgba(10,10,10,0.2) 50%, rgba(161,98,7,0.3) 100%), url('../../imagem/equipe.png') center 20%/cover no-repeat;
    padding: 130px 0 80px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.grupo-henry-hero-bg {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 20% 50%, rgba(234,179,8,0.15) 0%, transparent 50%),
                      radial-gradient(circle at 80% 50%, rgba(32,90,115,0.2) 0%, transparent 50%);
    pointer-events: none;
}

.grupo-henry-hero .page-hero-content {
    position: relative;
    z-index: 2;
}

.grupo-henry-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(234,179,8,0.2);
    border: 1px solid rgba(234,179,8,0.4);
    color: #facc15;
    padding: 0.4rem 1.2rem;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 1.2rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.grupo-henry-hero h1 {
    font-size: 3.5rem;
    font-weight: 900;
    color: #fff;
    margin-bottom: 1rem;
    letter-spacing: 0.04em;
    text-shadow: 0 4px 20px rgba(0,0,0,0.4);
}

.grupo-henry-hero p {
    font-size: 1.15rem;
    color: rgba(255,255,255,0.8);
    max-width: 560px;
    margin: 0 auto 2.5rem;
}

.grupo-henry-stats {
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 16px;
    padding: 1rem 2.5rem;
    gap: 2rem;
    backdrop-filter: blur(10px);
    flex-wrap: wrap;
    justify-content: center;
}

.stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.stat-number {
    font-size: 1.8rem;
    font-weight: 800;
    color: #facc15;
    line-height: 1;
}

.stat-label {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 0.2rem;
}

.stat-divider {
    width: 1px;
    height: 40px;
    background: rgba(255,255,255,0.2);
}

/* ===================================================
   GRUPO HENRY — VAGAS SECTIONS
   =================================================== */
.vagas-section {
    padding: 80px 0;
}

.vagas-online { background: #0a0a0a; }

.vagas-presenciais {
    background: var(--light-gray);
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 1rem;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.8rem;
}

.online-badge { background: rgba(234,179,8,0.1); color: #eab308; border: 1px solid rgba(234,179,8,0.3); }

.presencial-badge { background: rgba(249,115,22,0.1); color: #f97316; border: 1px solid rgba(249,115,22,0.3); }

.vagas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.8rem;
}

/* ===================================================
   GRUPO HENRY — CARDS DE VAGA
   =================================================== */
.vaga-card { background: var(--light-gray); border-radius: 20px; box-shadow: 0 4px 20px rgba(0,0,0,0.5); overflow: hidden; display: flex; flex-direction: column; transition: transform 0.3s ease, box-shadow 0.3s ease; position: relative; border: 1px solid rgba(255,255,255,0.05); }

.vaga-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.12);
}

.vaga-destaque-label {
    position: absolute;
    top: 16px;
    right: 16px;
    background: linear-gradient(135deg, #FF6F00, #FF8F00);
    color: #fff;
    padding: 0.3rem 0.8rem;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: 0 4px 12px rgba(255,111,0,0.35);
    z-index: 2;
}

.vaga-destaque-label.presencial {
    background: linear-gradient(135deg, #E65100, #BF360C);
    box-shadow: 0 4px 12px rgba(230,81,0,0.35);
}

.vaga-header-badges {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-end;
}

/* Quando o selo de destaque fica no header, ele não deve ser absoluto */
.vaga-header-badges .vaga-destaque-label {
    position: static;
    top: auto;
    right: auto;
    margin: 0;
}

.vaga-card-header { background: linear-gradient(135deg, rgba(234,179,8,0.15), rgba(234,179,8,0.05));
    padding: 1.8rem 1.8rem 1.4rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.vaga-presencial .vaga-card-header { background: linear-gradient(135deg, rgba(249,115,22,0.15), rgba(249,115,22,0.05));
}

.vaga-icon { width: 65px; height: 65px; background: linear-gradient(135deg, #eab308, #ca8a04); border-radius: 16px; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(234,179,8,0.3); }

.vaga-icon.presencial { background: linear-gradient(135deg, #ea580c, #c2410c); box-shadow: 0 6px 16px rgba(234,88,12,0.3); }

.vaga-icon i {
    font-size: 1.5rem;
    color: #fff;
}

.vaga-badge-tipo {
    padding: 0.3rem 0.85rem;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.vaga-badge-tipo.online { background: rgba(234,179,8,0.12); color: #eab308; border: 1px solid rgba(234,179,8,0.25); }

.vaga-badge-tipo.presencial { background: rgba(249,115,22,0.12); color: #f97316; border: 1px solid rgba(249,115,22,0.25); }

.vaga-card-body {
    padding: 1.5rem 1.8rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.vaga-card-body h3 { font-size: 1.2rem; font-weight: 700; color: #f5f5f5;
    margin: 0;
}

.vaga-card-body > p { color: #a0a0a0;
    font-size: 0.92rem;
    line-height: 1.6;
    margin: 0;
}

.vaga-requisitos {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.vaga-requisitos li { display: flex; align-items: center; gap: 0.5rem; font-size: 0.88rem; color: #f5f5f5;
}

.vaga-requisitos li .fa-check {
    color: #eab308;
    font-size: 0.75rem;
    flex-shrink: 0;
}

.vaga-info { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid #27272a;
}

.vaga-local,
.vaga-tipo-contrato {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    color: #a0a0a0;
}

.vaga-card-footer {
    padding: 1rem 1.8rem 1.5rem;
}

.btn-candidatar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff;
    text-decoration: none;
    padding: 0.8rem 1.2rem;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(37,211,102,0.3);
}

.btn-candidatar:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(37,211,102,0.45);
    filter: brightness(1.05);
}

/* ===================================================
   GRUPO HENRY — POR QUE TRABALHAR
   =================================================== */
.porque-trabalhar {
    background: linear-gradient(135deg, #0f2027, #203a43, #a16207);
    padding: 80px 0;
}

.porque-trabalhar .section-header.light h2 {
    color: #fff;
}

.porque-trabalhar .section-header.light p {
    color: rgba(255,255,255,0.65);
}

.beneficios-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
}

.beneficio-item {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    padding: 1.8rem 1.5rem;
    text-align: center;
    transition: all 0.3s ease;
}

.beneficio-item:hover {
    background: rgba(255,255,255,0.1);
    transform: translateY(-4px);
}

.beneficio-icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #eab308, #eab308);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    box-shadow: 0 6px 16px rgba(234,179,8,0.3);
}

.beneficio-icon i {
    font-size: 1.3rem;
    color: #fff;
}

.beneficio-item h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.4rem;
}

.beneficio-item p {
    font-size: 0.83rem;
    color: rgba(255,255,255,0.6);
    line-height: 1.5;
    margin: 0;
}

/* ===================================================
   GRUPO HENRY — PARCEIROS
   =================================================== */
.parceiros-section {
    background: var(--light-gray);
    padding: 80px 0;
}

.parceiros-badge {
    background: rgba(234, 179, 8, 0.1);
    color: #eab308;
}

.parceiros-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.parceiro-card {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border: 2px solid #e9ecef;
    border-radius: 16px;
    padding: 2rem;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.parceiro-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(234, 179, 8, 0.2);
    border-color: #eab308;
    background: linear-gradient(135deg, #ffffff 0%, #f0f7f0 100%);
}

.parceiro-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #eab308, #45a049);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #fff;
}

.parceiro-info h3 {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 0.5rem 0;
}

.parceiro-info p {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.6;
    margin: 0 0 1rem 0;
}

.parceiro-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #eab308;
    font-weight: 600;
    font-size: 0.9rem;
    transition: gap 0.2s ease;
}

.parceiro-card:hover .parceiro-link {
    gap: 0.8rem;
}

/* ===================================================
   GRUPO HENRY — CTA FINAL
   =================================================== */
.grupo-henry-cta-final {
    background: #f0f7f0;
    padding: 80px 0;
    text-align: center;
}

.cta-final-content {
    max-width: 580px;
    margin: 0 auto;
}

.cta-final-icon {
    font-size: 3rem;
    color: #eab308;
    margin-bottom: 1.2rem;
    display: block;
}

.cta-final-content h2 {
    font-size: 2rem;
    font-weight: 800;
    color: #1a1a2e;
    margin-bottom: 0.8rem;
}

.cta-final-content p {
    color: #666;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.btn-whatsapp-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff;
    text-decoration: none;
    padding: 1rem 2.2rem;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1.05rem;
    box-shadow: 0 8px 24px rgba(37,211,102,0.4);
    transition: all 0.3s ease;
    margin-bottom: 1rem;
}

.btn-whatsapp-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(37,211,102,0.55);
}

.btn-voltar-contato {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #eab308;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    margin-left: 1rem;
    transition: color 0.2s ease;
}

.btn-voltar-contato:hover {
    color: #a16207;
}

/* Responsivo - Grupo Henry */
@media (max-width: 768px) {
    .grupo-henry-hero h1 { font-size: 2.4rem; }
    .trabalhe-cta-content { flex-direction: column; text-align: center; padding: 2rem; }
    .trabalhe-cta-icon { margin: 0 auto; }
    .btn-trabalhe-conosco { width: 100%; justify-content: center; }
    .stat-divider { width: 40px; height: 1px; }
    .grupo-henry-stats { gap: 1rem; }
    .vagas-grid { grid-template-columns: 1fr; }
    .beneficios-grid { grid-template-columns: repeat(2, 1fr); }
    .btn-voltar-contato { margin-left: 0; margin-top: 0.5rem; }
    .parceiros-grid { grid-template-columns: 1fr; }
    .parceiro-card { flex-direction: column; align-items: center; text-align: center; }
}

@media (max-width: 480px) {
    .beneficios-grid { grid-template-columns: 1fr; }
    .grupo-henry-hero h1 { font-size: 2rem; }
}

/* ===================================================
   GRUPO HENRY — HEADER & FOOTER INDEPENDENTES
   =================================================== */

/* Reset body para Grupo Henry */
.gh-body {
    background: #0b0f1a;
    font-family: 'Inter', sans-serif;
    padding-top: 72px; /* compensa header fixo */
}

/* Painel (dashboard/admin): sem header superior, então sem padding */
.gh-body.gh-dash-body {
    padding-top: 0 !important;
}

/* ── Header ─────────────────────────────────────── */
.gh-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    isolation: isolate;
    background: rgba(11, 15, 26, 0.95);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(234, 179, 8, 0.2);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
}

.gh-navbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    gap: 1rem;
}

/* ── Logo / Brand ───────────────────────────────── */
.gh-brand {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    text-decoration: none;
    flex-shrink: 0;
}

.gh-logo-icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #eab308, #a16207);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(234, 179, 8, 0.45);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gh-logo-icon.sm {
    width: 34px;
    height: 34px;
    border-radius: 9px;
}

.gh-brand:hover .gh-logo-icon {
    transform: scale(1.08);
    box-shadow: 0 6px 20px rgba(234, 179, 8, 0.6);
}

.gh-logo-icon i { font-size: 1.2rem; color: #fff; }
.gh-logo-icon.sm i { font-size: 0.95rem; }

.gh-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.gh-brand-main {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: rgba(255, 255, 255, 0.55);
    text-transform: uppercase;
}

.gh-brand-highlight {
    font-size: 1.25rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    color: #eab308;
    text-transform: uppercase;
}

/* ── Nav Menu ───────────────────────────────────── */
.gh-nav-menu {
    display: flex;
    list-style: none;
    align-items: center;
    gap: 0.3rem;
    margin: 0;
    padding: 0;
}

.gh-nav-menu a {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.85rem;
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    transition: all 0.2s ease;
    white-space: nowrap;
}

.gh-nav-menu a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.07);
}

.gh-nav-menu a i {
    font-size: 0.8rem;
    opacity: 0.75;
}

/* Botão CTA no menu */
.gh-nav-cta {
    background: linear-gradient(135deg, #25d366, #128c7e) !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 0.5rem 1.1rem !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.35);
    transition: all 0.25s ease !important;
}

.gh-nav-cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.5) !important;
    background: rgba(0,0,0,0) !important; /* reset de regra genérica */
    background: linear-gradient(135deg, #2ee875, #17a97a) !important;
}

/* ── Header Actions (voltar + hamburger) ──────── */
.gh-header-actions {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.gh-back-link {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.4);
    text-decoration: none;
    padding: 0.4rem 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.gh-back-link span { display: inline-block; }

.gh-back-link:hover {
    color: rgba(255, 255, 255, 0.85);
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.05);
}

/* ── Hamburger ──────────────────────────────────── */
.gh-hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
}

.gh-hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: rgba(255, 255, 255, 0.75);
    border-radius: 2px;
    transition: all 0.3s ease;
}

.gh-hamburger.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.gh-hamburger.open span:nth-child(2) { opacity: 0; }
.gh-hamburger.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ── Cursos Gratuitos Colaboradores ─────────────────────────────────────── */
.gh-cursos-colaborador-section {
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 60%, #0f172a 100%);
    padding: 5rem 0;
    border-top: 1px solid rgba(96, 165, 250, 0.15);
    border-bottom: 1px solid rgba(96, 165, 250, 0.15);
}
.gh-cursos-colab-inner {
    text-align: center;
    max-width: 820px;
    margin: 0 auto;
}
.gh-cursos-colab-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: rgba(99, 102, 241, .15);
    border: 1px solid rgba(99, 102, 241, .35);
    color: #a5b4fc;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .35rem .9rem;
    border-radius: 20px;
    margin-bottom: 1.25rem;
}
.gh-cursos-colaborador-section h2 {
    font-size: clamp(1.6rem, 4vw, 2.25rem);
    font-weight: 800;
    color: #f1f5f9;
    line-height: 1.25;
    margin-bottom: 1rem;
}
.gh-cursos-colab-destaque {
    background: linear-gradient(135deg, #6366f1, #a78bfa);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.gh-cursos-colab-desc {
    color: rgba(203, 213, 225, .8);
    font-size: 1.05rem;
    line-height: 1.7;
    margin-bottom: 2.5rem;
}
.gh-cursos-colab-desc strong {
    color: #e2e8f0;
}
.gh-cursos-colab-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-bottom: 2.5rem;
}
.gh-cursos-colab-card {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 16px;
    padding: 1.75rem 1.25rem;
    text-align: center;
    transition: transform .2s ease, border-color .2s ease;
}
.gh-cursos-colab-card:hover {
    transform: translateY(-4px);
    border-color: rgba(99, 102, 241, .35);
}
.gh-cursos-colab-card-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin: 0 auto 1rem;
}
.gh-cursos-colab-card h4 {
    color: #f1f5f9;
    font-size: .98rem;
    font-weight: 700;
    margin-bottom: .5rem;
}
.gh-cursos-colab-card p {
    color: rgba(148, 163, 184, .85);
    font-size: .875rem;
    line-height: 1.55;
}
.gh-cursos-colab-btn {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    background: linear-gradient(135deg, #6366f1, #7c3aed);
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
    padding: .85rem 2rem;
    border-radius: 12px;
    text-decoration: none;
    transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 4px 18px rgba(99, 102, 241, .35);
}
.gh-cursos-colab-btn:hover {
    opacity: .9;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(99, 102, 241, .5);
}
@media (max-width: 700px) {
    .gh-cursos-colab-cards {
        grid-template-columns: 1fr;
    }
}

/* ── Footer ─────────────────────────────────────── */
/* ═══════════════════════════════════════════════════════════════
   GH-FOOTER — redesign organizado
═══════════════════════════════════════════════════════════════ */
.gh-footer {
    background: linear-gradient(180deg, #080c18 0%, #050810 100%);
    border-top: 1px solid rgba(234, 179, 8, 0.15);
    position: relative;
    overflow: hidden;
}
.gh-footer::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #eab308 30%, #facc15 70%, transparent);
}
.gh-footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 3.5rem 1.5rem 1.75rem;
}

/* Grade */
.gh-footer-grid {
    display: grid;
    grid-template-columns: 260px 1fr 1fr 1.3fr;
    gap: 2.5rem;
    margin-bottom: 2.5rem;
}

/* Marca */
.gh-footer-col-brand {}
.gh-footer-logo-wrap {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: .85rem;
}
.gh-footer-logo-img {
    height: 36px;
    max-width: 140px;
    width: auto;
    object-fit: contain;
    border-radius: 7px;
}
.gh-footer-brand-name {
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -.2px;
}
.gh-footer-tagline {
    font-size: .82rem;
    color: rgba(255,255,255,.35);
    line-height: 1.65;
    margin: 0 0 1.2rem;
}
.gh-footer-socials {
    display: flex;
    gap: .5rem;
}
.gh-footer-socials a {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    text-decoration: none;
    transition: transform .2s, opacity .2s;
    color: #fff;
}
.gh-footer-socials a:hover { transform: translateY(-3px); opacity: .9; }
.gh-fs-wa  { background: #25d366; }
.gh-fs-ig  { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.gh-fs-fb  { background: #1877f2; }

/* Colunas de links */
.gh-footer-col-title {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #eab308;
    margin: 0 0 1rem;
}
.gh-footer-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .48rem;
}
.gh-footer-list li a {
    font-size: .82rem;
    color: rgba(255,255,255,.38);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .5rem;
    transition: color .18s;
}
.gh-footer-list li a i {
    font-size: .7rem;
    color: rgba(255,255,255,.2);
    width: 13px;
    text-align: center;
    transition: color .18s;
}
.gh-footer-list li a:hover { color: rgba(255,255,255,.85); }
.gh-footer-list li a:hover i { color: #eab308; }

/* Contato */
.gh-footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin-bottom: .8rem;
    text-decoration: none;
}
.gh-footer-contact-item:last-child { margin-bottom: 0; }
.gh-fci-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(234,179,8,.08);
    border: 1px solid rgba(234,179,8,.13);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .82rem;
    color: #eab308;
    flex-shrink: 0;
}
.gh-fci-text {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}
.gh-fci-text strong {
    font-size: .8rem;
    color: rgba(255,255,255,.75);
    font-weight: 700;
}
.gh-fci-text small {
    font-size: .7rem;
    color: rgba(255,255,255,.3);
}
.gh-fci-wa {
    border-radius: 9px;
    padding: .4rem .45rem;
    margin: -.4rem -.45rem .4rem;
    transition: background .18s;
}
.gh-fci-wa:hover { background: rgba(37,211,102,.07); }
.gh-fci-wa:hover .gh-fci-icon { background: rgba(37,211,102,.13); border-color: rgba(37,211,102,.25); color: #25d366; }
.gh-fci-wa:hover .gh-fci-text strong { color: #4ade80; }

/* Divisor */
.gh-footer-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.07) 20%, rgba(255,255,255,.07) 80%, transparent);
    margin-bottom: 1.4rem;
}

/* Rodapé inferior */
.gh-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .8rem;
    border-top: none;
    padding-top: 0;
}
.gh-footer-copy {
    margin: 0;
    font-size: .76rem;
    color: rgba(255,255,255,.22);
}
.gh-footer-copy strong { color: rgba(255,255,255,.35); }
.gh-footer-badges {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.gh-footer-badges span {
    font-size: .7rem;
    color: rgba(255,255,255,.22);
    display: flex;
    align-items: center;
    gap: .3rem;
}
.gh-footer-badges span i { color: #eab308; font-size: .62rem; }

/* Responsivo — tablet */
@media (max-width: 1024px) {
    .gh-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }
    .gh-footer-col-brand {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        gap: 0 1.5rem;
        align-items: start;
    }
    .gh-footer-logo-wrap  { grid-row: 1; grid-column: 1; }
    .gh-footer-tagline    { grid-row: 1; grid-column: 2; margin: 0; align-self: center; }
    .gh-footer-socials    { grid-row: 2; grid-column: 1 / -1; margin-top: .9rem; }
    .gh-footer-col-contact {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .5rem 1.5rem;
    }
    .gh-footer-col-contact .gh-footer-col-title { grid-column: 1 / -1; }
}

/* Responsivo — mobile */
@media (max-width: 600px) {
    .gh-footer-inner { padding: 2rem 1rem 1.2rem; }
    .gh-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem 1rem;
    }
    /* Marca: linha única compacta */
    .gh-footer-col-brand {
        grid-column: 1 / -1;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .6rem;
    }
    .gh-footer-logo-wrap  { flex: 0 0 auto; }
    .gh-footer-tagline    { display: none; } /* oculta tagline no mobile para ganhar espaço */
    .gh-footer-socials    { margin-top: 0; flex: 0 0 auto; margin-left: auto; }
    /* Nav e serviços: 2 colunas lado a lado */
    .gh-footer-col { min-width: 0; }
    .gh-footer-list li a { font-size: .78rem; }
    /* Contato: empilhado mas compacto */
    .gh-footer-col-contact {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .5rem .8rem;
    }
    .gh-footer-col-contact .gh-footer-col-title { grid-column: 1 / -1; }
    .gh-footer-contact-item { margin-bottom: 0; }
    .gh-fci-text strong { font-size: .75rem; }
    .gh-fci-text small  { font-size: .67rem; }
    /* Rodapé inferior */
    .gh-footer-bottom  { flex-direction: column; align-items: flex-start; gap: .6rem; }
    .gh-footer-badges  { gap: .5rem; }
    .gh-footer-badges span { font-size: .67rem; }
}

/* ── Grupo Henry: ajuste hero para body escuro ─── */
.gh-body .grupo-henry-hero {
    padding-top: 80px;
}

/* ── Section IDs para scroll ────────────────────── */
.gh-body .vagas-online  { scroll-margin-top: 80px; }
.gh-body .vagas-presenciais { scroll-margin-top: 80px; }
.gh-body .porque-trabalhar  { scroll-margin-top: 80px; }

/* ── Responsivo ─────────────────────────────────── */
@media (max-width: 900px) {
    .gh-nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(11, 15, 26, 0.98);
        border-bottom: 1px solid rgba(234, 179, 8, 0.15);
        flex-direction: column;
        align-items: stretch;
        padding: 0.75rem;
        gap: 0.2rem;
    }
    .gh-nav-menu.open { display: flex; }
    .gh-nav-menu a { justify-content: flex-start; }
    .gh-hamburger { display: flex; }
    .gh-back-link span { display: none; }
}

@media (max-width: 480px) {
    .gh-brand-highlight { font-size: 1.05rem; }
    .gh-logo-icon { width: 38px; height: 38px; border-radius: 10px; }
}

/* =====================================================
   GRUPO HENRY — AUTH PAGES (Cadastro & Login)
   ===================================================== */

.gh-auth-page {
    min-height: 100vh;
    display: flex;
    align-items: stretch;
    background: #0b0f1a;
}

.gh-auth-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    min-height: 100vh;
}

/* Left Panel */
.gh-auth-left {
    background: linear-gradient(145deg, #0d1f0d 0%, #a16207 50%, #203a43 100%);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.gh-auth-brand {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 3rem;
}

.gh-auth-left h1 {
    font-size: 2.6rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.gh-auth-left h1 span {
    color: #facc15;
}

.gh-auth-left > p {
    font-size: 1rem;
    color: rgba(255,255,255,0.7);
    line-height: 1.7;
    margin-bottom: 2.5rem;
    max-width: 380px;
}

.gh-auth-perks {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.gh-perk {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.95rem;
    color: rgba(255,255,255,0.85);
}

.gh-perk .fa-check-circle,
.gh-perk .fa-chart-line,
.gh-perk .fa-bell,
.gh-perk .fa-comments,
.gh-perk .fa-shield-alt {
    color: #eab308;
    font-size: 1rem;
    flex-shrink: 0;
}

/* Decorative circles */
.gh-auth-deco { position: absolute; inset: 0; pointer-events: none; }
.deco-circle {
    position: absolute;
    border-radius: 50%;
    background: rgba(234,179,8,0.08);
    border: 1px solid rgba(234,179,8,0.12);
}
.deco-circle.c1 { width: 300px; height: 300px; bottom: -80px; right: -80px; }
.deco-circle.c2 { width: 180px; height: 180px; bottom: 60px;  right: 60px; }
.deco-circle.c3 { width: 80px;  height: 80px;  top: 40px; left: 40px; }

/* Right Panel */
.gh-auth-right {
    background: #0b0f1a;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem;
}

.gh-auth-form-wrapper {
    width: 100%;
    max-width: 460px;
}

/* Tabs */
.gh-auth-tabs {
    display: flex;
    gap: 0.5rem;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    padding: 0.4rem;
    margin-bottom: 2rem;
}

.gh-tab {
    flex: 1;
    text-align: center;
    padding: 0.6rem 1rem;
    border-radius: 9px;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    color: rgba(255,255,255,0.45);
    transition: all 0.2s ease;
}

.gh-tab.active {
    background: linear-gradient(135deg, #eab308, #eab308);
    color: #fff;
    box-shadow: 0 4px 12px rgba(234,179,8,0.35);
}

.gh-auth-form-wrapper h2 {
    font-size: 1.7rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 0.4rem;
}

.gh-form-subtitle {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.45);
    margin-bottom: 1.8rem;
}

/* Form */
.gh-form { display: flex; flex-direction: column; gap: 1rem; }

.gh-label-optional { font-weight: 500; color: rgba(255, 255, 255, 0.35); font-size: 0.78rem; }
.gh-cv-upload { display: flex; flex-direction: column; gap: 0.45rem; }
.gh-file-wrap input[type="file"] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.6rem 0.75rem 0.6rem 2.45rem;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.88rem;
    cursor: pointer;
}
.gh-cv-hint {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.45);
}
.gh-cv-hint strong { color: rgba(234, 179, 8, 0.9); font-weight: 600; }
.gh-loc-bloco { border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 14px; padding: 1rem 0.95rem; margin: 0.2rem 0 0.4rem; background: rgba(0, 0, 0, 0.16); }
.gh-loc-bloco-title { margin: 0 0 0.85rem; font-size: 0.9rem; font-weight: 600; color: rgba(255, 255, 255, 0.55); }

.gh-form-row.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
}

.gh-field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.gh-field label {
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255,255,255,0.65);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.gh-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.gh-input-wrap > i:first-child {
    position: absolute;
    left: 0.9rem;
    color: rgba(255,255,255,0.3);
    font-size: 0.85rem;
    pointer-events: none;
}

.gh-input-wrap input,
.gh-input-wrap select {
    width: 100%;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    padding: 0.75rem 1rem 0.75rem 2.5rem;
    color: #fff;
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 0.2s ease, background 0.2s ease;
    outline: none;
}

.gh-input-wrap select option { background: #1a1a2e; color: #fff; }
.gh-input-wrap select optgroup { color: rgba(255,255,255,0.5); font-weight: 700; }

.gh-input-wrap.select-wrap::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: 0.9rem;
    color: rgba(255,255,255,0.3);
    font-size: 0.7rem;
    pointer-events: none;
}

.gh-input-wrap input:focus,
.gh-input-wrap select:focus {
    border-color: rgba(234,179,8,0.5);
    background: rgba(234,179,8,0.06);
}

.gh-input-wrap input::placeholder { color: rgba(255,255,255,0.25); }

.toggle-pass {
    position: absolute;
    right: 0.75rem;
    background: none;
    border: none;
    color: rgba(255,255,255,0.3);
    cursor: pointer;
    font-size: 0.85rem;
    padding: 0;
    transition: color 0.2s;
}
.toggle-pass:hover { color: rgba(255,255,255,0.7); }

/* Checkbox */
.gh-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.5);
}
.gh-checkbox input[type="checkbox"] { margin-top: 2px; accent-color: #eab308; flex-shrink: 0; }
.gh-checkbox a { color: #eab308; text-decoration: none; }
.gh-checkbox a:hover { text-decoration: underline; }

/* Forgot password link */
.gh-forgot {
    font-size: 0.78rem;
    color: #eab308;
    text-decoration: none;
    font-weight: 500;
}
.gh-forgot:hover { text-decoration: underline; }

/* Submit Button */
.gh-btn-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #eab308, #eab308);
    color: #111827;
    border: none;
    padding: 0.9rem 1.5rem;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(234,179,8,0.35);
    font-family: inherit;
    margin-top: 0.3rem;
}
.gh-btn-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(234,179,8,0.5);
}

/* Divider */
.gh-divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: rgba(255,255,255,0.2);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.gh-divider::before,
.gh-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(255,255,255,0.08);
}

/* WhatsApp button */
.gh-btn-wpp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    background: rgba(37,211,102,0.1);
    border: 1px solid rgba(37,211,102,0.25);
    color: #25d366;
    padding: 0.8rem 1.5rem;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}
.gh-btn-wpp:hover {
    background: rgba(37,211,102,0.18);
    border-color: rgba(37,211,102,0.45);
}

/* Footer link */
.gh-form-footer {
    text-align: center;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.4);
    margin-top: 0.3rem;
}
.gh-form-footer a { color: #eab308; text-decoration: none; font-weight: 600; }
.gh-form-footer a:hover { text-decoration: underline; }

/* Auth - Responsive */
@media (max-width: 900px) {
    .gh-auth-container { grid-template-columns: 1fr; }
    .gh-auth-left { display: none; }
    .gh-auth-right { padding: 2rem 1.25rem; min-height: 100vh; }
    .gh-form-row.two-col { grid-template-columns: 1fr; }
}

/* =====================================================
   GRUPO HENRY — DASHBOARD
   ===================================================== */

/* Só o body: trava rolagem da página; a div.gh-dash-body (conteúdo) fica com scroll interno */
body.gh-dash-body {
    overflow: hidden;
    min-height: 100vh;
    height: 100vh;
}

/* Conteúdo abaixo do site header fixo (padding-top 72px no .gh-body) */
.gh-body.gh-dash-body > main {
    position: relative;
    z-index: 0;
    min-height: calc(100vh - 72px);
    max-height: calc(100vh - 72px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Como removemos o header do topo no painel, não subtrair 72px */
.gh-body.gh-dash-body > main {
    min-height: 100vh !important;
    max-height: 100vh !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Logo no topo do menu lateral (dashboard/admin) */
.gh-sidebar-logo-img{
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 10px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    padding: 6px;
    flex-shrink: 0;
}
body.gh-admin-page .gh-footer {
    display: none;
}

/* Outer wrapper */
.gh-dashboard {
    display: flex;
    flex: 1 1 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    background: #0d1117;
}

/* ── Sidebar ──────────────────────────────────────── */
.gh-sidebar {
    width: 240px;
    flex-shrink: 0;
    background: #111827;
    border-right: 1px solid rgba(255,255,255,0.06);
    display: flex;
    flex-direction: column;
    padding: 1.5rem 0;
    transition: transform 0.3s ease;
    height: 100%;
    overflow-y: auto;
}

.gh-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0 1.4rem 1.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    margin-bottom: 1rem;
}

.gh-sidebar-nav {
    display: flex;
    flex-direction: column;
    padding: 0 0.75rem;
    gap: 0.15rem;
    flex: 1;
}

.gh-nav-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.9rem;
    border-radius: 10px;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 500;
    color: rgba(255,255,255,0.5);
    transition: all 0.2s ease;
    position: relative;
}

.gh-nav-item:hover {
    background: rgba(255,255,255,0.05);
    color: rgba(255,255,255,0.85);
}

.gh-nav-item.active {
    background: linear-gradient(135deg, rgba(234,179,8,0.18), rgba(234,179,8,0.08));
    color: #facc15;
    border: 1px solid rgba(234,179,8,0.15);
}

.gh-nav-item i { font-size: 0.9rem; width: 18px; text-align: center; }

.gh-nav-badge {
    margin-left: auto;
    background: rgba(234,179,8,0.2);
    color: #facc15;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 50px;
}
.gh-nav-badge.alert {
    background: rgba(239,68,68,0.2);
    color: #f87171;
}

.gh-nav-divider {
    height: 1px;
    background: rgba(255,255,255,0.06);
    margin: 0.75rem 0;
}

.gh-nav-item.logout { color: rgba(239,68,68,0.6); }
.gh-nav-item.logout:hover { color: #f87171; background: rgba(239,68,68,0.06); }


/* ── Main Area ───────────────────────────────────── */
.gh-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ── Top Bar ─────────────────────────────────────── */
.gh-dash-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
    background: #111827;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    gap: 1rem;
    flex-shrink: 0;
}

.gh-dash-header-left { display: flex; align-items: center; gap: 1rem; }

.gh-sidebar-toggle {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    color: rgba(255,255,255,0.5);
    padding: 0.5rem 0.65rem;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    display: none;
}
.gh-sidebar-toggle:hover { color: #fff; background: rgba(255,255,255,0.1); }

.gh-greeting h1 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}
.gh-greeting h1 span { color: #facc15; }
.gh-greeting p  { font-size: 0.78rem; color: rgba(255,255,255,0.4); margin: 0; }

.gh-dash-header-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.gh-dash-search {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    padding: 0.55rem 1rem;
}
.gh-dash-search i { color: rgba(255,255,255,0.3); font-size: 0.8rem; }
.gh-dash-search input {
    background: none;
    border: none;
    color: #fff;
    font-size: 0.85rem;
    outline: none;
    width: 160px;
}
.gh-dash-search input::placeholder { color: rgba(255,255,255,0.25); }

.gh-notif-btn {
    position: relative;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    color: rgba(255,255,255,0.6);
    padding: 0.55rem 0.7rem;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.2s;
}
.gh-notif-btn:hover { color: #fff; }
.gh-notif-dot {
    position: absolute;
    top: 6px; right: 6px;
    width: 7px; height: 7px;
    background: #ef4444;
    border-radius: 50%;
    border: 1.5px solid #111827;
}

.gh-user-avatar {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    cursor: pointer;
}
.gh-avatar-placeholder {
    width: 36px; height: 36px;
    background: linear-gradient(135deg, #eab308, #a16207);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.9rem;
}
.gh-avatar-name { font-size: 0.85rem; font-weight: 600; color: #fff; display: block; }
.gh-avatar-role { font-size: 0.72rem; color: rgba(255,255,255,0.4); display: block; }

/* ── Corpo rolável do painel (não confundir com body.gh-dash-body) ───── */
.gh-main > .gh-dash-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1.5rem 2rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

#ghComPagina,
#ghVagasPagina,
#ghPenalPagina {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    flex-direction: column;
    background: #0f172a;
    padding: 1.5rem 1rem 2.5rem;
}

/* ── Status Banner ───────────────────────────────── */
.gh-status-banner {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: linear-gradient(135deg, rgba(251,191,36,0.12), rgba(245,158,11,0.06));
    border: 1px solid rgba(251,191,36,0.2);
    border-radius: 14px;
    padding: 1rem 1.5rem;
    flex-wrap: wrap;
}

.gh-status-icon {
    width: 44px; height: 44px;
    background: rgba(251,191,36,0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fbbf24;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.gh-status-banner strong { display: block; color: #fbbf24; font-size: 0.95rem; }
.gh-status-banner p { color: rgba(255,255,255,0.55); font-size: 0.82rem; margin: 0; }

.gh-status-cta {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff;
    text-decoration: none;
    padding: 0.55rem 1.1rem;
    border-radius: 50px;
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(37,211,102,0.25);
    transition: all 0.2s;
}
.gh-status-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(37,211,102,0.4); }

.gh-status-banner--stacked { flex-direction: column; align-items: stretch; gap: 1rem; }
.gh-status-banner__head { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 0; }
.gh-status-banner__head .gh-status-cta { margin-left: auto; }
.gh-status-banner .gh-muted { color: rgba(255,255,255,0.45); font-weight: 500; }

.gh-dash-cand-list { display: flex; flex-direction: column; gap: 0.65rem; width: 100%; margin-top: 0.15rem; }
.gh-dash-cand-line { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.75rem 1rem; padding: 0.7rem 0.85rem; background: rgba(0,0,0,0.2); border-radius: 10px; border: 1px solid rgba(255,255,255,0.06); }
.gh-dash-cand-line__main { min-width: 0; flex: 1; }
.gh-dash-cand-line__main > strong { display: block; color: #fff; font-size: 0.9rem; margin-bottom: 0.2rem; }
.gh-dash-cand-line__sub { font-size: 0.75rem; color: rgba(255,255,255,0.38); }
.gh-dash-cand-line__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 0.45rem; min-width: 0; }
.gh-dash-cand-recrutador { font-size: 0.8rem; color: rgba(255,255,255,0.55); text-align: right; }
.gh-dash-cand-recrutador em { font-style: normal; color: rgba(255,255,255,0.88); font-weight: 600; }
.gh-dash-cand-line__badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.45rem; }
.gh-dash-ent-btns { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.45rem; }
.gh-btn-entrevista-info {
    display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.75rem; border-radius: 8px;
    border: 1px solid rgba(250, 204, 21, 0.35); background: rgba(234, 179, 8, 0.1);
    color: #fde68a; font-size: 0.75rem; font-weight: 700; cursor: pointer; font-family: inherit;
    transition: background 0.15s, border-color 0.15s;
}
.gh-btn-entrevista-info:hover { background: rgba(234, 179, 8, 0.18); border-color: rgba(250, 204, 21, 0.45); }
.gh-btn-contato-recrutador {
    display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.45rem 0.85rem; border-radius: 8px;
    border: 1px solid rgba(96, 165, 250, 0.35); background: rgba(59, 130, 246, 0.12);
    color: #93c5fd; font-size: 0.72rem; font-weight: 700; cursor: pointer; font-family: inherit;
    transition: background 0.15s, border-color 0.15s; max-width: 100%; text-align: left; line-height: 1.25;
}
.gh-btn-contato-recrutador:hover { background: rgba(59, 130, 246, 0.2); border-color: rgba(96, 165, 250, 0.5); }
.gh-btn-contato-recrutador--compact { padding: 0.35rem 0.6rem; font-size: 0.72rem; }
.gh-contato-btn-wrap { position: relative; display: inline-block; vertical-align: middle; }
.gh-contato-novo-ping {
    position: absolute; top: -2px; right: -2px; width: 9px; height: 9px; background: #ef4444;
    border-radius: 50%; z-index: 1;
    box-shadow: 0 0 0 2px rgba(15, 20, 35, 0.95), 0 1px 3px rgba(0, 0, 0, 0.45);
    pointer-events: none;
}
.gh-contato-ent-bloc { margin: 0 0 1rem; padding: 0.75rem 0.9rem; background: rgba(0,0,0,0.22); border-radius: 10px; border: 1px solid rgba(255,255,255,0.07); }
.gh-contato-ent-bloc__t { margin: 0 0 0.5rem; font-size: 0.8rem; font-weight: 600; color: rgba(255,255,255,0.65); }
.gh-contato-ent-bloc__t i { color: #93c5fd; margin-right: 0.35rem; }
.gh-contato-ent-bloc__txt { margin: 0 !important; font-size: 0.86rem; }
.gh-contato-msg-lbl { display: block; font-size: 0.8rem; font-weight: 600; color: rgba(255,255,255,0.55); margin: 0.25rem 0 0.4rem; }
.gh-contato-msg-ta {
    width: 100%; box-sizing: border-box; min-height: 6.5rem; padding: 0.75rem 0.9rem; border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.12); background: rgba(0,0,0,0.28); color: #f1f5f9; font-size: 0.9rem;
    font-family: inherit; resize: vertical;
}
.gh-contato-msg-ta:focus { outline: none; border-color: rgba(59, 130, 246, 0.45); }
.gh-contato-msg-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.5rem; align-items: center; }

.gh-app-recrutador-line { display: block; font-size: 0.76rem; color: rgba(255,255,255,0.45); margin: 0.1rem 0 0.15rem; }
.gh-app-item__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; }

.gh-dash-ent-modal { max-width: min(96vw, 500px); max-height: min(90vh, 640px); overflow-y: auto; }
.gh-contato-historico-wrap { margin-bottom: 0.5rem; }
.gh-contato-historico {
    max-height: 14rem; overflow-y: auto; padding: 0.5rem 0.65rem; border-radius: 10px;
    background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.07);
}
.gh-contato-historico-vazio { margin: 0; font-size: 0.84rem; color: rgba(255,255,255,0.4); line-height: 1.4; }
.gh-contato-hist-item { padding: 0.65rem 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.gh-contato-hist-item:last-child { border-bottom: none; }
.gh-contato-hist-item--recrutador { background: rgba(249, 115, 22, 0.08); margin: 0.35rem 0; padding: 0.65rem 0.5rem; border-radius: 8px; border: 1px solid rgba(249, 115, 22, 0.12); }
.gh-contato-hist-item--recrutador + .gh-contato-hist-item--recrutador { margin-top: 0.25rem; }
.gh-contato-hist-meta { font-size: 0.72rem; color: rgba(255,255,255,0.4); margin-bottom: 0.35rem; }
.gh-contato-hist-meta i { color: rgba(34, 197, 94, 0.75); margin-right: 0.2rem; }
.gh-contato-hist-item--recrutador .gh-contato-hist-meta i { color: #fdba74; }
.gh-contato-hist-txt { font-size: 0.88rem; color: rgba(255,255,255,0.88); line-height: 1.45; white-space: pre-wrap; word-break: break-word; }
.gh-dash-ent-meta { margin: 0 0 0.45rem; font-size: 0.86rem; color: rgba(255,255,255,0.6); line-height: 1.45; }
.gh-dash-ent-meta i { margin-right: 0.35rem; color: #93c5fd; opacity: 0.9; }
.gh-dash-ent-body { margin-top: 0.75rem; padding: 0.9rem 1rem; background: rgba(0,0,0,0.25); border-radius: 10px; border: 1px solid rgba(255,255,255,0.07); color: rgba(255,255,255,0.9); font-size: 0.9rem; line-height: 1.55; white-space: pre-wrap; word-break: break-word; }

/* ── Carteira (saldo + saque) ───────────────────── */
.gh-wallet-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(5, 150, 105, 0.05));
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: 14px;
    padding: 1rem 1.35rem;
}
.gh-wallet-left {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}
.gh-wallet-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    font-size: 1.2rem;
    flex-shrink: 0;
}
.gh-wallet-text { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.gh-wallet-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.45);
}
.gh-wallet-value {
    font-size: 1.45rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
}
.gh-wallet-hint {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.4);
    line-height: 1.35;
}
.gh-wallet-sacar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    padding: 0.65rem 1.35rem;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
    transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s;
    white-space: nowrap;
}
.gh-wallet-sacar:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(16, 185, 129, 0.45);
}
.gh-wallet-sacar:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    box-shadow: none;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.5);
}

/* ── Meus trabalhos (histórico por vaga aprovada) ─ */
.gh-meu-trab-panel { max-width: 720px; }
.gh-meu-trab-lead {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.9rem;
    margin: 0 0 1rem;
    line-height: 1.45;
}
.gh-meu-trab-empty {
    text-align: center;
    padding: 2rem 1.25rem;
    background: #111827;
    border: 1px dashed rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.9rem;
    line-height: 1.55;
}
.gh-meu-trab-empty i {
    font-size: 2.25rem;
    color: rgba(250, 204, 21, 0.45);
    display: block;
    margin-bottom: 0.75rem;
}
.gh-meu-trab-empty strong { color: rgba(255, 255, 255, 0.85); }
.gh-meu-trab-chooser { display: flex; flex-direction: column; gap: 0.65rem; }
.gh-meu-trab-pick {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    background: #111827;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, background 0.2s;
}
.gh-meu-trab-pick:hover {
    border-color: rgba(234, 179, 8, 0.35);
    background: rgba(234, 179, 8, 0.06);
}
.gh-meu-trab-pick-ic {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(234, 179, 8, 0.12);
    color: #facc15;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.gh-meu-trab-pick-body { display: flex; flex-direction: column; gap: 0.2rem; flex: 1; min-width: 0; }
.gh-meu-trab-pick-body strong { color: #fff; font-size: 0.95rem; }
.gh-meu-trab-pick-body span { font-size: 0.78rem; color: rgba(255, 255, 255, 0.4); }
.gh-meu-trab-pick-go { color: rgba(255, 255, 255, 0.25); font-size: 0.85rem; }
.gh-meu-trab-back {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
    color: #facc15;
    text-decoration: none;
    margin-bottom: 1rem;
    font-weight: 600;
}
.gh-meu-trab-back:hover { text-decoration: underline; }
.gh-meu-trab-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.gh-meu-trab-item {
    background: #111827;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 1rem 1.15rem;
}
.gh-meu-trab-item-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-bottom: 0.35rem;
}
.gh-meu-trab-item-head strong { color: #fff; font-size: 0.95rem; }
.gh-meu-trab-item-date {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.4);
    white-space: nowrap;
}
.gh-meu-trab-item-desc {
    margin: 0;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.5;
}

/* ── Minhas tarefas (lista) ─ */
.gh-tarefa-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.gh-tarefa-card {
    background: #111827;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 1rem 1.15rem 1.1rem;
}
.gh-tarefa-card-top { margin-bottom: 0.45rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; }
.gh-tarefa-status {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.2rem 0.55rem;
    border-radius: 6px;
}
.gh-tarefa-status.pendente     { background: rgba(148, 163, 184, 0.15); color: #94a3b8; }
.gh-tarefa-status.andamento    { background: rgba(234, 179, 8, 0.15); color: #facc15; }
.gh-tarefa-status.concluida { background: rgba(16, 185, 129, 0.15); color: #34d399; }
.gh-tarefa-status.cancelada { background: rgba(239, 68, 68, 0.12); color: #f87171; }
.gh-tarefa-valor-pagamento { margin: 0.4rem 0 0.6rem; font-size: 0.9rem; color: rgba(255, 255, 255, 0.7); }
.gh-tarefa-valor-pagamento strong { color: #34d399; }
.gh-tarefa-entrega-box { margin: 0.6rem 0 0; padding: 0.55rem 0.7rem; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.08); background: rgba(234, 179, 8, 0.08); }
.gh-tarefa-entrega-st { margin: 0; font-size: 0.86rem; color: rgba(255, 255, 255, 0.75); }
.gh-tarefa-actions { margin-top: 0.75rem; display: flex; justify-content: flex-end; }
.gh-tarefa-credito-box { margin: 0.5rem 0 0.65rem; padding: 0.55rem 0.7rem; border-radius: 10px; border: 1px solid rgba(16, 185, 129, 0.18); background: rgba(16, 185, 129, 0.08); }
.gh-tarefa-titulo {
    margin: 0 0 0.4rem;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
}
.gh-tarefa-desc {
    margin: 0;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.58);
    line-height: 1.5;
}
/* ── barra de prazo de entrega ── */
.gh-prazo-barra {
    margin: 0.75rem 0 0;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    padding: 0.6rem 0.75rem 0.55rem;
}
.gh-prazo-barra-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8rem;
    color: rgba(255,255,255,.7);
    margin-bottom: 0.45rem;
    gap: 0.5rem;
}
.gh-prazo-restante {
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}
.gh-prazo-track {
    width: 100%;
    height: 6px;
    border-radius: 99px;
    background: rgba(255,255,255,.1);
    overflow: hidden;
}
.gh-prazo-fill {
    height: 100%;
    border-radius: 99px;
    background: #22c55e;
    transition: width 1s linear, background 0.6s;
    min-width: 2px;
}
/* ── /barra de prazo ── */

.gh-tarefa-prazo {
    margin: 0.65rem 0 0;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
}
.gh-tarefa-tipo-badge { font-size: 0.66rem; font-weight: 700; text-transform: uppercase; padding: 0.2rem 0.45rem; border-radius: 4px; }
.gh-tarefa-tipo-badge.onl { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
.gh-tarefa-tipo-badge.pres { background: rgba(245, 158, 11, 0.2); color: #fde68a; }
.gh-tarefa-meta { font-size: 0.86rem; color: rgba(255, 255, 255, 0.65); line-height: 1.45; margin: 0.5rem 0 0; }
.gh-tarefa-link { color: #60a5fa; }
.gh-tarefa-link:hover { text-decoration: underline; }
.gh-tarefa-sub { display: block; font-size: 0.8rem; margin: 0.5rem 0 0.25rem; color: rgba(255, 255, 255, 0.75); }
.gh-tarefa-chk-bloco { margin: 0.5rem 0 0; }
.gh-tarefa-chk-ul { margin: 0.2rem 0 0; padding-left: 1.1rem; font-size: 0.85rem; color: rgba(255, 255, 255, 0.6); }
.gh-tarefa-chk-ul li { margin: 0.2rem 0; }
.gh-tarefa-comprovantes { margin: 0.6rem 0 0; }
.gh-tarefa-comp-ul { list-style: none; margin: 0.35rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.gh-tarefa-comp-thumb img { display: block; }
.gh-btn-baixar-img {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #facc15;
    background: rgba(250, 204, 21, 0.1);
    border: 1px solid rgba(250, 204, 21, 0.25);
    border-radius: 6px;
    padding: 0.28rem 0.65rem;
    text-decoration: none;
    transition: background 0.18s, border-color 0.18s;
    cursor: pointer;
}
.gh-btn-baixar-img:hover { background: rgba(250, 204, 21, 0.2); border-color: rgba(250, 204, 21, 0.5); }

/* admin: tarefas */
.gh-admin-tarefa-hint { margin: 0; color: rgba(255, 255, 255, 0.45); font-size: 0.86rem; max-width: 48rem; line-height: 1.45; }
.gh-tarefa-servicos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; margin-top: 0.5rem; }
.gh-tarefa-servico-card {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px; padding: 1rem; display: flex; flex-direction: column; gap: 0.6rem;
}
.gh-tarefa-serv-onl { display: inline-block; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; padding: 0.2rem 0.45rem; border-radius: 4px; background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
.gh-tarefa-serv-pres { display: inline-block; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; padding: 0.2rem 0.45rem; border-radius: 4px; background: rgba(245, 158, 11, 0.2); color: #fde68a; }
.gh-tarefa-serv-tit { margin: 0; font-size: 1rem; line-height: 1.3; }
.gh-tarefa-serv-vp { margin: 0; font-size: 0.75rem; color: rgba(255, 255, 255, 0.35); }
.gh-tarefa-serv-vp code { color: #a5b4fc; font-size: 0.72rem; }
.gh-tarefa-btn-criar { width: 100%; margin-top: auto; text-align: center; justify-content: center; }
.gh-admin-tarefa-empty { grid-column: 1 / -1; text-align: center; color: rgba(255, 255, 255, 0.3); padding: 1.5rem; }
.gh-tarefa-form-top { margin-bottom: 1rem; }
.gh-tarefa-voltar { background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.1); color: #e2e8f0; padding: 0.4rem 0.75rem; border-radius: 8px; cursor: pointer; font-family: inherit; font-size: 0.85rem; margin-bottom: 0.5rem; }
.gh-tarefa-voltar:hover { background: rgba(255, 255, 255, 0.1); }
.gh-tarefa-form-h3 { margin: 0.5rem 0 0.75rem; font-size: 1.05rem; }
.gh-tarefa-sec { margin: 0.75rem 0 0.4rem; font-size: 0.88rem; color: #fdba74; }
.gh-tarefa-bloco-geral { margin-bottom: 0.5rem; }
.gh-tarefa-dest { margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.gh-tarefa-rad { display: block; margin: 0.4rem 0; font-size: 0.88rem; color: rgba(255, 255, 255, 0.75); cursor: pointer; }
.gh-tarefa-cand-box { margin-top: 0.5rem; max-height: 14rem; overflow-y: auto; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 8px; padding: 0.5rem 0.6rem; background: rgba(0, 0, 0, 0.2); }
.gh-tarefa-cand-hint { margin: 0 0 0.4rem; font-size: 0.8rem; color: rgba(255, 255, 255, 0.4); }
.gh-tarefa-cand-lbl { display: block; margin: 0.25rem 0; font-size: 0.84rem; color: #e2e8f0; cursor: pointer; }
.gh-tarefa-cand-nm { font-weight: 500; }
.gh-tarefa-cand-em { font-size: 0.75rem; color: rgba(255, 255, 255, 0.4); margin-left: 0.25rem; }
.gh-tarefa-cand-placeholder { color: rgba(255, 255, 255, 0.35); font-size: 0.85rem; margin: 0.25rem 0; }
.gh-cand-nivel-badge { display: inline-block; font-size: 0.72rem; font-weight: 600; padding: 0.1rem 0.45rem; border-radius: 20px; background: rgba(99,102,241,0.2); color: #a5b4fc; margin-left: 0.4rem; vertical-align: middle; }
.gh-cand-comissao-badge { display: inline-block; font-size: 0.72rem; font-weight: 600; padding: 0.1rem 0.4rem; border-radius: 20px; background: rgba(16,185,129,0.18); color: #6ee7b7; margin-left: 0.25rem; vertical-align: middle; }
.gh-cand-vlr-calc { display: inline-block; font-size: 0.78rem; font-weight: 700; color: #86efac; margin-left: 0.35rem; vertical-align: middle; }
#ghTarefaComumFiles { color: #e2e8f0; font-size: 0.85rem; }
.gh-tarefa-equipes { margin-top: 0.5rem; }
#ghBtnCriarEquipe { padding: 0.55rem 0.85rem; }
#ghTarefaMostrarQtd { background: rgba(255,255,255,0.03); color: rgba(255,255,255,0.85); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 0.45rem 0.6rem; }
#ghTarefaInAgendamentoHora { color: rgba(255,255,255,0.85); }
.gh-tarefa-btn-cancel {
    background: rgba(239, 68, 68, 0.12); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.3);
    padding: 0.3rem 0.55rem; font-size: 0.75rem; border-radius: 6px; cursor: pointer; font-family: inherit; font-weight: 600;
}
.gh-tarefa-btn-cancel:hover { background: rgba(239, 68, 68, 0.2); }
.gh-tarefa-btn-correcao {
    background: rgba(251, 146, 60, 0.12); color: #fdba74; border: 1px solid rgba(251, 146, 60, 0.35);
    padding: 0.3rem 0.55rem; font-size: 0.72rem; border-radius: 6px; cursor: pointer; font-family: inherit; font-weight: 700;
    display: inline-flex; align-items: center; gap: 0.3rem;
}
.gh-tarefa-btn-correcao:hover { background: rgba(251, 146, 60, 0.22); }
.gh-tarefa-btn-ok {\n    background: rgba(16, 185, 129, 0.12); color: #86efac; border: 1px solid rgba(16, 185, 129, 0.28);\n    padding: 0.3rem 0.55rem; font-size: 0.75rem; border-radius: 6px; cursor: pointer; font-family: inherit; font-weight: 700; margin-right: 0.35rem;\n}\n.gh-tarefa-btn-ok:hover { background: rgba(16, 185, 129, 0.2); }\n.gh-tarefa-entrega-link { color: #93c5fd; font-weight: 600; background: none; border: none; padding: 0; font-family: inherit; cursor: pointer; }\n.gh-tarefa-entrega-link:hover { text-decoration: underline; }
.gh-admin-concluir-total { margin: 0.25rem 0 0.6rem; font-size: 0.95rem; color: rgba(255,255,255,0.75); }
.gh-tarefas-filtros { background: rgba(0,0,0,0.15); border: 1px solid rgba(255,255,255,0.06); border-radius: 14px; padding: 0.9rem; }
.gh-tarefas-paginacao { margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; justify-content: center; }
.gh-pag-btn { display:inline-flex; align-items:center; justify-content:center; min-width: 34px; height: 34px; padding: 0 0.6rem; border-radius: 10px; text-decoration:none; color: rgba(255,255,255,0.75); border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03); font-weight: 600; }
.gh-pag-btn:hover { background: rgba(255,255,255,0.07); }
.gh-pag-btn--active { background: rgba(249,115,22,0.18); border-color: rgba(249,115,22,0.3); color: #fdba74; }
.gh-pag-ellipsis { padding: 0 0.25rem; color: rgba(255,255,255,0.35); }
.gh-admin-tarefa-desc-snippet { margin: 0.3rem 0 0; font-size: 0.72rem; line-height: 1.3; color: rgba(255, 255, 255, 0.35); max-width: 14rem; }
.gh-admin-tarefa-tit-cel { font-weight: 600; }
.gh-tarefa-valor-cel { color: #86efac; font-size: 0.9rem; }
.gh-admin-tarefa-lote { font-size: 0.75rem; color: rgba(255, 255, 255, 0.4); }

/* ── Stats Grid ──────────────────────────────────── */
.gh-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.gh-stat-card {
    background: #111827;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 14px;
    padding: 1.2rem 1.4rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: all 0.2s;
}
.gh-stat-card:hover {
    border-color: rgba(234,179,8,0.2);
    transform: translateY(-2px);
}

.gh-stat-icon {
    width: 44px; height: 44px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.gh-stat-icon.blue   { background: rgba(249,115,22,0.15); color: #f97316; }
.gh-stat-icon.orange { background: rgba(249,115,22,0.15); color: #fb923c; }
.gh-stat-icon.green  { background: rgba(234,179,8,0.15);  color: #facc15; }
.gh-stat-icon.purple { background: rgba(139,92,246,0.15); color: #a78bfa; }

.gh-stat-info { display: flex; flex-direction: column; flex: 1; }
.gh-stat-num  { font-size: 1.5rem; font-weight: 800; color: #fff; line-height: 1; }
.gh-stat-label{ font-size: 0.75rem; color: rgba(255,255,255,0.4); margin-top: 0.2rem; }

.gh-stat-trend {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 50px;
    white-space: nowrap;
}
.gh-stat-trend.up      { background: rgba(234,179,8,0.12); color: #facc15; }
.gh-stat-trend.neutral { background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.3); }

/* ── Content Grid ────────────────────────────────── */
.gh-content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
}
.gh-card-full { grid-column: 1 / -1; }

.gh-card {
    background: #111827;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 16px;
    padding: 1.4rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.gh-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.gh-card-header h3 {
    font-size: 0.95rem;
    font-weight: 700;
    color: rgba(255,255,255,0.9);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}
.gh-card-header h3 i { color: #eab308; }
.gh-card-link {
    font-size: 0.78rem;
    color: #eab308;
    text-decoration: none;
    font-weight: 600;
}
.gh-card-link:hover { text-decoration: underline; }

/* Applications List */
.gh-applications-list { display: flex; flex-direction: column; gap: 0.75rem; }

.gh-app-item {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.9rem;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 12px;
    transition: all 0.2s;
}
.gh-app-item:hover { background: rgba(255,255,255,0.06); }

.gh-app-icon {
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}
.gh-app-icon.online   { background: rgba(249,115,22,0.15); color: #f97316; }
.gh-app-icon.presencial{ background: rgba(249,115,22,0.15); color: #fb923c; }

.gh-app-info { flex: 1; }
.gh-app-info strong  { display: block; font-size: 0.88rem; color: #fff; font-weight: 600; }
.gh-app-info span    { font-size: 0.75rem; color: rgba(255,255,255,0.35); }

.gh-app-status {
    padding: 0.3rem 0.75rem;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}
.gh-app-status.em-analise { background: rgba(251,191,36,0.12); color: #fbbf24; }
.gh-app-status.novo       { background: rgba(234,179,8,0.12);  color: #facc15; }
.gh-app-status.aprovado   { background: rgba(16,185,129,0.12); color: #34d399; }

.gh-app-empty-hint { text-align: center; }
.gh-btn-sm {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(234,179,8,0.1);
    border: 1px solid rgba(234,179,8,0.2);
    color: #facc15;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}
.gh-btn-sm:hover { background: rgba(234,179,8,0.18); }

/* Profile Summary */
.gh-profile-summary { display: flex; flex-direction: column; gap: 1rem; }
.gh-profile-avatar {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.gh-avatar-big {
    width: 52px; height: 52px;
    background: linear-gradient(135deg, #eab308, #a16207);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
    font-size: 1.3rem;
    flex-shrink: 0;
}
.gh-profile-avatar strong { display: block; color: #fff; font-size: 0.95rem; }
.gh-profile-avatar span   { color: rgba(255,255,255,0.4); font-size: 0.78rem; }

.gh-progress-section { display: flex; flex-direction: column; gap: 0.45rem; }
.gh-progress-label {
    display: flex;
    justify-content: space-between;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.5);
}
.gh-progress-pct { color: #facc15; font-weight: 700; }
.gh-progress-bar {
    height: 6px;
    background: rgba(255,255,255,0.07);
    border-radius: 50px;
    overflow: hidden;
}
.gh-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #eab308, #facc15);
    border-radius: 50px;
    transition: width 1s ease;
}
.gh-progress-hint { font-size: 0.75rem; color: rgba(255,255,255,0.25); margin: 0; }

.gh-profile-checklist { display: flex; flex-direction: column; gap: 0.5rem; }
.gh-check-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
}
.gh-check-item.done    { color: rgba(255,255,255,0.75); }
.gh-check-item.done i  { color: #eab308; }
.gh-check-item.pending { color: rgba(255,255,255,0.3); }
.gh-check-item.pending i { color: rgba(255,255,255,0.15); }

/* Vagas dash grid */
.gh-vagas-dash-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.gh-vaga-dash-item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.9rem;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 12px;
    transition: all 0.2s;
}
.gh-vaga-dash-item:hover { background: rgba(255,255,255,0.06); border-color: rgba(234,179,8,0.15); }

.gh-vaga-dash-icon {
    width: 38px; height: 38px;
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
}
.gh-vaga-dash-icon.online    { background: rgba(249,115,22,0.15); color: #f97316; }
.gh-vaga-dash-icon.presencial{ background: rgba(249,115,22,0.15); color: #fb923c; }

.gh-vaga-dash-info { flex: 1; }
.gh-vaga-dash-info strong { display: block; font-size: 0.85rem; color: #fff; font-weight: 600; }

.gh-tipo-badge {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 50px;
    margin-top: 0.15rem;
}
.gh-tipo-badge.online    { background: rgba(249,115,22,0.12); color: #f97316; }
.gh-tipo-badge.presencial{ background: rgba(249,115,22,0.12); color: #fb923c; }

.gh-btn-apply {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    background: rgba(234,179,8,0.1);
    border: 1px solid rgba(234,179,8,0.2);
    color: #facc15;
    padding: 0.4rem 0.85rem;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
}
.gh-btn-apply:hover { background: rgba(234,179,8,0.2); }

/* ── Painel Vagas Disponíveis (gh-dashboard) ─────── */
#ghVagasPagina {
    background: #0f172a;
}

.gh-vp-filtro {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.5);
    padding: .35rem .85rem;
    border-radius: 99px;
    font-size: .8rem;
    font-weight: 600;
    cursor: pointer;
    font-family: sans-serif;
    transition: all .2s;
}
.gh-vp-filtro:hover { background: rgba(255,255,255,.1); color: #fff; }
.gh-vp-filtro.active {
    background: rgba(250,204,21,.15);
    border-color: rgba(250,204,21,.35);
    color: #facc15;
}

.gh-vp-card {
    background: #1e293b;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 1rem 1.1rem;
    margin-bottom: .75rem;
    transition: border-color .2s;
}
.gh-vp-card:hover { border-color: rgba(250,204,21,.2); }

.gh-vp-top {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
}
.gh-vp-icon {
    width: 42px; height: 42px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}
.gh-vp-icon.online     { background: rgba(249,115,22,.15); color: #f97316; }
.gh-vp-icon.presencial { background: rgba(96,165,250,.12); color: #60a5fa; }
.gh-tipo-badge.online     { background: rgba(249,115,22,.12); color: #f97316; }
.gh-tipo-badge.presencial { background: rgba(96,165,250,.12); color: #60a5fa; }

.gh-vp-info { flex: 1; min-width: 0; }

/* ── Dashboard Responsive ────────────────────────── */
@media (max-width: 1150px) {
    /* Em telas menores, 1 card por linha (evita cards lado a lado no mobile) */
    .gh-stats-grid { grid-template-columns: 1fr; }
    .gh-vagas-dash-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    body.gh-dash-body {
        overflow: auto;
        min-height: 100vh;
        height: auto;
        overflow-x: hidden;
        overscroll-behavior-y: auto;
    }
    .gh-body.gh-dash-body > main { overflow-x: hidden; }
    .gh-dashboard { overflow-x: hidden; }
    .gh-main { overflow-x: hidden; max-width: 100%; overflow-y: visible; }
    /* No mobile o scroll acontece no body — containers internos não devem travar o gesto */
    .gh-main > .gh-dash-body,
    #ghComPagina,
    #ghVagasPagina,
    #ghPenalPagina {
        overflow-y: visible;
        height: auto;
        max-height: none;
        overflow-x: hidden;
        min-height: 0;
    }
    .gh-dashboard { flex-direction: column; }
    .gh-body.gh-dash-body > main {
        min-height: 0;
        max-height: none;
        height: auto;
        flex: 1 1 auto;
    }
    /* Drawer lateral da esquerda */
    .gh-sidebar {
        position: fixed;
        top: 0; left: 0; bottom: 0;
        width: min(280px, 82vw);
        height: 100%;
        height: 100dvh;
        flex-direction: column;
        border-right: 1px solid rgba(255,255,255,0.08);
        border-bottom: none;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 1.25rem 0;
        z-index: 9990;
        transform: translateX(-105%);
        transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
        box-shadow: none;
    }
    .gh-sidebar.open {
        transform: translateX(0);
        box-shadow: 6px 0 32px rgba(0,0,0,0.55);
    }
    /* Overlay escuro por trás do drawer */
    .gh-sidebar-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.55);
        z-index: 9989;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
    }
    .gh-sidebar-overlay.open { display: block; }
    /* Itens do nav voltam para coluna */
    .gh-sidebar-brand {
        padding: 0 1.25rem 1.25rem;
        border-bottom: 1px solid rgba(255,255,255,0.06);
        margin-bottom: 0.75rem;
    }
    .gh-sidebar-nav { flex-direction: column; gap: 0.15rem; overflow-x: hidden; }
    .gh-nav-item span { display: inline !important; }
    .gh-sidebar-toggle { display: flex; }
    .gh-main { padding-top: 0; }
    /* Header fixo no topo ao rolar no mobile */
    .gh-dash-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 500;
        flex-wrap: nowrap;
        gap: .6rem;
    }
    /* Esquerda do header: ocupa o espaço sobrando, mas pode encolher */
    .gh-dash-header-left {
        flex: 1 1 auto;
        min-width: 0;
    }
    /* Direita do header: nunca encolhe (mantém widget/sino/avatar visíveis) */
    .gh-dash-header-right {
        flex: 0 0 auto;
        gap: .55rem;
    }
    /* Saudação encolhe e trunca se o nome for grande */
    .gh-greeting { min-width: 0; flex: 1 1 auto; overflow: hidden; }
    .gh-greeting h1 {
        font-size: .95rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .gh-greeting p {
        font-size: .7rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    /* Compensa o espaço ocupado pelo header fixo
       A variável --gh-dash-header-h é atualizada por JS (script.js) com a altura real.
       O fallback (64px) cobre o tamanho típico até o JS rodar. */
    .gh-main > .gh-dash-body,
    .gh-main > #ghComPagina,
    .gh-main > #ghVagasPagina,
    .gh-main > #ghPenalPagina {
        padding-top: calc(1.5rem + var(--gh-dash-header-h, 64px));
    }
    .gh-content-grid { grid-template-columns: 1fr; }
    .gh-dash-search { display: none; }
    .gh-user-avatar .gh-avatar-info { display: none; }
    /* Stats: 1 por linha no mobile/tablet para não estourar */
    .gh-stats-grid { grid-template-columns: 1fr !important; }

    /* evita "arrastar" pro lado por textos/itens longos */
    .gh-card,
    .gh-wallet-bar,
    .gh-app-item,
    .gh-app-info {
        min-width: 0;
        max-width: 100%;
    }
    .gh-app-info strong,
    .gh-app-info span {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

@media (max-width: 600px) {
    /* No mobile, 1 card por linha (evita qualquer overflow lateral) */
    .gh-stats-grid { grid-template-columns: 1fr; gap: 0.75rem; }
    .gh-main > .gh-dash-body { padding: 1rem; padding-top: calc(1rem + var(--gh-dash-header-h, 60px)); }
    .gh-main > #ghComPagina,
    .gh-main > #ghVagasPagina,
    .gh-main > #ghPenalPagina { padding-top: calc(1rem + var(--gh-dash-header-h, 60px)); }
    .gh-dash-header { padding: 0.65rem 0.85rem; gap: .5rem; }
    .gh-dash-header-right { gap: .45rem; }
    /* Saudação ainda menor em telas bem estreitas */
    .gh-greeting h1 { font-size: .88rem; }
    .gh-greeting p { font-size: .65rem; }

    /* Stats cards: evitar overflow lateral no mobile */
    .gh-stat-card { padding: 0.95rem 1rem; min-width: 0; }
    .gh-stat-info { min-width: 0; }
    .gh-stat-num { font-size: 1.25rem; }
    .gh-stat-trend { white-space: normal; max-width: 100%; }
}

/* ── Alerta inline (cadastro/login) ─────────────────── */
.gh-alerta {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}
.gh-alerta-erro {
    background: rgba(239,68,68,0.12);
    border: 1px solid rgba(239,68,68,0.25);
    color: #f87171;
}
.gh-alerta-sucesso {
    background: rgba(234,179,8,0.12);
    border: 1px solid rgba(234,179,8,0.25);
    color: #facc15;
}

/* ── Admin: botão no footer ─────────────────────────── */
.gh-footer-admin-link {
    display: inline-flex !important;
    align-items: center;
    gap: 0.4rem;
    color: rgba(255,255,255,0.2) !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    transition: color 0.2s !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    padding: 0.3rem 0.75rem !important;
    border-radius: 50px !important;
}
.gh-footer-admin-link:hover { color: rgba(255,255,255,0.5) !important; border-color: rgba(255,255,255,0.2) !important; }

/* ── Admin: login page tweaks ───────────────────────── */
.gh-admin-left { background: linear-gradient(145deg, #0d0d1a 0%, #1a1a3e 50%, #0d1f0d 100%) !important; }
.admin-icon { background: linear-gradient(135deg, #f97316, #ea580c) !important; }
.gh-admin-btn { background: linear-gradient(135deg, #f97316, #c2410c) !important; box-shadow: 0 6px 20px rgba(249,115,22,0.35) !important; }
.gh-admin-btn:hover { box-shadow: 0 10px 28px rgba(249,115,22,0.5) !important; }
.gh-admin-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(249,115,22,0.1);
    border: 1px solid rgba(249,115,22,0.2);
    color: #fdba74;
    padding: 0.35rem 0.9rem;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}
.gh-admin-badge-sm {
    background: rgba(249,115,22,0.1);
    border: 1px solid rgba(249,115,22,0.2);
    color: #fdba74;
    padding: 0.3rem 0.8rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
}

/* ── Admin: sidebar ─────────────────────────────────── */
.gh-admin-sidebar .gh-logo-icon.admin-icon { background: linear-gradient(135deg, #f97316, #ea580c) !important; }
.gh-admin-sidebar .gh-nav-item.active {
    background: linear-gradient(135deg, rgba(249,115,22,0.18), rgba(249,115,22,0.08)) !important;
    color: #fdba74 !important;
    border-color: rgba(249,115,22,0.15) !important;
}
.gh-admin-sidebar .gh-nav-badge { background: rgba(249,115,22,0.2) !important; color: #fdba74 !important; }

/* ── Admin: tabs ────────────────────────────────────── */
.gh-admin-tab { display: none; flex-direction: column; gap: 1.5rem; }

/* ── Admin: tabela ──────────────────────────────────── */
.gh-admin-table-wrap { overflow-x: auto; border-radius: 10px; }
.gh-admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.83rem;
}
.gh-admin-table thead th {
    background: rgba(255,255,255,0.04);
    color: rgba(255,255,255,0.5);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    white-space: nowrap;
}
.gh-admin-table tbody td {
    padding: 0.75rem 1rem;
    color: rgba(255,255,255,0.75);
    border-bottom: 1px solid rgba(255,255,255,0.04);
    vertical-align: middle;
}
.gh-admin-table tbody tr:hover td { background: rgba(255,255,255,0.03); }
.gh-admin-table tbody tr:last-child td { border-bottom: none; }

/* ── Admin: search input ────────────────────────────── */
.gh-search-input {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    padding: 0.45rem 0.9rem;
    color: #fff;
    font-size: 0.83rem;
    outline: none;
    transition: border-color 0.2s;
    width: 220px;
}
.gh-search-input:focus { border-color: rgba(249,115,22,0.4); }
.gh-search-input::placeholder { color: rgba(255,255,255,0.25); }

/* gh-admin dash: card header row wrap */
.gh-admin-dash .gh-card-header { flex-wrap: wrap; gap: 0.5rem; }
.gh-admin-mensagens-hint { margin: 0; color: rgba(255, 255, 255, 0.45); font-size: 0.88rem; flex: 1; min-width: 200px; }
.gh-admin-mensagens-filter { max-width: 280px; }
.gh-admin-msg-cell { max-width: 28rem; min-width: 12rem; vertical-align: top; }
.gh-admin-msg-text { white-space: pre-wrap; word-break: break-word; color: rgba(255, 255, 255, 0.88); font-size: 0.9rem; line-height: 1.45; max-height: 14rem; overflow-y: auto; }
.gh-admin-msg-origem { font-size: 0.8rem; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.25rem; line-height: 1.3; }
.gh-admin-msg-origem--rec { color: #fdba74; }
.gh-admin-msg-origem--cand { color: #86efac; }
.gh-admin-msg-origem-nome { display: block; width: 100%; font-size: 0.72rem; color: rgba(255, 255, 255, 0.45); font-weight: 500; margin-top: 0.1rem; }
.gh-btn-gh-reply {
    display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.35rem 0.6rem; font-size: 0.78rem; font-weight: 600;
    color: #fdba74; background: rgba(249, 115, 22, 0.12); border: 1px solid rgba(249, 115, 22, 0.25);
    border-radius: 8px; cursor: pointer; font-family: inherit; transition: background 0.15s;
}
.gh-btn-gh-reply:hover { background: rgba(249, 115, 22, 0.22); }
.gh-responder-preview { font-size: 0.8rem; color: rgba(255, 255, 255, 0.5); line-height: 1.4; margin: 0 0 0.75rem; padding: 0.5rem 0.65rem; background: rgba(0, 0, 0, 0.2); border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.06); }
/* -- Admin: badge de fun��o ----------------------------- */
.gh-funcao-badge {
    display: inline-block;
    background: rgba(249,115,22,0.12);
    border: 1px solid rgba(249,115,22,0.2);
    color: #fdba74;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.2rem 0.6rem;
    border-radius: 50px;
    white-space: nowrap;
}

.gh-action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;cursor:pointer;font-size:.75rem;transition:all .15s;margin:0 2px}
.gh-action-btn.edit{background:rgba(249,115,22,.15);color:#fdba74}
.gh-action-btn.edit:hover:not(:disabled){background:rgba(249,115,22,.3)}
.gh-action-btn.delete{background:rgba(239,68,68,.12);color:#f87171}
.gh-action-btn.delete:hover:not(:disabled){background:rgba(239,68,68,.25)}
.gh-action-btn:disabled{opacity:.25;cursor:not-allowed}
.gh-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}
.gh-modal-box{background:#131929;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:2rem;width:100%;max-width:580px;box-shadow:0 30px 60px rgba(0,0,0,.5);animation:modalIn .2s ease;max-height:calc(100vh - 2rem);overflow-y:auto;box-sizing:border-box}
@keyframes modalIn{from{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.gh-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.gh-modal-header h3{font-size:1.1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.5rem}
.gh-modal-header h3 i{color:#fdba74}
.gh-modal-close{background:rgba(255,255,255,.06);border:none;color:rgba(255,255,255,.4);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .15s}
.gh-modal-close:hover{background:rgba(255,255,255,.12);color:#fff}

/* Modal Solicitar saque — scroll e altura em telas pequenas */
.gh-saque-modal-overlay {
    align-items: flex-start;
    padding: max(0.5rem, env(safe-area-inset-top, 0px)) 0.75rem max(0.75rem, env(safe-area-inset-bottom, 0px));
    -webkit-overflow-scrolling: touch;
}
.gh-saque-modal-box {
    max-width: min(560px, 96vw);
    max-height: min(92vh, calc(100dvh - 1.5rem));
    margin: auto;
    padding: 1.35rem 1.15rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.gh-saque-modal-box .gh-modal-header {
    margin-bottom: 0.85rem;
    position: sticky;
    top: 0;
    z-index: 1;
    background: #131929;
    padding-bottom: 0.35rem;
}
.gh-saque-modal-actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}
.gh-saque-modal-actions .gh-btn-apply,
.gh-saque-modal-actions .gh-cand-status-fechar {
    flex: 1 1 9rem;
    min-width: 0;
    width: 100%;
}
@media (max-width: 600px) {
    .gh-saque-modal-overlay {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .gh-saque-modal-box {
        max-height: min(94vh, calc(100dvh - 1rem));
        padding: 1rem 0.85rem;
        border-radius: 14px;
    }
    .gh-saque-modal-box .gh-modal-header h3 {
        font-size: 0.95rem;
        gap: 0.35rem;
    }
    .gh-saque-modal-actions {
        flex-direction: column;
    }
    .gh-saque-modal-actions .gh-btn-apply,
    .gh-saque-modal-actions .gh-cand-status-fechar {
        flex: 1 1 auto;
        width: 100%;
    }
    .gh-wallet-sacar {
        font-size: 0.82rem;
        padding: 0.5rem 1rem;
    }
    #ghSaqCanvasWrap canvas,
    #ghSaqCanvas {
        height: 120px !important;
    }
}

/* Modal Adiantamento de Saque (passo 1 — valor + taxa) */
.gh-adiant-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(9, 18, 34, 0.93);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: max(0.5rem, env(safe-area-inset-top, 0px)) 0.75rem max(0.75rem, env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.gh-adiant-modal-box {
    background: #0f172a;
    border: 1px solid rgba(251, 191, 36, 0.3);
    border-radius: 18px;
    width: 100%;
    max-width: 430px;
    max-height: min(92vh, calc(100dvh - 1.5rem));
    margin: auto;
    padding: 1.35rem 1.15rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    box-sizing: border-box;
}
.gh-adiant-modal-actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.gh-adiant-btn-cancel {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #94a3b8;
    padding: 0.5rem 1.1rem;
    border-radius: 9px;
    font-size: 0.85rem;
    cursor: pointer;
    font-family: inherit;
    flex: 1 1 9rem;
    min-width: 0;
}
.gh-adiant-btn-confirm {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    border: none;
    color: #1a0a00;
    font-weight: 700;
    padding: 0.5rem 1.35rem;
    border-radius: 9px;
    font-size: 0.85rem;
    cursor: pointer;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    flex: 1 1 12rem;
    min-width: 0;
}
@media (max-width: 600px) {
    .gh-adiant-modal-overlay {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .gh-adiant-modal-box {
        max-height: min(94vh, calc(100dvh - 1rem));
        padding: 1rem 0.85rem;
        border-radius: 14px;
    }
    .gh-adiant-modal-box h3 {
        font-size: 0.95rem;
    }
    .gh-adiant-modal-actions {
        flex-direction: column;
    }
    .gh-adiant-btn-cancel,
    .gh-adiant-btn-confirm {
        width: 100%;
        flex: 1 1 auto;
    }
}

#ghCurriculoModal{z-index:10040}
.gh-curriculo-modal{max-width:min(960px,96vw);padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:92vh}
.gh-curriculo-modal .gh-modal-header{margin-bottom:0;padding:1.1rem 1.35rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
.gh-curriculo-modal-body{flex:1;min-height:0;background:#0a0d14;overflow:hidden}
.gh-curriculo-iframe{display:none;width:100%;height:min(78vh,720px);border:0;background:#fff;vertical-align:top}
.gh-curriculo-iframe.is-visible{display:block}
.gh-curriculo-word{padding:1.75rem 1.25rem;text-align:center;color:rgba(255,255,255,.78);line-height:1.55;max-width:28rem;margin:0 auto}
.gh-curriculo-word p{margin:0 0 1rem}
.gh-curriculo-dl{margin-top:0.35rem;display:inline-flex;align-items:center;gap:0.45rem;padding:0.6rem 1.1rem;border-radius:10px;font-size:0.88rem}
.gh-cv-badge{display:inline-flex;align-items:center;gap:0.28rem;border-radius:6px;padding:0.18rem 0.5rem;font-size:0.76rem;vertical-align:middle}
.gh-cv-badge.sim{background:rgba(34,197,94,.12);color:#86efac}
.gh-cv-badge.nao{background:rgba(255,255,255,.04);color:rgba(255,255,255,.32)}
.gh-cv-open-btn{margin-left:0.15rem;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;vertical-align:middle;border:none;border-radius:8px;cursor:pointer;background:rgba(251,191,36,.16);color:#fde68a;font-size:0.72rem;transition:background .15s,color .15s}
.gh-cv-open-btn:hover{background:rgba(251,191,36,.3);color:#fff}

/* Filtros — Todos os Candidatos (admin) */
.gh-cand-filtros-header{flex-direction:column;align-items:stretch !important;gap:1rem}
.gh-cand-filtros-header-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0.75rem}
.gh-cand-total{opacity:0.75;font-weight:600}
.gh-cand-filtros-info{margin:0;font-size:0.88rem;color:rgba(255,255,255,0.45);font-weight:500}
.gh-cand-filtros{display:flex;flex-direction:column;gap:0.9rem}
.gh-cand-filtros-row{width:100%}
.gh-cand-filtro-wide{width:100%;box-sizing:border-box;max-width:100%}
.gh-cand-filtros-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:0.75rem 1rem}
.gh-cand-filtro-lbl{display:block;font-size:0.75rem;font-weight:600;color:rgba(255,255,255,0.45);margin:0 0 0.35rem}
.gh-cand-filtro-lbl i{margin-right:0.35rem;opacity:0.7}
.gh-cand-filtro-select{width:100%;box-sizing:border-box;padding:0.55rem 0.7rem;border-radius:10px;border:1px solid rgba(255,255,255,0.1);background:rgba(0,0,0,0.25);color:#f1f5f9;font-size:0.88rem;font-family:inherit;cursor:pointer}
.gh-cand-filtro-select:focus{outline:none;border-color:rgba(249,115,22,0.4)}
.gh-cand-filtros-actions{display:flex;justify-content:flex-end}
.gh-cand-filtro-clear{display:inline-flex;align-items:center;gap:0.4rem;padding:0.5rem 0.85rem;border-radius:9px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.6);font-size:0.82rem;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}
.gh-cand-filtro-clear:hover{background:rgba(255,255,255,0.1);color:#fff}
.gh-cand-recrutador{min-width:8.5rem;max-width:11rem;white-space:normal;font-size:0.82rem;line-height:1.35}
.gh-cand-recrutador .gh-recrutador-prefix{color:rgba(255,255,255,0.38);font-weight:600;font-size:0.72rem;text-transform:none}
.gh-cand-recrutador .gh-recrutador-value{color:rgba(255,255,255,0.9);font-weight:600}

/* Seletor de ícones Font Awesome (admin) */
#ghIconPickerModal{z-index:10050}
.gh-iconpicker-box{max-width:min(96vw,520px);max-height:min(85vh,640px);display:flex;flex-direction:column;padding:0;overflow:hidden}
.gh-iconpicker-box .gh-modal-header{padding:1.25rem 1.5rem 0.5rem;margin-bottom:0;flex-shrink:0}
.gh-iconpicker-box .gh-iconpicker-search-wrap{padding:0 1.5rem 0.75rem;flex-shrink:0}
.gh-iconpicker-search-wrap input[type="search"]{width:100%;padding:0.65rem 0.9rem 0.65rem 2.4rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);color:#fff;font-size:0.9rem;font-family:inherit;box-sizing:border-box}
.gh-iconpicker-search-wrap{position:relative}
.gh-iconpicker-search-wrap i{position:absolute;left:1.85rem;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.35);font-size:0.85rem;pointer-events:none}
.gh-iconpicker-grid{flex:1;overflow-y:auto;padding:0.5rem 1.25rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:0.5rem;align-content:start}
.gh-iconpicker-item{display:flex;flex-direction:column;align-items:center;gap:0.35rem;padding:0.65rem 0.4rem;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);cursor:pointer;transition:background .15s,border-color .15s;color:#e2e8f0;font-size:0.65rem;word-break:break-all;text-align:center;line-height:1.2}
.gh-iconpicker-item:hover,.gh-iconpicker-item:focus{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.25);outline:none}
.gh-iconpicker-item i{font-size:1.35rem;color:#fdba74;margin-bottom:0.1rem}
.gh-iconpicker-item span{opacity:0.75;max-width:100%}
.gh-icon-field-row{display:flex;gap:0.5rem;align-items:stretch}
.gh-icon-field-row .gh-input-wrap{flex:1;min-width:0}
.gh-btn-icon-pick{flex-shrink:0;align-self:stretch;padding:0 0.9rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fdba74;cursor:pointer;font-size:0.8rem;font-weight:600;white-space:nowrap;transition:all .15s}
.gh-btn-icon-pick:hover{background:rgba(249,115,22,.15);border-color:rgba(249,115,22,.3)}

/* Modal: escolher status (admin candidatos) */
#ghModalCandidatoStatus{z-index:10040}
#ghModalCandidatoEntrevista,#ghModalCandidatoReprova{z-index:10045}
.gh-cand-entrevista-who{margin:0 0 0.9rem;font-size:0.84rem;color:rgba(255,255,255,0.5);line-height:1.45}
.gh-cand-entrevista-who i{margin-right:0.35rem;color:#fdba74;opacity:0.85}
.gh-cand-entrevista-lbl{display:block;font-size:0.8rem;font-weight:600;color:rgba(255,255,255,0.5);margin:0 0 0.4rem}
.gh-cand-entrevista-lbl .gh-req{color:#f87171}
.gh-cand-entrevista-ta{width:100%;min-height:5.5rem;box-sizing:border-box;padding:0.75rem 0.85rem;border-radius:11px;border:1px solid rgba(255,255,255,0.1);background:rgba(0,0,0,0.28);color:#f1f5f9;font-size:0.88rem;font-family:inherit;resize:vertical}
.gh-cand-entrevista-ta:focus{outline:none;border-color:rgba(249,115,22,0.35)}
.gh-cand-submodal-actions{margin-top:1.1rem;display:flex;flex-direction:column;gap:0.5rem}
.gh-cand-status-modal-box{max-width:min(95vw,440px)}
.gh-cand-status-nome{margin:0 0 0.35rem;font-size:0.95rem;font-weight:600;color:#f1f5f9}
.gh-cand-status-hint{margin:0 0 1rem;font-size:0.82rem;color:rgba(255,255,255,0.45);line-height:1.4}
.gh-cand-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}
@media (max-width:400px){.gh-cand-status-grid{grid-template-columns:1fr}}
.gh-cand-status-btn{display:flex;align-items:center;gap:0.5rem;padding:0.7rem 0.85rem;border-radius:11px;border:1px solid rgba(255,255,255,0.1);background:rgba(0,0,0,0.22);color:#e2e8f0;font-size:0.84rem;font-weight:600;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s,border-color .15s,transform .1s}
.gh-cand-status-btn i{width:1.1rem;opacity:0.9}
.gh-cand-status-btn:hover,.gh-cand-status-btn:focus{background:rgba(255,255,255,0.08);border-color:rgba(249,115,22,0.25);outline:none}
.gh-cand-status-btn.st-novo:hover{background:rgba(234,179,8,0.12);border-color:rgba(234,179,8,0.25)}
.gh-cand-status-btn.st-analise:hover{background:rgba(251,191,36,0.1);border-color:rgba(251,191,36,0.3)}
.gh-cand-status-btn.st-entrev:hover{background:rgba(34,197,94,0.1);border-color:rgba(34,197,94,0.25)}
.gh-cand-status-btn.st-aprov:hover{background:rgba(16,185,129,0.12);border-color:rgba(16,185,129,0.35)}
.gh-cand-status-btn.st-repro:hover{background:rgba(239,68,68,0.1);border-color:rgba(239,68,68,0.3)}
.gh-cand-status-btn.st-canc:hover{background:rgba(107,114,128,0.2);border-color:rgba(156,163,175,0.35)}
.gh-cand-status-fechar{display:block;width:100%;margin-top:1rem;padding:0.65rem;border-radius:10px;border:1px solid rgba(255,255,255,0.08);background:transparent;color:rgba(255,255,255,0.45);font-size:0.86rem;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}
.gh-cand-status-fechar:hover{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.7)}

.gh-app-status.reprovado{background:rgba(239,68,68,0.12);color:#f87171}

/* ── status cancelada ─────────────────────────────────── */
.gh-app-status.cancelada { background:rgba(107,114,128,.15); color:#9ca3af; border-color:rgba(107,114,128,.25); }
/* ── botão cancelar candidatura ──────────────────────── */
.gh-cand-cancel-btn { display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:rgba(239,68,68,.1);border:none;color:#f87171;cursor:pointer;font-size:.75rem;flex-shrink:0;transition:all .15s; }
.gh-cand-cancel-btn:hover { background:rgba(239,68,68,.22); }
.gh-cand-cancel-btn:disabled { opacity:.4;cursor:not-allowed; }
/* ── empty state ─────────────────────────────────────── */
.gh-empty-state { display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;color:rgba(255,255,255,.2);text-align:center; }
.gh-empty-state i { font-size:2rem; }
.gh-empty-state p { font-size:.88rem;line-height:1.5; }
/* ── QUIZ PAGE ───────────────────────────────────────── */
.gh-quiz-page { min-height:100vh;background:#0b0f1a;display:flex;align-items:center;justify-content:center;padding:2rem 1rem; }
.gh-quiz-container { width:100%;max-width:680px;background:#111827;border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:2.5rem;box-shadow:0 20px 50px rgba(0,0,0,.5); }
.gh-quiz-header { text-align:center;margin-bottom:2rem; }
.gh-quiz-header h1 { font-size:1.6rem;font-weight:800;color:#fff;margin:.5rem 0 .25rem; }
.gh-quiz-header p { color:rgba(255,255,255,.45);font-size:.9rem; }
.gh-quiz-progress-bar { height:6px;background:rgba(255,255,255,.07);border-radius:50px;margin:.75rem 0 .5rem;overflow:hidden; }
.gh-quiz-progress-fill { height:100%;background:linear-gradient(90deg,#eab308,#facc15);border-radius:50px;transition:width .4s ease; }
.gh-quiz-counter { font-size:.8rem;color:rgba(255,255,255,.35);font-weight:500; }
/* questões */
.gh-question { display:none;animation:fadeIn .25s ease; }
.gh-question.active { display:block; }
@keyframes fadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.gh-q-num { font-size:.75rem;color:rgba(255,255,255,.3);font-weight:600;letter-spacing:.08em;margin-bottom:.5rem; }
.gh-question h3 { font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:1.25rem;line-height:1.5; }
.gh-options { display:flex;flex-direction:column;gap:.65rem; }
.gh-option { display:flex;align-items:center;gap:.8rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.85rem 1rem;cursor:pointer;transition:all .15s; }
.gh-option:hover { background:rgba(234,179,8,.08);border-color:rgba(234,179,8,.2); }
.gh-option input[type=radio] { accent-color:#eab308;width:16px;height:16px;flex-shrink:0; }
.gh-option input[type=radio]:checked ~ span { color:#fff;font-weight:500; }
.gh-option:has(input:checked) { background:rgba(234,179,8,.1);border-color:rgba(234,179,8,.3); }
.gh-option span { font-size:.9rem;color:rgba(255,255,255,.7);line-height:1.4; }
/* nav */
.gh-quiz-nav { display:flex;gap:.75rem;justify-content:space-between;margin-top:1.75rem;flex-wrap:wrap; }
.gh-btn-quiz-nav { display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(255,255,255,.65);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;font-family:inherit; }
.gh-btn-quiz-nav.primary { background:linear-gradient(135deg,#eab308,#ca8a04);border-color:transparent;color:#111827;box-shadow:0 4px 14px rgba(234,179,8,.3); }
.gh-btn-quiz-nav.primary:hover { box-shadow:0 6px 20px rgba(234,179,8,.45); color:#000; }
/* resultado */
.gh-quiz-result { display:none;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding-top:.5rem; }
.gh-result-icon { width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto; }
.gh-result-icon.aprovado { background:rgba(234,179,8,.15);color:#facc15;border:2px solid rgba(234,179,8,.3); }
.gh-result-icon.reprovado { background:rgba(239,68,68,.12);color:#f87171;border:2px solid rgba(239,68,68,.25); }
.gh-quiz-result h2 { font-size:1.35rem;font-weight:800;color:#fff; }
.gh-quiz-result p { color:rgba(255,255,255,.55);font-size:.9rem;max-width:480px;line-height:1.6; }
.gh-gab-grid { display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;width:100%;margin:.5rem 0; }
.gh-gab-item { display:flex;flex-direction:column;align-items:center;gap:.25rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:.6rem .4rem;font-size:.78rem; }
.gh-gab-item.certo { border-color:rgba(234,179,8,.25);color:#facc15; }
.gh-gab-item.errado { border-color:rgba(239,68,68,.2);color:#f87171; }
.gh-gab-item i { font-size:1rem; }
@media(max-width:480px){ .gh-gab-grid{grid-template-columns:repeat(3,1fr)} .gh-quiz-container{padding:1.5rem} }

/* Responsive Logo Fixes */
.gh-logo-img { height: 44px; max-width: 180px; width: auto; object-fit: contain; }
.gh-footer-logo-img { height: 40px; max-width: 150px; width: auto; object-fit: contain; }
.gh-auth-logo-img { height: 60px; max-width: 240px; width: auto; object-fit: contain; margin-bottom: 20px; }
@media (max-width: 768px) {
  .gh-logo-img { height: 32px; max-width: 130px; }
  .gh-footer-logo-img { height: 32px; max-width: 130px; }
  .gh-auth-logo-img { height: 48px; max-width: 180px; margin-bottom: 15px; }
  /* Ensure navbar has space */
  .gh-brand { gap: 0.3rem; }
  .gh-header-actions { gap: 0.5rem; }
  .gh-back-link span { display: none; } /* Hide 'Ativve' text on small mobile to save space */
}


/* ===================================================
   MODAL DE ENTRADA (SPLIT PORTAL)
   =================================================== */
.gh-entry-overlay {
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background: rgba(10, 10, 10, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0; /* JS handles fade-in */
    transition: opacity 0.3s ease;
}

.gh-entry-box {
    background: var(--light-gray);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 24px;
    padding: 3rem;
    max-width: 500px;
    width: 90%;
    text-align: center;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7);
    animation: slideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.gh-entry-logo {
    margin-bottom: 1.5rem;
}

.gh-entry-box h2 {
    color: #f5f5f5;
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 0.5rem;
}

.gh-entry-box p {
    color: #a0a0a0;
    font-size: 0.95rem;
    margin-bottom: 2rem;
    line-height: 1.5;
}

.gh-entry-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.btn-entry {
    background: #1a1a1a;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    padding: 1.2rem;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s ease;
    color: #f5f5f5;
    font-family: inherit;
}

.btn-entry:hover {
    transform: translateY(-3px);
}

.btn-entry .icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex-shrink: 0;
}

.btn-entry.btn-trabalhar:hover {
    border-color: #eab308;
    background: rgba(234, 179, 8, 0.05);
    box-shadow: 0 10px 25px rgba(234, 179, 8, 0.15);
}

.btn-entry.btn-trabalhar .icon {
    background: linear-gradient(135deg, rgba(234, 179, 8, 0.2), rgba(202, 138, 4, 0.2));
    color: #eab308;
}

.btn-entry.btn-contratar:hover {
    border-color: #f97316;
    background: rgba(249, 115, 22, 0.05);
    box-shadow: 0 10px 25px rgba(249, 115, 22, 0.15);
}

.btn-entry.btn-contratar .icon {
    background: linear-gradient(135deg, rgba(249, 115, 22, 0.2), rgba(234, 88, 12, 0.2));
    color: #f97316;
}

.btn-entry.btn-aprender:hover {
    border-color: #a78bfa;
    background: rgba(167, 139, 250, 0.05);
    box-shadow: 0 10px 25px rgba(167, 139, 250, 0.15);
}

.btn-entry.btn-aprender .icon {
    background: linear-gradient(135deg, rgba(167, 139, 250, 0.2), rgba(124, 58, 237, 0.2));
    color: #a78bfa;
}

.btn-entry.btn-residencial:hover,
.btn-entry.btn-cpf:hover {
    border-color: #22c55e;
    background: rgba(34, 197, 94, 0.05);
    box-shadow: 0 10px 25px rgba(34, 197, 94, 0.15);
}

.btn-entry.btn-residencial .icon,
.btn-entry.btn-cpf .icon {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(22, 163, 74, 0.2));
    color: #22c55e;
}

.btn-entry.btn-empresarial:hover,
.btn-entry.btn-cnpj:hover {
    border-color: #3b82f6;
    background: rgba(59, 130, 246, 0.05);
    box-shadow: 0 10px 25px rgba(59, 130, 246, 0.15);
}

.btn-entry.btn-empresarial .icon,
.btn-entry.btn-cnpj .icon {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(29, 78, 216, 0.2));
    color: #3b82f6;
}

/* ===== PÁGINA APRENDER / EVOLUIR ===== */
.aprender-hero {
    background: linear-gradient(135deg, #0f0f1a 0%, #1a0a2e 50%, #0a0a0a 100%);
    padding: 5rem 0 4rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.aprender-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(167, 139, 250, 0.12) 0%, transparent 70%);
    pointer-events: none;
}

.aprender-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(167, 139, 250, 0.12);
    border: 1px solid rgba(167, 139, 250, 0.3);
    color: #a78bfa;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    margin-bottom: 1.5rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.aprender-hero h1 {
    color: #f5f5f5;
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 900;
    line-height: 1.15;
    margin-bottom: 1rem;
}

.aprender-hero h1 span {
    color: #a78bfa;
}

.aprender-hero p {
    color: #a0a0a0;
    font-size: 1.1rem;
    max-width: 560px;
    margin: 0 auto 2.5rem;
    line-height: 1.7;
}

.aprender-hero-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-aprender-primary {
    background: linear-gradient(135deg, #7c3aed, #a78bfa);
    color: #fff;
    border: none;
    padding: 0.85rem 2rem;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    box-shadow: 0 8px 20px rgba(124, 58, 237, 0.3);
}

.btn-aprender-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(124, 58, 237, 0.4);
    color: #fff;
    text-decoration: none;
}

.btn-aprender-secondary {
    background: transparent;
    color: #a78bfa;
    border: 1px solid rgba(167, 139, 250, 0.4);
    padding: 0.85rem 2rem;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
}

.btn-aprender-secondary:hover {
    background: rgba(167, 139, 250, 0.08);
    border-color: #a78bfa;
    transform: translateY(-2px);
    color: #a78bfa;
    text-decoration: none;
}

/* Seções da página aprender */
.aprender-section {
    padding: 5rem 0;
    background: #0f0f0f;
}

.aprender-section.bg-dark-alt {
    background: #0a0a0a;
}

.aprender-section-header {
    text-align: center;
    margin-bottom: 3.5rem;
}

.aprender-section-header .section-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    margin-bottom: 1rem;
}

.aprender-section-header .section-tag.purple {
    background: rgba(167, 139, 250, 0.12);
    border: 1px solid rgba(167, 139, 250, 0.25);
    color: #a78bfa;
}

.aprender-section-header .section-tag.yellow {
    background: rgba(234, 179, 8, 0.12);
    border: 1px solid rgba(234, 179, 8, 0.25);
    color: #eab308;
}

.aprender-section-header .section-tag.blue {
    background: rgba(59, 130, 246, 0.12);
    border: 1px solid rgba(59, 130, 246, 0.25);
    color: #60a5fa;
}

.aprender-section-header h2 {
    color: #f5f5f5;
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    font-weight: 800;
    margin-bottom: 0.75rem;
    line-height: 1.25;
}

.aprender-section-header p {
    color: #a0a0a0;
    font-size: 1rem;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.65;
}

/* Cards de cursos */
.cursos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

.curso-card {
    background: #1a1a1a;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 20px;
    padding: 2rem;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.curso-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #7c3aed, #a78bfa);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.curso-card:hover {
    transform: translateY(-6px);
    border-color: rgba(167, 139, 250, 0.25);
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}

.curso-card:hover::before {
    opacity: 1;
}

.curso-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(167, 139, 250, 0.2), rgba(124, 58, 237, 0.2));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #a78bfa;
    margin-bottom: 1.2rem;
}

.curso-card h3 {
    color: #f5f5f5;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.6rem;
}

.curso-card p {
    color: #a0a0a0;
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 1.2rem;
}

.curso-card-meta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.curso-meta-tag {
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: rgba(167, 139, 250, 0.1);
    color: #a78bfa;
    border: 1px solid rgba(167, 139, 250, 0.2);
}

.curso-meta-tag.online {
    background: rgba(34, 197, 94, 0.1);
    color: #4ade80;
    border-color: rgba(34, 197, 94, 0.2);
}

/* Cards de packs digitais */
.packs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
}

.pack-card {
    background: #1a1a1a;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.pack-card:hover {
    transform: translateY(-6px);
    border-color: rgba(234, 179, 8, 0.25);
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}

.pack-card-cover {
    height: 140px;
    background: linear-gradient(135deg, #1f1a00, #2d2200);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    position: relative;
    overflow: hidden;
}

.pack-card-cover::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(234,179,8,0.08), transparent);
}

.pack-card-body {
    padding: 1.5rem;
}

.pack-card-body h3 {
    color: #f5f5f5;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.pack-card-body p {
    color: #a0a0a0;
    font-size: 0.875rem;
    line-height: 1.55;
    margin-bottom: 1rem;
}

.pack-card-count {
    font-size: 0.8rem;
    font-weight: 600;
    color: #eab308;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 1.2rem;
}

.pack-card-price {
    display: flex;
    align-items: flex-end;
    gap: 0.4rem;
    margin-bottom: 1.2rem;
}

.pack-price-value {
    font-size: 1.6rem;
    font-weight: 900;
    color: #eab308;
    line-height: 1;
}

.pack-price-label {
    font-size: 0.8rem;
    color: #a0a0a0;
    margin-bottom: 0.2rem;
}

.btn-pack {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.7rem;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    background: rgba(234, 179, 8, 0.12);
    border: 1px solid rgba(234, 179, 8, 0.3);
    color: #eab308;
    transition: all 0.3s ease;
}

.btn-pack:hover {
    background: rgba(234, 179, 8, 0.2);
    color: #eab308;
    text-decoration: none;
}

/* Painel do aluno CTA */
.aprender-painel {
    background: linear-gradient(135deg, #0d0720 0%, #150b2e 50%, #0a0a14 100%);
    padding: 5rem 0;
    position: relative;
    overflow: hidden;
}

.aprender-painel::before {
    content: '';
    position: absolute;
    bottom: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(167, 139, 250, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

.aprender-painel-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

@media (max-width: 768px) {
    .aprender-painel-inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .cursos-grid { grid-template-columns: 1fr; }
    .packs-grid { grid-template-columns: 1fr; }
    .aprender-hero-actions { flex-direction: column; align-items: center; }
}

.aprender-painel-text h2 {
    color: #f5f5f5;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 1rem;
}

.aprender-painel-text h2 span {
    color: #a78bfa;
}

.aprender-painel-text p {
    color: #a0a0a0;
    font-size: 0.98rem;
    line-height: 1.7;
    margin-bottom: 1.8rem;
}

.aprender-painel-features {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.aprender-painel-features li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #d1d5db;
    font-size: 0.92rem;
}

.aprender-painel-features li i {
    color: #a78bfa;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.aprender-painel-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.aprender-painel-card {
    background: #1a1a2e;
    border: 1px solid rgba(167, 139, 250, 0.15);
    border-radius: 20px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.painel-auth-card {
    background: #111;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 14px;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

.painel-auth-card:hover {
    border-color: rgba(167, 139, 250, 0.3);
}

.painel-auth-card h4 {
    color: #f5f5f5;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.4rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.painel-auth-card p {
    color: #a0a0a0;
    font-size: 0.85rem;
    margin-bottom: 1rem;
    line-height: 1.5;
}

.btn-full-purple {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.75rem;
    border-radius: 10px;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    background: linear-gradient(135deg, #7c3aed, #a78bfa);
    color: #fff;
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 4px 15px rgba(124, 58, 237, 0.25);
}

.btn-full-purple:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(124, 58, 237, 0.35);
    color: #fff;
    text-decoration: none;
}

.btn-full-outline-purple {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.75rem;
    border-radius: 10px;
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
    background: transparent;
    color: #a78bfa;
    border: 1px solid rgba(167, 139, 250, 0.35);
    transition: all 0.3s ease;
}

.btn-full-outline-purple:hover {
    background: rgba(167, 139, 250, 0.08);
    color: #a78bfa;
    text-decoration: none;
}

.btn-entry .text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.btn-entry .text strong {
    font-size: 1.1rem;
    font-weight: 700;
}

.btn-entry .text span {
    font-size: 0.85rem;
    color: #a0a0a0;
}

@keyframes slideUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

@media(max-width: 480px) {
    .gh-entry-box { padding: 2rem 1.5rem; }
    .btn-entry { padding: 1rem; gap: 1rem; }
    .btn-entry .icon { width: 40px; height: 40px; font-size: 1.1rem; }
}

/* Fix Hero Empresas */
.gh-empresas-hero {
    background: linear-gradient(135deg, #09090b 0%, #171717 100%);
    position: relative;
    padding: 120px 0 80px;
    overflow: hidden;
}

.gh-empresas-hero h1 { font-size: 3rem; font-weight: 900; line-height: 1.1; margin-bottom: 1rem; color: #f5f5f5; }
.gh-empresas-hero p { font-size: 1.1rem; color: #a0a0a0; max-width: 600px; margin: 0 auto 2rem; }



.grupo-henry-hero h1, .grupo-henry-hero p, .grupo-henry-hero .grupo-henry-badge { text-shadow: 0 4px 15px rgba(0, 0, 0, 0.8), 0 2px 4px rgba(0,0,0,1); }



/* Ajuste Mobile para Imagem da Equipe (Evitar corte lateral) */
@media (max-width: 768px) {
    .grupo-henry-hero {
        background-color: #0f1014 !important;
        background-image: linear-gradient(135deg, rgba(10,10,10,0.7) 0%, rgba(10,10,10,0.5) 50%, rgba(161,98,7,0.6) 100%), url('../../imagem/equipe.png') !important;
        background-position: center top !important;
        background-size: auto, 100% auto !important;
        background-repeat: no-repeat !important;
        padding-top: 50px;
    }
}

/* Correcao Alinhamento dos Stats no Mobile */
@media (max-width: 768px) {
    .grupo-henry-stats {
        flex-direction: column !important;
        width: 100% !important;
        gap: 1.5rem !important;
        padding: 1.8rem !important;
    }
    .stat-divider {
        width: 100% !important;
        height: 1px !important;
        background: rgba(255,255,255,0.1) !important;
        margin: 0 !important;
    }
}

/* ── Minhas Candidaturas: layout organizado no mobile ── */
@media screen and (max-width: 600px) {
    .gh-app-item {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 0.65rem;
    }
    /* ícone + info ficam na linha de cima */
    .gh-app-icon {
        flex-shrink: 0;
    }
    .gh-app-info {
        flex: 1 1 0;
        min-width: 0;
    }
    .gh-app-info strong {
        white-space: normal;
        word-break: break-word;
    }
    .gh-app-info span {
        white-space: normal;
        word-break: break-word;
    }
    /* ações descem para a linha abaixo, ocupando toda a largura */
    .gh-app-item__actions {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 0.45rem;
        padding-top: 0.25rem;
        border-top: 1px solid rgba(255,255,255,0.05);
    }
    /* badge de status fica à esquerda */
    .gh-app-status {
        order: -1;
    }
    /* botões de contato/info/cancelar ficam na mesma linha das ações */
    .gh-btn-entrevista-info,
    .gh-btn-contato-recrutador,
    .gh-cand-cancel-btn {
        flex-shrink: 0;
    }
}

/* ── Stats do Dashboard: 1 coluna no mobile (sem scroll lateral) ── */
@media screen and (max-width: 1150px) {
    .gh-stats-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }
}
@media screen and (max-width: 900px) {
    .gh-stats-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }
    .gh-stat-card {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}
@media screen and (max-width: 600px) {
    .gh-stats-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }
    .gh-stat-card {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

/* -- Admin: grade de cards de candidatos --------------------- */
.gh-cand-card {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 1.1rem 1.1rem .9rem;
    transition: border-color .2s, box-shadow .2s;
    display: flex;
    flex-direction: column;
}
.gh-cand-card:hover {
    border-color: rgba(99,102,241,.3);
    box-shadow: 0 2px 18px rgba(99,102,241,.08);
}
#ghCandGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 1rem;
    padding: .25rem 0;
}
@media (max-width: 640px) {
    #ghCandGrid { grid-template-columns: 1fr; }
}

/* -- Admin: grade de cards de tarefas ------------------------ */
.gh-tarefa-card {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 1.05rem 1.05rem .85rem;
    transition: border-color .2s, box-shadow .2s;
    display: flex;
    flex-direction: column;
}
.gh-tarefa-card:hover {
    border-color: rgba(99,102,241,.28);
    box-shadow: 0 2px 16px rgba(99,102,241,.07);
}
#ghTarefasGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 1rem;
    padding: .25rem 0;
}
@media (max-width: 640px) {
    #ghTarefasGrid { grid-template-columns: 1fr; }
}

/* -- Modal concluir tarefas em lote ---------------------- */
.gh-ct-item {
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 11px;
    padding: .75rem .85rem;
    transition: opacity .2s;
}
.gh-ct-item:hover { border-color: rgba(134,239,172,.18); }

/* -- Dashboard: widget de level/EXP ------------------------- */
.gh-dash-header-left {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-width: 0;
}

.gh-level-widgets-header {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: flex-start;
    justify-content: flex-end;
    max-width: min(100%, 360px);
}

.gh-level-widget {
    display: flex;
    align-items: center;
    gap: .6rem;
    background: linear-gradient(135deg, rgba(250,204,21,.10) 0%, rgba(245,158,11,.06) 100%);
    border: 1px solid rgba(250,204,21,.22);
    border-radius: 12px;
    padding: .4rem .8rem .4rem .5rem;
    cursor: default;
    transition: box-shadow .2s, border-color .2s;
    flex-shrink: 0;
    max-width: 360px;
}
.gh-level-widget:hover {
    border-color: rgba(250,204,21,.38);
    box-shadow: 0 0 12px rgba(250,204,21,.1);
}

/* -- Widget único com várias vagas (multi) ------------------ */
.gh-level-widget--multi {
    align-items: stretch;
    gap: .55rem;
}
.gh-level-widget--multi .gh-level-badge {
    align-self: center;
}
.gh-level-multi-list {
    display: flex;
    flex-direction: column;
    gap: .22rem;
    min-width: 0;
    flex: 1;
}
.gh-level-multi-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(46px, 70px) auto;
    align-items: center;
    gap: .4rem;
    font-size: .65rem;
    line-height: 1.1;
    color: rgba(255,255,255,.78);
}
.gh-level-multi-vaga {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    color: #facc15;
    font-size: .66rem;
    max-width: 110px;
}
.gh-level-multi-lv {
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .03em;
    color: #fbbf24;
    background: rgba(250,204,21,.12);
    border: 1px solid rgba(250,204,21,.22);
    padding: .08rem .32rem;
    border-radius: 999px;
    white-space: nowrap;
}
.gh-level-multi-bar {
    height: 4px;
    background: rgba(255,255,255,.07);
    border-radius: 999px;
    overflow: hidden;
}
.gh-level-multi-bar > .fill {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #facc15, #f97316);
    border-radius: 999px;
    transition: width .7s cubic-bezier(.4,0,.2,1);
    min-width: 3px;
    box-shadow: 0 0 5px rgba(250,204,21,.4);
}
.gh-level-multi-exp {
    font-size: .6rem;
    font-weight: 700;
    color: rgba(255,255,255,.55);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.gh-level-multi-comissoes {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
    margin-top: .15rem;
    padding-top: .25rem;
    border-top: 1px dashed rgba(255,255,255,.08);
}
.gh-level-multi-empty {
    font-size: .65rem;
    color: rgba(255,255,255,.35);
    padding: .15rem 0;
}
.gh-level-widget--empty { opacity: .55; }

.gh-level-badge {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(250,204,21,.18), rgba(245,158,11,.1));
    border: 1px solid rgba(250,204,21,.25);
    border-radius: 50%;
}
.gh-level-icon { font-size: .9rem; line-height: 1; }
.gh-level-num  { font-size: .58rem; font-weight: 800; color: #facc15; letter-spacing: .04em; }

.gh-level-bar-wrap {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 90px;
}
.gh-level-bar-label {
    display: flex;
    justify-content: space-between;
    font-size: .65rem;
    color: rgba(250,204,21,.5);
    font-weight: 500;
}
.gh-level-bar-label strong { color: #fbbf24; font-weight: 700; }
.gh-level-bar-track {
    height: 5px;
    background: rgba(255,255,255,.07);
    border-radius: 999px;
    overflow: hidden;
}
.gh-level-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #facc15, #f97316);
    border-radius: 999px;
    transition: width .7s cubic-bezier(.4,0,.2,1);
    min-width: 3px;
    box-shadow: 0 0 5px rgba(250,204,21,.4);
}
.gh-level-bar-hint {
    font-size: .6rem;
    color: rgba(255,255,255,.22);
    text-align: right;
}
.gh-level-comissao-pill {
    display: inline-flex;
    align-items: center;
    gap: .15rem;
    padding: .05rem .3rem;
    background: rgba(16,185,129,.14);
    border: 1px solid rgba(16,185,129,.22);
    border-radius: 20px;
    color: #6ee7b7;
    font-size: .55rem;
    font-weight: 700;
    white-space: nowrap;
    margin-left: .2rem;
    vertical-align: middle;
}
.gh-level-comissao-pills {
    display: inline;
}

/* Mobile: esconde a lista de vagas, mostra só o círculo */
@media (max-width: 768px) {
    .gh-level-widget {
        padding: .3rem;
        gap: 0;
        border-radius: 50%;
        background: linear-gradient(135deg, rgba(250,204,21,.13), rgba(245,158,11,.07));
        max-width: none;
    }
    .gh-level-bar-wrap,
    .gh-level-multi-list { display: none; }
    .gh-level-badge {
        width: 34px;
        height: 34px;
        border: none;
        background: none;
    }
    .gh-level-icon { font-size: .85rem; }
    .gh-level-num  { font-size: .56rem; }
    .gh-level-widget--multi { align-items: center; }
}

/* -- Level widget: popover mobile --------------------------- */
.gh-level-widget { position: relative; }

.gh-level-popover {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 230px;
    max-width: calc(100vw - 24px);
    background: #1e2433;
    border: 1px solid rgba(250,204,21,.25);
    border-radius: 12px;
    padding: .75rem .85rem;
    box-shadow: 0 8px 24px rgba(0,0,0,.45);
    z-index: 9999;
    animation: ghLevelPop .15s ease;
}
.gh-level-popover::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 12px;
    width: 10px;
    height: 10px;
    background: #1e2433;
    border-left: 1px solid rgba(250,204,21,.25);
    border-top: 1px solid rgba(250,204,21,.25);
    transform: rotate(45deg);
}
.gh-level-popover-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    font-size: .76rem;
    color: #facc15;
    font-weight: 700;
}
.gh-level-popover-row strong { color: #fbbf24; }
.gh-level-popover.open { display: block; }
.gh-level-popover-title {
    font-size: .68rem;
    color: rgba(255,255,255,.45);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .4rem;
    text-align: center;
}
.gh-level-popover-vaga + .gh-level-popover-vaga { margin-top: .55rem; padding-top: .4rem; border-top: 1px dashed rgba(255,255,255,.08); }
.gh-level-popover-vname {
    color: rgba(255,255,255,.7);
    font-size: .7rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 110px;
    flex: 1;
    min-width: 0;
}
.gh-level-popover-hint {
    font-size: .62rem;
    color: rgba(255,255,255,.35);
    text-align: right;
}
.gh-level-popover-comissoes {
    margin-top: .55rem;
    padding-top: .45rem;
    border-top: 1px solid rgba(255,255,255,.08);
}
.gh-level-popover-comissoes-title {
    font-size: .6rem;
    color: rgba(255,255,255,.4);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: .35rem;
}

@keyframes ghLevelPop {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0);    }
}

/* No desktop o popover nunca aparece (usa barra inline) */
@media (min-width: 769px) {
    .gh-level-popover { display: none !important; }
}

/* Botões de acesso rápido no hero */
.gh-hero-auth-btns {
    display: flex;
    gap: .85rem;
    margin-top: 2rem;
    flex-wrap: wrap;
    justify-content: center;
}
.gh-hero-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .97rem;
    font-weight: 700;
    padding: .8rem 1.8rem;
    border-radius: 12px;
    text-decoration: none;
    transition: transform .2s, box-shadow .2s, opacity .2s;
    letter-spacing: .01em;
}
.gh-hero-btn-primary {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #000;
    box-shadow: 0 4px 20px rgba(245,158,11,.4);
}
.gh-hero-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 28px rgba(245,158,11,.55); color: #000; }
.gh-hero-btn-secondary {
    background: rgba(255,255,255,.1);
    color: #f1f5f9;
    border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(6px);
}
.gh-hero-btn-secondary:hover { transform: translateY(-2px); background: rgba(255,255,255,.18); color: #fff; }

@media (max-width: 480px) {
    .gh-hero-auth-btns { flex-direction: column; align-items: center; }
    .gh-hero-btn { width: 100%; max-width: 300px; justify-content: center; }
}

/* ── Botões de instalação PWA ────────────────────── */
.gh-hero-install-wrap {
    display: block;
    margin-top: 1.5rem;
    text-align: center;
}
.gh-hero-install-label {
    font-size: .78rem;
    color: rgba(255,255,255,.4);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 .7rem;
}
.gh-hero-install-btns {
    display: flex;
    gap: .6rem;
    justify-content: center;
    flex-wrap: wrap;
}
.gh-install-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.15);
    color: #e2e8f0;
    font-size: .84rem;
    font-weight: 600;
    padding: .55rem 1.1rem;
    border-radius: 10px;
    cursor: pointer;
    font-family: inherit;
    transition: background .2s, border-color .2s, transform .2s;
}
.gh-install-btn:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.3);
    transform: translateY(-2px);
}
.gh-install-windows { border-color: rgba(0,120,212,.4); color: #7dd3fc; }
.gh-install-windows:hover { background: rgba(0,120,212,.12); border-color: rgba(0,120,212,.6); }
.gh-install-android { border-color: rgba(52,211,153,.4); color: #6ee7b7; }
.gh-install-android:hover { background: rgba(52,211,153,.1); border-color: rgba(52,211,153,.6); }
.gh-install-ios { border-color: rgba(167,139,250,.4); color: #c4b5fd; }
.gh-install-ios:hover { background: rgba(167,139,250,.1); border-color: rgba(167,139,250,.6); }
.gh-ios-tip {
    margin-top: .85rem;
    background: rgba(167,139,250,.1);
    border: 1px solid rgba(167,139,250,.25);
    border-radius: 10px;
    padding: .65rem 1rem;
    font-size: .83rem;
    color: #c4b5fd;
    line-height: 1.5;
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 480px) {
    .gh-hero-install-btns { flex-direction: column; align-items: center; }
    .gh-install-btn { width: 100%; max-width: 260px; justify-content: center; }
}

/* ════════════════════════════════════════════════════════════════
   GAMIFICAÇÃO PÚBLICA — seção na página grupo-henry
   ════════════════════════════════════════════════════════════════ */
.gh-gami-public-section {
    padding: 5rem 0 4rem;
    background: linear-gradient(180deg, #0f0f1a 0%, #0d1117 50%, #0f0f1a 100%);
    position: relative;
    overflow: hidden;
}
.gh-gami-public-section::before {
    content: '';
    position: absolute;
    top: -120px; left: 50%; transform: translateX(-50%);
    width: 700px; height: 700px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(250,204,21,.06) 0%, transparent 70%);
    pointer-events: none;
}

/* Banner de CTA */
.gh-gami-cta-banner {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    background: linear-gradient(135deg, rgba(250,204,21,.1) 0%, rgba(99,102,241,.1) 100%);
    border: 1px solid rgba(250,204,21,.2);
    border-radius: 20px;
    padding: 2.2rem 2.5rem;
    margin-bottom: 3.5rem;
}
.gh-gami-cta-icon {
    font-size: 3rem;
    color: #fcd34d;
    flex-shrink: 0;
    line-height: 1;
    text-shadow: 0 0 30px rgba(250,204,21,.5);
    animation: ghGamiPulse 2.5s ease-in-out infinite;
}
@keyframes ghGamiPulse {
    0%, 100% { transform: scale(1); filter: brightness(1); }
    50%       { transform: scale(1.12); filter: brightness(1.3); }
}
.gh-gami-cta-text h2 {
    margin: 0 0 .6rem;
    font-size: 1.35rem;
    font-weight: 800;
    color: #f1f5f9;
    line-height: 1.3;
}
.gh-gami-cta-text p {
    margin: 0 0 1.2rem;
    font-size: .97rem;
    color: rgba(241,245,249,.7);
    line-height: 1.6;
}
.gh-gami-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #000;
    font-weight: 700;
    font-size: .92rem;
    padding: .7rem 1.5rem;
    border-radius: 10px;
    text-decoration: none;
    transition: transform .2s, box-shadow .2s;
    box-shadow: 0 4px 18px rgba(245,158,11,.3);
}
.gh-gami-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(245,158,11,.45); color: #000; }

/* Blocos internos */
.gh-gami-block { margin-bottom: 3rem; }

/* Cards de premiação */
.gh-gami-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    gap: 1.1rem;
}
.gh-gami-pub-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    padding: 1.2rem 1.3rem;
    transition: transform .2s, border-color .2s;
}
.gh-gami-pub-card:hover { transform: translateY(-3px); border-color: rgba(250,204,21,.3); }
.gh-gami-pub-card-icon {
    font-size: 1.7rem;
    color: #fcd34d;
    flex-shrink: 0;
    margin-top: .1rem;
}
.gh-gami-pub-card-body h4 {
    margin: 0 0 .35rem;
    font-size: .97rem;
    font-weight: 700;
    color: #f1f5f9;
}
.gh-gami-pub-desc {
    font-size: .83rem;
    color: rgba(241,245,249,.6);
    margin: 0 0 .75rem;
    line-height: 1.5;
}
.gh-gami-pub-meta { display: flex; flex-wrap: wrap; gap: .4rem; }
.gh-gami-pub-badge {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .75rem;
    font-weight: 600;
    padding: .18rem .55rem;
    border-radius: 20px;
}
.gh-gami-pub-badge.nivel  { background: rgba(99,102,241,.2); color: #a5b4fc; }
.gh-gami-pub-badge.money  { background: rgba(16,185,129,.18); color: #6ee7b7; }
.gh-gami-pub-badge.gift   { background: rgba(251,146,60,.15); color: #fdba74; }
.gh-gami-pub-badge.prazo  { background: rgba(251,191,36,.12); color: #fcd34d; }

/* Ranking */
.gh-gami-ranking-list {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    max-width: 620px;
}
.gh-gami-rank-row {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .7rem 1rem;
    border-radius: 10px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.06);
    transition: background .2s;
}
.gh-gami-rank-row.gh-top3 {
    background: rgba(250,204,21,.05);
    border-color: rgba(250,204,21,.15);
}
.gh-gami-rank-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: rgba(99,102,241,.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
    font-weight: 700;
    color: #a5b4fc;
    border: 2px solid rgba(99,102,241,.3);
}
.gh-gami-rank-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gh-gami-rank-row.gh-top3 .gh-gami-rank-avatar {
    border-color: rgba(250,204,21,.4);
}
.gh-gami-rank-info { flex: 1; min-width: 0; }
.gh-gami-rank-nome { font-size: .9rem; font-weight: 600; color: #e2e8f0; display: block; margin-bottom: .25rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gh-gami-rank-bar-wrap { height: 4px; border-radius: 4px; background: rgba(255,255,255,.08); overflow: hidden; }
.gh-gami-rank-bar { height: 100%; border-radius: 4px; background: linear-gradient(90deg, #6366f1, #a78bfa); }
.gh-gami-rank-nivel { font-size: .78rem; font-weight: 700; padding: .15rem .5rem; border-radius: 20px; background: rgba(99,102,241,.2); color: #a5b4fc; white-space: nowrap; }
.gh-gami-rank-tar { font-size: .82rem; opacity: .6; white-space: nowrap; }
.gh-gami-rank-tar small { font-size: .72rem; }

@media (max-width: 600px) {
    .gh-gami-cta-banner { flex-direction: column; gap: 1rem; padding: 1.5rem; }
    .gh-gami-cta-icon   { font-size: 2.2rem; }
    .gh-gami-cta-text h2 { font-size: 1.1rem; }
    .gh-gami-cards-grid  { grid-template-columns: 1fr; }
}

