#tp-servico-modal, #tp-servico-modal * { cursor: default !important; box-sizing: border-box !important; }

.tp-serv-overlay {
    position: fixed !important; top: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important;
    background: rgba(3, 7, 18, 0) !important; z-index: 2147483647 !important; display: none !important;
    align-items: center !important; justify-content: center !important; padding: 15px !important;
    opacity: 0 !important; transition: background 0.3s ease, opacity 0.3s ease !important;
}
.tp-serv-overlay.tp-serv-show {
    background: rgba(3, 7, 18, 0.95) !important;
    opacity: 1 !important;
}

.tp-serv-content {
    background: linear-gradient(145deg, #070d1a, #020408) !important; border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 22px !important; width: 100% !important; max-width: 960px !important; padding: 28px 34px !important;
    color: #f8fafc !important; position: relative !important; 
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.95), 0 0 40px rgba(16, 185, 129, 0.12) !important;
    max-height: 94vh !important; overflow-y: auto !important;
    transform: scale(0.93) translateY(15px) !important; opacity: 0 !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease, box-shadow 0.4s ease !important;
}
.tp-serv-overlay.tp-serv-show .tp-serv-content {
    transform: scale(1) translateY(0) !important; opacity: 1 !important;
}

.tp-serv-content::-webkit-scrollbar { width: 5px; height: 5px; }
.tp-serv-content::-webkit-scrollbar-track { background: #020408; border-radius: 10px; }
.tp-serv-content::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 10px; }

/* Botão Fechar */
.tp-serv-close {
    position: absolute !important; top: 20px !important; right: 22px !important; background: transparent !important;
    border: none !important; color: #94a3b8 !important; font-size: 24px !important; line-height: 1 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: color 0.2s ease, transform 0.2s ease !important; cursor: pointer !important; z-index: 30 !important; outline: none !important;
    box-shadow: none !important; padding: 0 !important; width: 28px !important; height: 28px !important;
}
.tp-serv-close:hover { color: #ef4444 !important; transform: scale(1.15); }

/* Barra de Abas Superiores */
.tp-serv-tabs {
    display: flex !important; flex-wrap: nowrap !important; gap: 5px !important;
    padding-bottom: 14px !important; margin-bottom: 18px !important; padding-right: 35px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important; width: 100% !important;
    justify-content: space-between !important; overflow: hidden !important;
}

.tp-tab-btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    gap: 4px !important; padding: 4px 6px !important; border-radius: 12px !important; font-size: 9.5px !important;
    font-weight: 700 !important; white-space: nowrap !important; cursor: pointer !important;
    transition: all 0.25s ease !important; flex: 1 !important; text-align: center !important;
    border-style: solid !important; border-width: 1px !important; outline: none !important; box-shadow: none !important;
}
.tp-tab-btn span { font-size: 11px !important; line-height: 1 !important; display: inline-block !important; }

/* CORES DAS ABAS */
#tab-desinsetizacao { background: rgba(16, 185, 129, 0.1) !important; border-color: rgba(16, 185, 129, 0.3) !important; color: #34d399 !important; }
#tab-desinsetizacao:hover { background: rgba(16, 185, 129, 0.2) !important; border-color: #34d399 !important; }
#tab-desinsetizacao.active { background: #10b981 !important; border-color: #10b981 !important; color: #ffffff !important; box-shadow: 0 0 12px rgba(16, 185, 129, 0.4) !important; }

#tab-desratizacao { background: rgba(245, 158, 11, 0.1) !important; border-color: rgba(245, 158, 11, 0.3) !important; color: #fbbf24 !important; }
#tab-desratizacao:hover { background: rgba(245, 158, 11, 0.2) !important; border-color: #fbbf24 !important; }
#tab-desratizacao.active { background: #f59e0b !important; border-color: #f59e0b !important; color: #ffffff !important; box-shadow: 0 0 12px rgba(245, 158, 11, 0.4) !important; }

#tab-descupinizacao { background: rgba(239, 68, 68, 0.1) !important; border-color: rgba(239, 68, 68, 0.3) !important; color: #f87171 !important; }
#tab-descupinizacao:hover { background: rgba(239, 68, 68, 0.2) !important; border-color: #f87171 !important; }
#tab-descupinizacao.active { background: #ef4444 !important; border-color: #ef4444 !important; color: #ffffff !important; box-shadow: 0 0 12px rgba(239, 68, 68, 0.4) !important; }

#tab-limpeza-caixa { background: rgba(59, 130, 246, 0.1) !important; border-color: rgba(59, 130, 246, 0.3) !important; color: #60a5fa !important; }
#tab-limpeza-caixa:hover { background: rgba(59, 130, 246, 0.2) !important; border-color: #60a5fa !important; }
#tab-limpeza-caixa.active { background: #3b82f6 !important; border-color: #3b82f6 !important; color: #ffffff !important; box-shadow: 0 0 12px rgba(59, 130, 246, 0.4) !important; }

#tab-sanitizacao { background: rgba(168, 85, 247, 0.1) !important; border-color: rgba(168, 85, 247, 0.3) !important; color: #c084fc !important; }
#tab-sanitizacao:hover { background: rgba(168, 85, 247, 0.2) !important; border-color: #c084fc !important; }
#tab-sanitizacao.active { background: #a855f7 !important; border-color: #a855f7 !important; color: #ffffff !important; box-shadow: 0 0 12px rgba(168, 85, 247, 0.4) !important; }

#tab-manejo-vegetacao { background: rgba(236, 72, 153, 0.1) !important; border-color: rgba(236, 72, 153, 0.3) !important; color: #f472b6 !important; }
#tab-manejo-vegetacao:hover { background: rgba(236, 72, 153, 0.2) !important; border-color: #f472b6 !important; }
#tab-manejo-vegetacao.active { background: #ec4899 !important; border-color: #ec4899 !important; color: #ffffff !important; box-shadow: 0 0 12px rgba(236, 72, 153, 0.4) !important; }

.tp-serv-header { margin-bottom: 16px; }
.tp-serv-badge-group { display: flex; gap: 6px; margin-bottom: 6px; flex-wrap: wrap; }
.tp-serv-badge {
    display: inline-flex !important; align-items: center !important; background: rgba(16, 185, 129, 0.08) !important;
    border: 1px solid rgba(16, 185, 129, 0.25) !important; padding: 2px 8px !important; border-radius: 12px !important;
    font-size: 10px !important; font-weight: 600 !important; color: #34d399 !important;
}
.tp-serv-badge-loc {
    display: inline-flex !important; align-items: center !important; background: rgba(59, 130, 246, 0.08) !important;
    border: 1px solid rgba(59, 130, 246, 0.25) !important; padding: 2px 8px !important; border-radius: 12px !important;
    font-size: 10px !important; font-weight: 600 !important; color: #60a5fa !important;
}
.tp-serv-header h2 { 
    margin: 0 0 4px 0 !important; font-size: 21px !important; font-weight: 700 !important; color: #ffffff !important; min-height: 28px; 
    transition: opacity 0.3s ease, transform 0.3s ease !important;
}
.tp-serv-header p { margin: 0 !important; font-size: 12.5px !important; color: #94a3b8 !important; }

/* ANIMAÇÕES DE SURGIMENTO DOS CARDS */
.tp-serv-grid-info {
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px;
}
@media (max-width: 768px) { .tp-serv-grid-info { grid-template-columns: 1fr; } }

.tp-serv-card-box {
    background: linear-gradient(135deg, rgba(13, 22, 38, 0.85), rgba(7, 13, 24, 0.95)) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 14px !important; padding: 14px 18px !important;
    position: relative !important; overflow: hidden !important;
    opacity: 0;
    transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.tp-serv-show-cards .card-oque { animation: slideFromLeft 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.05s forwards; }
.tp-serv-show-cards .card-importancia { animation: slideFromRight 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards; }
.tp-serv-show-cards .card-porque { animation: slideFromBottom 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.25s forwards; }
.tp-serv-show-cards .card-indicado { animation: slideFromTop 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.35s forwards; }

@keyframes slideFromLeft {
    0% { opacity: 0; transform: translateX(-40px); }
    100% { opacity: 1; transform: translateX(0); }
}
@keyframes slideFromRight {
    0% { opacity: 0; transform: translateX(40px); }
    100% { opacity: 1; transform: translateX(0); }
}
@keyframes slideFromBottom {
    0% { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
}
@keyframes slideFromTop {
    0% { opacity: 0; transform: translateY(-40px); }
    100% { opacity: 1; transform: translateY(0); }
}

.tp-serv-card-box:hover { border-color: rgba(255, 255, 255, 0.25); transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0,0,0,0.5); }

.tp-serv-card-box::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; }
.card-oque::before { background: #38bdf8; box-shadow: 0 0 10px #38bdf8; }
.card-importancia::before { background: #fbbf24; box-shadow: 0 0 10px #fbbf24; }
.card-porque::before { background: #34d399; box-shadow: 0 0 10px #34d399; }
.card-indicado::before { background: #f472b6; box-shadow: 0 0 10px #f472b6; }

.tp-serv-card-box h3 {
    padding: 5px 10px !important; border-radius: 6px !important;
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
    font-size: 12.5px !important; font-weight: 800 !important; margin: 0 0 10px 0 !important;
}
.card-oque h3 { background: rgba(56, 189, 248, 0.15); color: #38bdf8 !important; border: 1px solid rgba(56, 189, 248, 0.3); }
.card-importancia h3 { background: rgba(251, 191, 36, 0.15); color: #fbbf24 !important; border: 1px solid rgba(251, 191, 36, 0.3); }
.card-porque h3 { background: rgba(52, 211, 153, 0.15); color: #34d399 !important; border: 1px solid rgba(52, 211, 153, 0.3); }
.card-indicado h3 { background: rgba(244, 114, 182, 0.15); color: #f472b6 !important; border: 1px solid rgba(244, 114, 182, 0.3); }

.tp-serv-card-box p { font-size: 11.5px !important; color: #cbd5e1 !important; line-height: 1.6 !important; margin: 0 !important; }

/* Vantagens Fixas */
.tp-serv-features-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 16px;
}
@media (max-width: 800px) { .tp-serv-features-grid { grid-template-columns: repeat(2, 1fr); } }

.tp-serv-feat-card {
    background: rgba(10, 17, 30, 0.85); border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 9px; padding: 9px 12px; display: flex; align-items: center; gap: 8px;
}
.tp-serv-feat-card span.feat-icon { font-size: 18px; flex-shrink: 0; }
.tp-serv-feat-card strong { display: block; font-size: 11px; color: #ffffff; font-weight: 600; line-height: 1.1; }
.tp-serv-feat-card span.feat-desc { font-size: 9.5px; color: #94a3b8; }

/* Botões Inferiores */
.tp-serv-cta-footer { display: flex; gap: 10px; margin-top: 12px; }
@media (max-width: 650px) { .tp-serv-cta-footer { flex-direction: column; } }

.tp-serv-btn {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 12px 14px; border-radius: 12px; font-weight: 800; font-size: 12px;
    text-decoration: none; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); cursor: pointer; border: none; outline: none;
    text-align: center;
}
.tp-btn-whatsapp {
    background: linear-gradient(135deg, #00f260, #0575e6); background-size: 200% 200%;
    color: #ffffff !important; box-shadow: 0 6px 22px rgba(0, 242, 96, 0.35);
    animation: pulseWhatsapp 2.5s infinite, gradientShift 6s ease infinite;
}
.tp-btn-whatsapp:hover { transform: translateY(-3px) scale(1.01); box-shadow: 0 10px 30px rgba(0, 242, 96, 0.55); }

@keyframes pulseWhatsapp {
    0% { box-shadow: 0 0 0 0 rgba(0, 242, 96, 0.4); }
    70% { box-shadow: 0 0 0 12px rgba(0, 242, 96, 0); }
    100% { box-shadow: 0 0 0 0 rgba(0, 242, 96, 0); }
}
@keyframes gradientShift {
    0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; }
}

.tp-btn-ligar {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.25), rgba(59, 130, 246, 0.25));
    color: #ffffff !important; border: 1px solid rgba(52, 211, 153, 0.5) !important;
    box-shadow: 0 6px 22px rgba(16, 185, 129, 0.25);
}
.tp-btn-ligar:hover {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.45), rgba(59, 130, 246, 0.45));
    border-color: #34d399 !important; transform: translateY(-3px) scale(1.01); box-shadow: 0 10px 30px rgba(16, 185, 129, 0.4);
}

.tp-btn-orcamento {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.25), rgba(168, 85, 247, 0.25));
    color: #ffffff !important; border: 1px solid rgba(96, 165, 250, 0.6) !important;
    box-shadow: 0 6px 22px rgba(59, 130, 246, 0.3);
}
.tp-btn-orcamento:hover {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.45), rgba(168, 85, 247, 0.45));
    border-color: #93c5fd !important; transform: translateY(-3px) scale(1.01); box-shadow: 0 10px 30px rgba(59, 130, 246, 0.5);
}
