/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Version: 3.6.1
Template: generatepress
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: generatepress
Tags: two-columns, three-columns, one-column, right-sidebar, left-sidebar, footer-widgets, blog, e-commerce, flexible-header, full-width-template, buddypress, custom-header, custom-background, custom-menu, custom-colors, sticky-post, threaded-comments, translation-ready, rtl-language-support, featured-images, theme-options

GeneratePress, Copyright 2014-2025 EDGE22 Studios LTD.
GeneratePress is distributed under the terms of the GNU GPL

GeneratePress is based on Underscores http://underscores.me/, (C) 2012-2025 Automattic, Inc.

Actual CSS can be found in /assets/css/ folder.
*/


/* =====================================================
   HEADER BASE (equivalente ao Tailwind header)
===================================================== */

html {
  scroll-behavior: smooth;
}

/* RESET */
.main-menu,
.main-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Nível 0 */
.main-menu {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.main-menu>li {
    position: relative;
}

/* Links */
.main-menu a {
    display: flex;
    align-items: center;
    gap: .25rem;
    font-size: 14px;
    font-weight: 500;
    color: white;
    text-decoration: none;
    transition: color .2s ease;
}

.main-menu .depth-1 a {
    color: #334155;
}

.main-menu a:hover {
    color: #14b8a6;
}

/* ===== NÍVEL 1 ===== */
.main-menu>li>.sub-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 260px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all .25s ease;
    z-index: 50;
}

.main-menu>li:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* ===== NÍVEL 2 ===== */
.sub-menu>li {
    position: relative;
}

.sub-menu>li>.sub-menu {
    position: absolute;
    top: 0;
    left: calc(100% + 4px);
    min-width: 260px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1);
    opacity: 0;
    visibility: hidden;
    transform: translateX(8px);
    transition: all .25s ease;
}

.sub-menu>li:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Item do submenu */
.sub-menu a {
    padding: 12px 20px;
    display: block;
    white-space: nowrap;
}

/* Mobile Menu */
.mobile-menu-overlay {
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        transform: translateY(-20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.menu-toggle:focus {
    outline: 2px solid #0d9488;
    outline-offset: 2px;
}

/* Responsivo */
@media (max-width: 1024px) {
    .menu-desktop {
        display: none !important;
    }

    .menu-toggle {
        display: block !important;
    }
}

@media (min-width: 1025px) {
    .menu-toggle {
        display: none !important;
    }
}

/* Header Readdy Style */
header.fixed {
    position: fixed !important;
}

.dropdown-menu {
    pointer-events: none;
}

.group:hover .dropdown-menu {
    pointer-events: auto;
}

/* Animação da seta */
.group:hover .ri-arrow-down-s-line {
    transform: rotate(180deg);
}

/* Mobile Menu Toggle */
.menu-toggle {
    background: none;
    border: none;
}

/* Responsivo */
@media (max-width: 1023px) {
    .hidden {
        display: none;
    }
}

.menu-item-has-children {
    position: relative;
}

.menu-item-has-children>.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all .3s ease;
}

.menu-item-has-children:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Terceiro nível */
.sub-menu .menu-item-has-children>.sub-menu {
    left: -100%;
    top: 0;
}

/* =====================================================
   INNER CONTAINER
===================================================== */

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* =====================================================
   LOGO
===================================================== */

.site-header__logo,
.site-header__logo a {
    display: flex;
    align-items: center;
}

.site-header__logo img {
    height: 40px;
    width: auto;
}

/* =====================================================
   DROPDOWN
===================================================== */

.sub-menu {
    min-width: 280px;
}

.sub-menu .menu-item-has-children {
    position: relative;
}

.sub-menu .menu-item-has-children>.sub-menu {
    position: absolute;
    top: 0;
    left: 100%;
    margin-left: 8px;
}

.site-header,
.site-header__nav {
    overflow: visible;
}

/* Configurações Gerais */
:root {
    /* Slate */
    --slate-950: #020617;
    --slate-900: #0f172a;
    --slate-600: #475569;
    --slate-200: #e2e8f0;

    /* Emerald / Teal / Cyan */
    --emerald-100: #d1fae5;
    --emerald-400: #34d399;
    --emerald-500: #10b981;
    --emerald-600: #059669;

    --teal-400: #2dd4bf;
    --teal-500: #14b8a6;

    --cyan-400: #22d3ee;

    --white: #ffffff;
}


.hero-section {
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: linear-gradient(to bottom right, var(--slate-950), var(--slate-900), var(--slate-950));
    font-family: sans-serif;
}

/* Camadas de Background */
.hero-bg-image {
    position: absolute;
    inset: 0;
}

.hero-bg-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.4;
}

