/*
Theme Name: Dominios Latinos (Official)
Theme URI: https://dominioslatinos.com
Author: BravoCore
Description: V7.2.1 Layout with Form Styles.
Version: 7.2.1
*/
:root { --primary: #2563EB; --primary-light: #06B6D4; --accent: #4F46E5; --brand-orange: #F97316; }
body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; scroll-behavior: smooth; }

/* Logo Sizing */
.logo-side-container .custom-logo-link img, .logo-side-container img.custom-logo {
    height: 80px !important; width: auto !important; max-width: none !important; object-fit: contain; display: block;
}

/* Global Button Hover Override */
button:hover, a.button:hover, input[type="submit"]:hover, .hover\:bg-orange-500:hover {
    background-color: var(--brand-orange) !important;
    border-color: var(--brand-orange) !important;
    color: white !important;
    transition: all 0.3s ease;
}

/* --- CONTACT FORM 7 STYLES --- */
.wpcf7-form label { font-weight: 600; color: #374151; font-size: 0.95rem; display: block; width: 100%; margin-bottom: 0.25rem; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select {
    width: 100%;
    padding: 0.75rem 1rem;
    margin-bottom: 1.5rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    background-color: #f9fafb;
    color: #1f2937;
    font-family: inherit;
    font-size: 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
    outline: none;
    border-color: #2563EB;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    background-color: #ffffff;
}
.wpcf7-form input[type="submit"] {
    background-color: #2563EB;
    color: white;
    font-weight: bold;
    padding: 1rem 2rem;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background 0.2s;
    width: 100%;
    font-size: 1.1rem;
    margin-top: 0.5rem;
}
.wpcf7-form input[type="submit"]:hover {
    background-color: #F97316;
}
.wpcf7-spinner { display: none; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #22c55e; color: #166534; background: #dcfce7; border-radius: 0.5rem; padding: 1rem; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { border-color: #ef4444; color: #991b1b; background: #fee2e2; border-radius: 0.5rem; padding: 1rem; }

/* --- ROBUST MARQUEE FIX START --- */
.marquee-container { overflow: hidden; width: 100%; position: relative; padding: 2rem 0; mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent); }
.marquee-track { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; width: max-content !important; gap: 2rem; animation: scrollPlans 45s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }
.pricing-card { display: flex !important; flex-direction: column !important; width: 320px !important; min-width: 320px !important; flex: 0 0 auto !important; background: white; border-radius: 1rem; white-space: normal; }
@keyframes scrollPlans { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* --- FUTURISTIC TABLE STYLES --- */
.tech-table-wrapper { overflow-x: auto; border-radius: 16px; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); background: white; border: 1px solid #e2e8f0; }
.tech-table { width: 100%; border-collapse: collapse; font-size: 1.1rem; min-width: 800px; }
.tech-table th { background: linear-gradient(to right, #1e293b, #0f172a); color: white; padding: 1.5rem; text-transform: uppercase; font-weight: 800; letter-spacing: 0.05em; text-align: center; }
.tech-table th:first-child { text-align: left; border-top-left-radius: 16px; }
.tech-table th:last-child { border-top-right-radius: 16px; }
.tech-table td { padding: 1.5rem; border-bottom: 1px solid #e2e8f0; text-align: center; color: #475569; font-weight: 500; }
.tech-table tr:hover td { background-color: #f8fafc; color: #0f172a; transition: background 0.2s; }
.tech-table .feature-title { text-align: left; font-weight: 700; color: #1e293b; display: flex; align-items: center; }
.tech-table .col-highlight { background-color: #eff6ff; color: #2563EB; font-weight: 800; border-left: 1px solid #dbeafe; border-right: 1px solid #dbeafe; position: relative; }
.tech-table .col-highlight::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: #2563EB; }
.badge { padding: 4px 12px; border-radius: 9999px; font-size: 0.85rem; font-weight: 800; text-transform: uppercase; }
.badge-green { background: #dcfce7; color: #166534; }
.badge-gray { background: #f1f5f9; color: #64748b; }
.badge-orange { background: #ffedd5; color: #c2410c; }

/* SOPHiA AI */
.sophia-chat-window { animation: slideUp 0.3s ease-out; }
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.typing-dot { animation: bounce 1s infinite; }
.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }