/*
Theme Name: Portal Base
Theme URI: https://portalseguranca.com
Author: Google Antigravity
Author URI: https://google.com
Description: Tema base focado em performance (LiteSpeed) e totalmente integrado com o Elementor Pro.
Version: 1.0.0
Text Domain: portal-base
*/

/* 
 * CSS Variables mapped from portal.html Tailwind config
 * These can be easily used inside Elementor Custom CSS or by the Theme Builder
 */
:root {
    /* Brand Colors */
    --brand-red: #C8102E;
    --brand-navy: #0B0F1A;
    --brand-red-tint: #FFF0F2;
    --brand-gold: #E8B84B;
    --brand-body: #3D4A5C;
    --brand-gray: #F4F6F9;

    /* Typography */
    --font-headline: 'Plus Jakarta Sans', sans-serif;
    --font-body: 'Inter', sans-serif;
    
    /* Border Radius */
    --radius-pill: 999px;
    --radius-card: 20px;

    /* Shadows */
    --shadow-card: 0 4px 24px rgba(0,0,0,0.08);
    --shadow-card-h: 0 8px 40px rgba(0,0,0,0.14);
    --shadow-nav: 0 2px 20px rgba(0,0,0,0.08);
}

/* Global resets for Elementor blank canvas */
html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    color: var(--brand-body);
    background: #fff;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, .font-headline {
    font-family: var(--font-headline);
}

/* Base utility classes from portal.html that Elementor might need globally */
.blob {
    position: absolute;
    filter: blur(50px);
    pointer-events: none;
    border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
}
.blob-red { background: rgba(200,16,46,0.09); }
.blob-navy { background: rgba(11,15,26,0.07); }

.pulse {
    animation: pulse 2s infinite;
}
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .5; }
}

.card-hover {
    transition: transform .25s, box-shadow .25s;
}
.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card-h);
}

/* Basic CTA buttons (can be applied via Elementor custom classes) */
.btn-red {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--brand-red);
    color: #fff;
    font-weight: 700;
    border-radius: var(--radius-pill);
    padding: 14px 28px;
    font-size: 14px;
    text-decoration: none;
    transition: all .2s;
    border: 2px solid var(--brand-red);
}
.btn-red:hover {
    background: #a80d25;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(200,16,46,.35);
    color: #fff;
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    color: var(--brand-navy);
    font-weight: 700;
    border-radius: var(--radius-pill);
    padding: 14px 28px;
    font-size: 14px;
    text-decoration: none;
    transition: all .2s;
    border: 2px solid var(--brand-navy);
}
.btn-outline:hover {
    background: var(--brand-navy);
    color: #fff;
    transform: translateY(-2px);
}

.btn-white {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: var(--brand-navy);
    font-weight: 700;
    border-radius: var(--radius-pill);
    padding: 14px 28px;
    font-size: 14px;
    text-decoration: none;
    transition: all .2s;
}
.btn-white:hover {
    background: var(--brand-gray);
    transform: translateY(-2px);
}