.hero-overlay-dark {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(2, 6, 23, 0.8), rgba(15, 23, 42, 0.7), rgba(2, 6, 23, 0.9));
}

.hero-overlay-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(6, 78, 59, 0.3), transparent, rgba(19, 78, 74, 0.3));
}

.hero-grid-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.1;
}

/* Círculos com Blur */
.blur-circle {
    position: absolute;
    border-radius: 9999px;
    filter: blur(64px);
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.circle-1 {
    top: 25%;
    left: 25%;
    width: 600px;
    height: 600px;
    background: linear-gradient(to bottom right, rgba(16, 185, 129, 0.2), transparent);
}

.circle-2 {
    bottom: 25%;
    right: 25%;
    width: 500px;
    height: 500px;
    background: linear-gradient(to top left, rgba(20, 184, 166, 0.2), transparent);
    animation-delay: 1s;
}

/* Layout de Conteúdo */
.hero-container {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
    padding: 6rem 1.5rem;
}

.hero-grid-layout {
    display: grid;
    gap: 4rem;
}

@media (min-width: 1024px) {
    .hero-grid-layout {
        grid-template-columns: 1fr 1fr;
    }
}

/* Tipografia e Elementos de Texto */
.badge-container {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1.25rem;
    background: rgba(16, 185, 129, 0.1);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 9999px;
    margin-bottom: 2rem;
}

.dot-pulse {
    width: 0.5rem;
    height: 0.5rem;
    background-color: var(--emerald-400);
    border-radius: 50%;
    animation: pulse 2s infinite;
}

.badge-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--emerald-400);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.main-title {
    font-size: 3rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 1.5rem;
    line-height: 1.1;
}

@media (min-width: 1024px) {
    .main-title {
        font-size: 4.5rem;
    }
}

.gradient-text {
    background: linear-gradient(to right, var(--emerald-400), var(--teal-400), var(--cyan-400));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.main-description {
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.625;
    font-weight: 300;
    max-width: 600px;
}

/* Tags e Badges */
.tech-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 2rem;
}

.tag {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.5rem;
}

.tag span {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
}

/* Botões */
.cta-group {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1rem;
}

@media (min-width: 640px) {
    .cta-group {
        flex-direction: row;
    }
}

/* Base */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 2rem;
    font-weight: 600;
    border-radius: 0.75rem;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.3s;
}

/* Variantes */
.btn--primary {
    background: linear-gradient(to right, var(--emerald-500), var(--teal-500));
    color: var(--white);
}

.btn--primary:hover {
    box-shadow: 0 25px 50px -12px rgba(16, 185, 129, 0.5);
    transform: scale(1.05);
}

.btn--secondary {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--white);
}

.btn--outline {
    background: #ffffff;
    border: 2px solid var(--slate-900);
    color: var(--slate-900);
}


.btn-primary,
.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 2rem;
    font-weight: 600;
    border-radius: 0.75rem;
    transition: all 0.3s;
    text-decoration: none;
    white-space: nowrap;
}

.btn-primary {
    background: linear-gradient(to right, var(--emerald-500), var(--teal-500));
    color: var(--white);
}

.btn-primary:hover {
    box-shadow: 0 25px 50px -12px rgba(16, 185, 129, 0.5);
    transform: scale(1.05);
    color: var(--white);
}

.btn-secondary {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--white);
}

.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.2);
    color: var(--white);
}

.stat-card--emerald .stat-icon-box {
    background: rgba(16, 185, 129, 0.2);
}

.stat-card--teal .stat-icon-box {
    background: rgba(20, 184, 166, 0.2);
}

.stat-card--cyan .stat-icon-box {
    background: rgba(34, 211, 238, 0.2);
}


/* Clientes / Marcas */
.trust-section {
    margin-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 2rem;
}

.trust-title {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.brands-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.brands-list span {
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: color 0.3s;
}

.brands-list span:hover {
    color: var(--emerald-400);
}

/* Grid de Estatísticas (Cards) */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.stat-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(12px);
    border-radius: 1rem;
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
}

.stat-icon-box {
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    margin-bottom: 1rem;
}

.bg-emerald {
    background: rgba(16, 185, 129, 0.2);
}

.bg-teal {
    background: rgba(20, 184, 166, 0.2);
}

