/* Micro-Adjustments & Interactions Only */
.seo-input-wrapper { transition: all 0.3s ease; border: 1px solid transparent; }
.seo-input-wrapper:focus-within { border-color: var(--amarelo) !important; }

/* Global Utilities */
.fade-in { animation: fadeIn 0.6s ease-out forwards; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* Texture */
.card-bg-dots { position: absolute; inset: 0; background-image: radial-gradient(#d1d5db 1.5px, transparent 1.5px); background-size: 24px 24px; opacity: 0.5; pointer-events: none; z-index: 0; }

/* Cycle Nav Interaction */
.cycle-nav-item:hover { border-color: var(--amarelo) !important; transform: translateX(5px); }
.cycle-nav-item.active { background: var(--amarelo) !important; border-color: var(--amarelo) !important; color: #fff !important; box-shadow: 0 5px 15px rgba(245, 156, 14, 0.2); transform: translateX(10px); }
.cycle-nav-item.active span { color: #fff !important; opacity: 1 !important; }

/* FAQ Accordion (Desktop Horizontal / Mobile Vertical) */
.horizontal-faq-wrapper { display: flex; gap: 15px; height: 450px; }
.faq-card { flex: 0.5; background: #e9ecef; border-radius: 20px; overflow: hidden; cursor: pointer; transition: flex 0.6s cubic-bezier(0.25, 1, 0.5, 1); position: relative; }
.faq-card.active { flex: 5; background: var(--amarelo); cursor: default; }

.faq-card-collapsed { position: absolute; inset: 20px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; transition: opacity 0.2s ease; white-space: nowrap; }
.faq-card.active .faq-card-collapsed { opacity: 0; pointer-events: none; }
.faq-vertical-title { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 18px; font-weight: 700; color: var(--preto); margin-bottom: 40px; }
.faq-icon-collapsed { width: 32px; height: 32px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; color: var(--preto); font-size: 14px; position: absolute; top: 0; }

.faq-card-expanded { padding: 40px; opacity: 0; transform: translateY(10px); transition: all 0.3s ease; position: absolute; inset: 0; }
.faq-card.active .faq-card-expanded { opacity: 1; transform: translateY(0); transition: all 0.4s ease 0.1s; }

.bg-blur { backdrop-filter: blur(2px); }

@media (max-width: 991px) {
    .horizontal-faq-wrapper { flex-direction: column; height: auto; }
    .faq-card { flex: none; height: auto; min-height: 80px; }
    .faq-card.active { min-height: auto; }
    .faq-card-collapsed { flex-direction: row; justify-content: space-between; align-items: center; padding: 0 20px; inset: 0; }
    .faq-vertical-title { writing-mode: horizontal-tb; transform: none; margin: 0; }
    .faq-icon-collapsed { position: relative; }
    .faq-card-expanded { position: relative; padding: 30px; transform: none; }
    .faq-card.active .faq-card-expanded { transform: none; }
}


/* Section 2: Os 3 Pilares da Indexação (Orange Background) */
.seo-section2 {
    background-color: var(--amarelo);
    padding-top: 110px;
    padding-bottom: 80px;
}
.seo-section2 a {
    height: 100%;
    background-color: var(--branco);
    display: block;
    padding: 50px 40px 130px;
    position: relative;
}
.seo-section2 .box {
    height: 100%;
    background-color: var(--branco);
    display: block;
    padding: 50px 40px 40px;
    position: relative;
}
.seo-section2 i {
    font-size: 36px;
    color: var(--amarelo);
    margin-bottom: 20px;
}
.seo-section2 .box ul {
    margin-top: 15px;
    margin-bottom: 15px;
}
.seo-section2 .box ul li {
     list-style: inside;
}
.seo-section2.box-cinza {
    background-color: transparent;
    padding-top: 0;
    padding-bottom: 0;
}
.seo-section2.box-cinza .box {
    background-color: var(--bgcinza);
}