.bg-cyan {
    background: rgba(34, 211, 238, 0.2);
}

.stat-value {
    font-size: 2.25rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.text-gradient {
    background: linear-gradient(to right,
            var(--emerald-400),
            var(--teal-400),
            var(--cyan-400));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.text-emerald {
    background-image: linear-gradient(to right, var(--emerald-400), var(--teal-400));
}

.text-teal {
    background-image: linear-gradient(to right, var(--teal-400), var(--cyan-400));
}

.text-cyan {
    background-image: linear-gradient(to right, var(--cyan-400), var(--emerald-400));
}

.stat-label {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 300;
    line-height: 1.6;
}

/* Barras Animadas no Hover */
.stat-bar {
    height: 0.25rem;
    width: 3rem;
    margin-top: 1rem;
    border-radius: 9999px;
    transition: width 0.5s;
}

.bar-emerald {
    background: linear-gradient(to right, var(--emerald-500), var(--teal-500));
}

.bar-teal {
    background: linear-gradient(to right, var(--teal-500), var(--cyan-400));
}

.bar-cyan {
    background: linear-gradient(to right, var(--cyan-400), var(--emerald-500));
}

.stat-card:hover {
    background: rgba(255, 255, 255, 0.1);
}

.stat-card:hover .stat-bar {
    width: 100%;
}

.stat-card:hover {
    border-color: rgba(16, 185, 129, 0.5);
}

/* Ícones Cores */
.icon-emerald {
    color: var(--emerald-400);
}

.icon-teal {
    color: var(--teal-400);
}

.icon-cyan {
    color: var(--cyan-400);
}

/* Animações e Seta Scroll */
.scroll-down {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    animation: bounce 2s infinite;
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.5rem;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0) translateX(-50%);
    }

    40% {
        transform: translateY(-10px) translateX(-50%);
    }

    60% {
        transform: translateY(-5px) translateX(-50%);
    }
}

.overview-section {
    padding: 6rem 0;
    /* py-24 */
    background-color: #ffffff;
}

.container {
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 0rem;
}

.overview-container {
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .container {
        padding: 0 0;
    }
}

.overview-grid {
    display: grid;
    gap: 4rem;
    /* gap-16 */
    align-items: center;
}

@media (min-width: 1024px) {
    .overview-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Coluna de Texto */
.content-column {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    /* space-y-6 */
}

.overview-title {
    font-size: 2.25rem;
    /* text-4xl */
    font-weight: 700;
    color: var(--slate-900);
    line-height: 1.2;
    /* leading-tight */
}

.overview-description {
    font-size: 1.125rem;
    /* text-lg */
    color: var(--slate-600);
    line-height: 1.625;
    /* leading-relaxed */
}

/* Botões da Seção Overview */
.button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    /* gap-4 */
    padding-top: 1rem;
}

.btn-emerald {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background-color: var(--emerald-500);
    color: #ffffff;
    font-weight: 600;
    border-radius: 0.5rem;
    /* rounded-lg */
    text-decoration: none;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.btn-emerald:hover {
    background-color: var(--emerald-600);
    color: var(--white);
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background-color: #ffffff;
    border: 2px solid var(--slate-900);
    color: var(--slate-900);
    font-weight: 600;
    border-radius: 0.5rem;
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
}

.btn-outline:hover {
    background-color: var(--slate-900);
    color: #ffffff;
}

/* Coluna de Imagem */
.image-column {
    position: relative;
}

.main-image-wrapper {
    border-radius: 1rem;
    /* rounded-2xl */
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    /* shadow-xl */
    border: 1px solid var(--slate-200);
}

.main-image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Badge Flutuante */
.floating-badge {
    position: absolute;
    bottom: -2rem;
    /* -bottom-8 */
    left: -2rem;
    /* -left-8 */
    background-color: #ffffff;
    border-radius: 0.75rem;
    /* rounded-xl */
    padding: 1.5rem;
    /* p-6 */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    /* shadow-2xl */
    border: 1px solid var(--slate-200);
}

.badge-content {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.icon-box-emerald {
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--emerald-100);
    border-radius: 0.5rem;
    color: var(--emerald-600);
    font-size: 1.5rem;
}

.badge-number {
    font-size: 1.875rem;
    /* text-3xl */
    font-weight: 700;
    color: var(--slate-900);
}

.badge-label {
    font-size: 0.875rem;
    /* text-sm */
    color: var(--slate-600);
}

/* Ajuste para telas pequenas (esconder badge se estiver cortando) */
@media (max-width: 640px) {
    .floating-badge {
        position: static;
        margin-top: 1rem;
        left: 0;
        bottom: 0;
    }
}


/* Section */
.cpcon-navigation-section {
    padding: 6rem 0;
    background-color: #f8fafc;
    /* slate-50 */
}

/* Container */
.cpcon-navigation-container {
    max-width: 80rem;
    /* 7xl */
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .cpcon-navigation-container {
        padding: 0 3rem;
    }
}

/* Header */
.cpcon-navigation-header {
    text-align: center;
    margin-bottom: 4rem;
}

.cpcon-navigation-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    /* slate-900 */
    margin-bottom: 1.5rem;
}

@media (min-width: 1024px) {
    .cpcon-navigation-title {
        font-size: 3rem;
    }
}

.cpcon-navigation-description {
    font-size: 1.25rem;
    color: #475569;
    /* slate-600 */
    max-width: 64rem;
    margin: 0 auto;
    line-height: 1.7;
}

/* Grid */
.cpcon-navigation-grid {
    display: grid;
    gap: 2rem;
}

@media (min-width: 768px) {
    .cpcon-navigation-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Card */
.cpcon-navigation-card {
    background-color: #ffffff;
    border-radius: 0.75rem;
    padding: 2rem;
    border: 1px solid #e2e8f0;
    /* slate-200 */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
    text-align: center;
}

/* Icon Wrapper */
.cpcon-navigation-icon {
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cpcon-navigation-icon i {
    font-size: 1.875rem;
}

/* Color Variants */
.cpcon-navigation-icon-emerald {
    background-color: #d1fae5;
    color: #059669;
}

.cpcon-navigation-icon-teal {
    background-color: #ccfbf1;
    color: #0d9488;
}

.cpcon-navigation-icon-cyan {
    background-color: #cffafe;
    color: #0891b2;
}

.cpcon-navigation-icon-amber {
    background-color: #fef3c7;
    color: #d97706;
}

/* Numbers */
.cpcon-navigation-number {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.5rem;
}

/* Labels */
.cpcon-navigation-label {
    font-size: 0.875rem;
    color: #475569;
}

/* Section */
.cpcon-dynamic-section {
    padding: 6rem 0;
    background-color: #ffffff;
}

/* Container */
.cpcon-dynamic-container {
    max-width: 80rem;
    /* 7xl */
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (min-width: 1024px) {
    .cpcon-dynamic-container {
        padding: 0 3rem;
    }
}

/* Grid Layout */
.cpcon-dynamic-grid {
    display: grid;
    gap: 3rem;
}

@media (min-width: 1024px) {
    .cpcon-dynamic-grid {
        grid-template-columns: repeat(12, 1fr);
    }
}

/* Sidebar */
.cpcon-dynamic-sidebar {
    grid-column: span 12;
}

@media (min-width: 1024px) {
    .cpcon-dynamic-sidebar {
        grid-column: span 4;
    }
}

.cpcon-dynamic-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2rem;
}

.cpcon-dynamic-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cpcon-dynamic-btn {
    width: 100%;
    text-align: left;
    padding: 1rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    transition: all 0.2s;
    white-space: nowrap;
    background-color: #f1f5f9;
    /* slate-50 */
    color: #475569;
    /* slate-700 */
    border: none;
    cursor: pointer;
}

.cpcon-dynamic-btn:hover {
    background-color: #f8fafc;
    /* slate-100 */
}

.cpcon-dynamic-btn-active {
    background-color: #10b981;
    /* emerald-500 */
    color: #ffffff;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

/* Content */
.cpcon-dynamic-content {
    grid-column: span 12;
}

@media (min-width: 1024px) {
    .cpcon-dynamic-content {
        grid-column: span 8;
    }
}

.cpcon-dynamic-card {
    background-color: #f1f5f9;
    /* slate-50 */
    border-radius: 1rem;
    /* rounded-2xl */
    padding: 2rem;
    border: 1px solid #e2e8f0;
}

@media (min-width: 1024px) {
    .cpcon-dynamic-card {
        padding: 3rem;
    }
}

.cpcon-dynamic-card-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1.5rem;
}

.cpcon-dynamic-card-description {
    font-size: 1.125rem;
    color: #475569;
    margin-bottom: 2rem;
    line-height: 1.7;
}

/* List */
.cpcon-dynamic-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
    padding: 0;
    list-style: none;
}

.cpcon-dynamic-list-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.cpcon-dynamic-icon {
    width: 1.5rem;
    height: 1.5rem;
    background-color: #10b981;
    color: #ffffff;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.cpcon-dynamic-icon i {
    font-size: 0.875rem;
}

/* Link */
.cpcon-dynamic-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background-color: #10b981;
    color: #ffffff;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: all 0.2s;
    text-decoration: none;
    white-space: nowrap;
}

.cpcon-dynamic-link:hover {
    background-color: #059669;
}

.readdy-content-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
}

.readdy-content-grid.cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.readdy-content-grid.cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.readdy-content-grid.cols-4 {
    grid-template-columns: repeat(4, 1fr);
}


@media (min-width: 768px) {

    .readdy-content-grid.cols-2,
    .readdy-content-grid.cols-3,
    .readdy-content-grid.cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .readdy-content-grid.cols-3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .readdy-content-grid.cols-4 {
        grid-template-columns: repeat(4, 1fr);
    }
}


.readdy-post-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 10px 15px rgba(0, 0, 0, .08);
    transition: transform .3s ease, box-shadow .3s ease;
}

.readdy-post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, .15);
}

.readdy-post-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.readdy-post-card__media {
    position: relative;
    height: 12rem;
    overflow: hidden;
}

.readdy-post-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.readdy-post-card:hover img {
    transform: scale(1.05);
}

.readdy-post-card__badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: #10b981;
    color: #fff;
    font-size: .75rem;
    font-weight: 600;
    padding: .25rem .75rem;
    border-radius: 999px;
}

.readdy-post-card__content {
    padding: 1.5rem;
}

.readdy-post-card__title {
    font-size: 1.375rem;
    line-height: 1.4;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
}

.readdy-post-card:hover .readdy-post-card__title {
    color: #10b981;
}

.readdy-post-card__excerpt {
    font-size: .875rem;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.readdy-post-card__meta {
    display: flex;
    justify-content: space-between;
    font-size: .75rem;
    color: #64748b;
}

.readdy-post-card {
    transition:
        transform 300ms cubic-bezier(.4, 0, .2, 1),
        box-shadow 300ms cubic-bezier(.4, 0, .2, 1);
}

.readdy-post-card:hover {
    transform: translateY(-6px);
    box-shadow:
        0 25px 50px -12px rgba(0, 0, 0, .25);
}

.readdy-post-card__media img {
    transition: transform 500ms cubic-bezier(.4, 0, .2, 1);
}

.readdy-post-card:hover .readdy-post-card__media img {
    transform: scale(1.06);
}

a {
    text-decoration: none;
}

/* Comentários */

/* Container geral */
.comments-area {
  max-width: 760px;
  margin: 5rem auto;
  padding: 2.5rem;
  background: linear-gradient(180deg, #f8fafc, #ffffff);
  border-radius: 20px;
  border: 1px solid #e5e7eb;
}

.comments-title,
.comment-reply-title {
  font-size: 1.35rem;
  font-weight: 600;
  color: #020617;
  margin-bottom: 0.5rem;
}

.comment-reply-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.logged-in-as,
.comment-notes {
  font-size: 0.85rem;
  color: #64748b;
  margin-bottom: 1.25rem;
}

.logged-in-as a{
    color: #276ed3;
}

.logged-in-as a + a{
    color: #d32727;
}

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

.comment-form textarea {
  width: 100%;
  min-height: 120px;
  padding: 1.25rem 1.25rem 1.5rem;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  font-size: 0.95rem;
  line-height: 1.6;
  resize: none;
  transition: 
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.2s ease;
}

.comment-form textarea:focus {
  outline: none;
  border-color: #14b8a6;
  box-shadow:
    0 0 0 4px rgba(20, 184, 166, 0.15),
    0 12px 30px -12px rgba(15, 23, 42, 0.15);
  transform: translateY(-1px);
}

/* Botão */
.comment-form input[type="submit"] {
  margin-top: 1.25rem;
  padding: 0.85rem 1.75rem;
  background: linear-gradient(135deg, #0f172a, #020617);
  color: #ffffff;
  border: none;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  align-self: flex-start;
  transition: 
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.comment-form input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(2, 6, 23, 0.25);
}

.comment-form input[type="submit"]:active {
  transform: translateY(0);
  box-shadow: none;
}

.comment-form textarea {
  min-height: 100px;
  transition: min-height 0.3s ease;
}

.comment-form textarea:focus {
  min-height: 160px;
}
