/**
 * InfinityLux Theme - Unified CSS File
 * Consolidated styles without !important declarations
 * 
 * This file replaces the previous fragmented CSS architecture:
 * - colors.css (CSS variables)
 * - custom-page-title.css (page header overrides)
 * - override-styles.css (648 lines with !important declarations)
 * 
 * Benefits of this unified approach:
 * ✓ No !important declarations needed
 * ✓ Proper CSS specificity hierarchy
 * ✓ Better performance (fewer HTTP requests)
 * ✓ Easier maintenance and debugging
 * ✓ Clear style organization
 * 
 * Color Scheme:
 * - Blue: rgb(32,63,88) - primary color (headers, navigation, footer)
 * - Pink: #eeddc1 - secondary color (nav links, footer text)
 * - Brown: #bf9959 - accent color (hover states, buttons)
 * 
 * Structure:
 * 1. CSS Variables and Root Styles
 * 2. Global Styles (typography, buttons, links)
 * 3. Header and Navigation
 * 4. Page Titles and Headers
 * 5. Homepage Cards Styles
 * 6. Footer Styles
 * 7. Responsive Adjustments
 * 8. Utility Classes
 * 
 * Last Updated: June 4, 2025
 * Author: CSS Architecture Consolidation
 */

/* =====================================
   CSS VARIABLES AND ROOT STYLES
   ===================================== */

:root {
  --background-color: #ffffff;
  --default-color: #444444;
  --heading-color: rgb(32,63,88);
  --accent-color: #bf9959;
  --surface-color: #ffffff;
  --contrast-color: #ffffff;
  --nav-color: #eeddc1;
  --nav-hover-color: #bf9959;
  --nav-mobile-background-color: rgb(32,63,88);
  --nav-dropdown-background-color: rgb(32,63,88);
  --nav-dropdown-color: #eeddc1;
  --nav-dropdown-hover-color: #bf9959;
  --logo-color: #eeddc1;
  --breadcrumbs-link-color: #eeddc1;
  --toc-link-color: #bf9959;
}

/* Color Presets */
.light-background {
  --background-color: #f9f9f9;
  --surface-color: #ffffff;
}

.dark-background {
  --background-color: rgb(32,63,88);
  background-color: rgb(32,63,88);
  background: rgb(32,63,88);
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --surface-color: #404356;
  --contrast-color: #ffffff;
}

/* =====================================
   GLOBAL STYLES
   ===================================== */

/* Typography */
h1, h2, h3, h4, h5, h6 {
    color: rgb(32,63,88);
}

/* Links */
a {
    color: #bf9959;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover,
a:focus {
    color: rgb(32,63,88);
}

/* Buttons */
.btn,
button,
input[type="submit"],
input[type="button"],
.button {
    background-color: #bf9959;
    border-color: #bf9959;
    color: #ffffff;
    transition: all 0.3s ease;
}

.btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.button:hover {
    background-color: rgb(32,63,88);
    border-color: rgb(32,63,88);
    color: #eeddc1;
}

/* Accent elements */
.accent-color,
.highlight,
.featured {
    color: #bf9959;
}

/* =====================================
   HEADER AND NAVIGATION
   ===================================== */

/* Header background - high specificity to override main.css */
#header,
header#header,
.header,
header.header,
#header.header,
header#header.header {
    background-color: rgb(32,63,88) !important;
    background: rgb(32,63,88) !important;
    --background-color: rgb(32,63,88) !important;
}

/* Logo */
#header .logo,
header#header .logo,
.header .logo,
header.header .logo {
    color: #eeddc1;
}

/* Navigation links */
#header .navmenu ul li a,
header#header .navmenu ul li a,
.header .navmenu ul li a,
header.header .navmenu ul li a {
    color: #eeddc1;
    transition: all 0.3s ease;
}

/* Navigation hover states */
#header .navmenu ul li a:hover,
#header .navmenu ul li a:focus,
header#header .navmenu ul li a:hover,
header#header .navmenu ul li a:focus,
.header .navmenu ul li a:hover,
.header .navmenu ul li a:focus,
header.header .navmenu ul li a:hover,
header.header .navmenu ul li a:focus {
    color: #bf9959;
    border-radius: 50px;
    padding: 8px 20px;
}

/* Active navigation states */
#header .navmenu ul li a.active,
header#header .navmenu ul li a.active,
.header .navmenu ul li a.active,
header.header .navmenu ul li a.active {
    background-color: #eeddc1;
    color: rgb(32,63,88);
    border-radius: 50px;
    padding: 8px 20px;
}

/* Personal cabinet */
#header .personal-cabinet,
header#header .personal-cabinet,
.header .personal-cabinet,
header.header .personal-cabinet {
    color: #eeddc1;
    transition: color 0.3s ease;
}

#header .personal-cabinet i,
header#header .personal-cabinet i,
.header .personal-cabinet i,
header.header .personal-cabinet i {
    color: rgb(32,63,88) !important;
    font-size: 1.2rem;
    margin-right: 5px;
    transition: none;
}

#header .personal-cabinet:hover,
header#header .personal-cabinet:hover,
.header .personal-cabinet:hover,
header.header .personal-cabinet:hover {
    color: #bf9959;
}

/* Mobile navigation */
#header .mobile-nav-toggle,
header#header .mobile-nav-toggle,
.header .mobile-nav-toggle,
header.header .mobile-nav-toggle {
    color: #eeddc1;
}

/* Header variants */
#header.header,
header.header,
#header.fixed-top,
header.fixed-top,
.header.fixed-top {
    background-color: rgb(32,63,88) !important;
    background: rgb(32,63,88) !important;
    --background-color: rgb(32,63,88) !important;
}

/* All text elements in navigation */
#header *,
header#header *,
.header *,
header.header * {
    color: #eeddc1;
}

/* =====================================
   PAGE TITLES AND HEADERS
   ===================================== */

/* Page title with dark background */
.page-title.dark-background {
    background-color: rgb(32,63,88);
    background: rgb(32,63,88);
    --background-color: rgb(32,63,88);
}

/* Page title overlay */
.page-title.dark-background:before {
    background-color: rgba(32,63,88, 0.7);
    background: rgba(32,63,88, 0.7);
}

/* Enhanced specificity for page titles */
body .main .page-title.dark-background {
    background-color: rgb(32,63,88);
}

body .main .page-title.dark-background:before {
    background-color: rgba(32,63,88, 0.7);
}

html body .main .page-title.dark-background {
    --background-color: rgb(32,63,88);
}

div.page-title.dark-background {
    background-color: rgb(32,63,88);
    background: rgb(32,63,88);
}

/* Page title headings */
.page-title h1,
.page-title.dark-background h1 {
    color: #eeddc1;
}

/* Partner section with blue background */
#partner,
section#partner {
    background-color: rgb(32,63,88);
    background: rgb(32,63,88);
}

#partner *,
section#partner * {
    color: #eeddc1;
}

#partner h1,
#partner h2,
#partner h3,
#partner h4,
#partner h5,
#partner h6,
section#partner h1,
section#partner h2,
section#partner h3,
section#partner h4,
section#partner h5,
section#partner h6 {
    color: #eeddc1;
}

/* =====================================
   BREADCRUMBS
   ===================================== */

.breadcrumbs a {
    color: #eeddc1;
    transition: color 0.3s ease;
}

.breadcrumbs a:hover {
    color: #bf9959;
}

/* =====================================
   HOMEPAGE CARDS STYLES
   ===================================== */

/* General card transitions */
.service-card,
.service-item,
.service,
.why-card,
.why-item,
.feature,
.about-card,
.about-item {
    transition: all 0.3s ease;
}

/* Services Section */
.services .service-card h3,
.services .service-item h3,
.services .service h3,
#services .service-card h3,
#services .service-item h3,
#services .service h3,
.services-section .service-card h3,
.services-section .service-item h3,
.services-section .service h3 {
    color: rgb(32,63,88);
    transition: color 0.3s ease;
}

.services .service-card:hover h3,
.services .service-item:hover h3,
.services .service:hover h3,
#services .service-card:hover h3,
#services .service-item:hover h3,
#services .service:hover h3,
.services-section .service-card:hover h3,
.services-section .service-item:hover h3,
.services-section .service:hover h3 {
    color: #bf9959;
}

/* Service icons */
.services .service-card i,
.services .service-item i,
.services .service i,
.services .service-card .icon,
.services .service-item .icon,
.services .service-item .icon i,
.services .service .icon,
#services .service-card i,
#services .service-item i,  
#services .service-item .icon i,
#services .service i,
#services .service-card .icon,
#services .service-item .icon,
#services .service .icon,
.services-section .service-card i,
.services-section .service-item i,
.services-section .service-item .icon i,
.services-section .service i,
.services-section .service-card .icon,
.services-section .service-item .icon,
.services-section .service .icon {
    color: rgb(32,63,88) !important;
    font-size: 64px;
    /* line-height: 1; */
    transition: all 0.3s ease;
}

/* Why Section */
#why .service-item .icon i,
#why .service-item i,
.why .service-item .icon i,
.why .service-item i,
.why-section .service-item .icon i,
.why-section .service-item i {
    color: rgb(32,63,88) !important;
    font-size: 64px;
    line-height: 1;
    transition: all 0.3s ease;
}

.why .why-card h3,
.why .why-item h3,
.why .feature h3,
#why .why-card h3,
#why .why-item h3,
#why .feature h3,
.why-section .why-card h3,
.why-section .why-item h3,
.why-section .feature h3,
.why-us .why-card h3,
.why-us .why-item h3,
.why-us .feature h3 {
    color: rgb(32,63,88);
    transition: color 0.3s ease;
}

.why .why-card:hover h3,
.why .why-item:hover h3,
.why .feature:hover h3,
#why .why-card:hover h3,
#why .why-item:hover h3,
#why .feature:hover h3,
.why-section .why-card:hover h3,
.why-section .why-item:hover h3,
.why-section .feature:hover h3,
.why-us .why-card:hover h3,
.why-us .why-item:hover h3,
.why-us .feature:hover h3 {
    color: #bf9959;
}

/* Why icons */
.why .why-card i,
.why .why-item i,
.why .feature i,
.why .why-card .icon,
.why .why-item .icon,
.why .feature .icon,
#why .why-card i,
#why .why-item i,
#why .feature i,
#why .why-card .icon,
#why .why-item .icon,
#why .feature .icon,
.why-section .why-card i,
.why-section .why-item i,
.why-section .feature i,
.why-section .why-card .icon,
.why-section .why-item .icon,
.why-section .feature .icon,
.why-us .why-card i,
.why-us .why-item i,
.why-us .feature i,
.why-us .why-card .icon,
.why-us .why-item .icon,
.why-us .feature .icon {
    color: rgb(32,63,88);
    transition: color 0.3s ease;
}

/* About Section */
#about .service-item .icon i,
#about .service-item i,
.about .service-item .icon i,
.about .service-item i,
.about-section .service-item .icon i,
.about-section .service-item i {
    color: rgb(32,63,88) !important;
    font-size: 64px;
    line-height: 1;
    transition: all 0.3s ease;
}

.about .about-card h3,
.about .about-item h3,
.about .feature h3,
#about .about-card h3,
#about .about-item h3,
#about .feature h3,
.about-section .about-card h3,
.about-section .about-item h3,
.about-section .feature h3,
.about-us .about-card h3,
.about-us .about-item h3,
.about-us .feature h3 {
    color: rgb(32,63,88);
    transition: color 0.3s ease;
}

.about .about-card:hover h3,
.about .about-item:hover h3,
.about .feature:hover h3,
#about .about-card:hover h3,
#about .about-item:hover h3,
#about .feature:hover h3,
.about-section .about-card:hover h3,
.about-section .about-item:hover h3,
.about-section .feature:hover h3,
.about-us .about-card:hover h3,
.about-us .about-item:hover h3,
.about-us .feature:hover h3 {
    color: #bf9959;
}

/* About icons */
.about .about-card i,
.about .about-item i,
.about .feature i,
.about .about-card .icon,
.about .about-item .icon,
.about .feature .icon,
#about .about-card i,
#about .about-item i,
#about .feature i,
#about .about-card .icon,
#about .about-item .icon,
#about .feature .icon,
.about-section .about-card i,
.about-section .about-item i,
.about-section .feature i,
.about-section .about-card .icon,
.about-section .about-item .icon,
.about-section .feature .icon,
.about-us .about-card i,
.about-us .about-item i,
.about-us .feature i,
.about-us .about-card .icon,
.about-us .about-item .icon,
.about-us .feature .icon {
    color: rgb(32,63,88);
    transition: color 0.3s ease;
}

/* Generic card styles */
.card h3,
.item h3,
.box h3 {
    color: rgb(32,63,88);
    transition: color 0.3s ease;
}

.card:hover h3,
.item:hover h3,
.box:hover h3 {
    color: #bf9959;
}

.card i,
.item i,
.box i,
.card .icon,
.item .icon,
.box .icon {
    color: rgb(32,63,88);
    transition: color 0.3s ease;
}

.card:hover i,
.item:hover i,
.box:hover i,
.card:hover .icon,
.item:hover .icon,
.box:hover .icon {
    color: #bf9959;
}

/* Cards with links */
.service-card a,
.service-item a,
.why-card a,
.why-item a,
.about-card a,
.about-item a,
.feature a,
.card a,
.item a,
.box a {
    color: inherit;
}

.service-card a i,
.service-item a i,
.why-card a i,
.why-item a i,
.about-card a i,
.about-item a i,
.feature a i,
.card a i,
.item a i,
.box a i,
.service-card a .icon,
.service-item a .icon,
.why-card a .icon,
.why-item a .icon,
.about-card a .icon,
.about-item a .icon,
.feature a .icon,
.card a .icon,
.item a .icon,
.box a .icon {
    color: rgb(32,63,88);
    transition: color 0.3s ease;
}

/* =====================================
   FOOTER STYLES
   ===================================== */

#footer,
footer#footer,
.footer,
footer {
    background-color: rgb(32,63,88);
    background: rgb(32,63,88);
}

/* Footer text */
#footer,
footer#footer,
.footer,
footer,
#footer *,
footer#footer *,
.footer *,
footer * {
    color: #eeddc1;
}

/* Footer links */
#footer a,
footer#footer a,
.footer a,
footer a {
    color: #eeddc1;
    transition: color 0.3s ease;
}

#footer a:hover,
footer#footer a:hover,
.footer a:hover,
footer a:hover {
    color: #bf9959;
}

/* Footer headings */
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6,
footer#footer h1,
footer#footer h2,
footer#footer h3,
footer#footer h4,
footer#footer h5,
footer#footer h6,
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5,
.footer h6,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
    color: #eeddc1;
}

/* Footer buttons */
#footer .btn,
#footer button,
#footer input[type="submit"],
#footer input[type="button"],
#footer .button,
footer#footer .btn,
footer#footer button,
footer#footer input[type="submit"],
footer#footer input[type="button"],
footer#footer .button,
.footer .btn,
.footer button,
.footer input[type="submit"],
.footer input[type="button"],
.footer .button,
footer .btn,
footer button,
footer input[type="submit"],
footer input[type="button"],
footer .button {
    background-color: #bf9959;
    border-color: #bf9959;
    color: #ffffff;
    transition: all 0.3s ease;
}

#footer .btn:hover,
#footer button:hover,
#footer input[type="submit"]:hover,
#footer input[type="button"]:hover,
#footer .button:hover,
footer#footer .btn:hover,
footer#footer button:hover,
footer#footer input[type="submit"]:hover,
footer#footer input[type="button"]:hover,
footer#footer .button:hover,
.footer .btn:hover,
.footer button:hover,
.footer input[type="submit"]:hover,
.footer input[type="button"]:hover,
.footer .button:hover,
footer .btn:hover,
footer button:hover,
footer input[type="submit"]:hover,
footer input[type="button"]:hover,
footer .button:hover {
    background-color: #eeddc1;
    border-color: #eeddc1;
    color: rgb(32,63,88);
}

/* Footer icons */
#footer i,
#footer .icon,
footer#footer i,
footer#footer .icon,
.footer i,
.footer .icon,
footer i,
footer .icon {
    color: #eeddc1;
}

/* Social links */
#footer .social-links a,
footer#footer .social-links a,
.footer .social-links a,
footer .social-links a {
    color: #eeddc1;
    transition: color 0.3s ease;
}

#footer .social-links a:hover,
footer#footer .social-links a:hover,
.footer .social-links a:hover,
footer .social-links a:hover {
    color: #bf9959;
}

/* =====================================
   RESPONSIVE ADJUSTMENTS
   ===================================== */

@media (max-width: 768px) {
    #header .navmenu ul li a:hover,
    #header .navmenu ul li a:focus,
    header#header .navmenu ul li a:hover,
    header#header .navmenu ul li a:focus {
        padding: 4px 12px;
    }
    
    #header .navmenu ul li a.active,
    header#header .navmenu ul li a.active {
        padding: 4px 12px;
    }
}

/* =====================================
   UTILITY CLASSES
   ===================================== */

.text-primary { color: rgb(32,63,88); }
.text-secondary { color: #eeddc1; }
.text-accent { color: #bf9959; }

.bg-primary { background-color: rgb(32,63,88); }
.bg-secondary { background-color: #eeddc1; }
.bg-accent { background-color: #bf9959; }

.border-primary { border-color: rgb(32,63,88); }
.border-secondary { border-color: #eeddc1; }
.border-accent { border-color: #bf9959; }

/* =====================================
   HOMEPAGE-SPECIFIC STYLES
   ===================================== */

/* Hero Section Animations and Specific Styles */
@keyframes pulse-arrow {
  0% { transform: translateY(0) scale(1); opacity: 0.08; }
  60% { transform: translateY(6px) scale(1.08); opacity: 0.32; }
  100% { transform: translateY(0) scale(1); opacity: 0.08; }
}

.hero-down-arrow {
  animation: pulse-arrow 2.2s infinite alternate;
}

.hero-down-arrow:hover {
  color: var(--accent-color) !important;
  opacity: 0.5 !important;
}

/* Hero Down Arrow Specific Styling */
.hero-down-arrow.animate__animated.animate__fadeInUp.scrollto {
  display: inline-block;
  margin-top: 32px;
  font-size: 2.5em;
  color: var(--toc-link-color);
  background: none;
  border: none;
  box-shadow: none;
  opacity: 0.08;
}

.hero-down-arrow svg {
  display: block;
}

/* Hero Section Margin */
#hero.hero.section.index-background {
  margin-top: 70px;
}

/* Services Section Background */
#services.services.section.services-background {
  background: #ffffff url('../img/h7_deco2.png') no-repeat top right;
}

/* Why Section Background */
#why.services.section.why-background {
  background: #f9f9f9 url('../img/h7_deco6.png') no-repeat bottom right;
}

/* Partner Section Styling - Full Override */
#partner.call-to-action.section {
  background-color: rgb(32,63,88) !important;
  color: #eeddc1 !important;
  padding: 80px 0 !important;
}

section#partner.call-to-action.section {
  background-color: rgb(32,63,88) !important;
  color: #eeddc1 !important;
  padding: 80px 0 !important;
}

#partner h1,
#partner h2,
#partner h3,
#partner h4,
#partner h5,
#partner h6,
#partner p,
#partner .lead {
  color: #eeddc1 !important;
}

section#partner h1,
section#partner h2,
section#partner h3,
section#partner h4,
section#partner h5,
section#partner h6,
section#partner p,
section#partner .lead {
  color: #eeddc1 !important;
}

/* Partner Button Styling - Pink Background with Blue Text */
#partner .partner-btn,
section#partner .partner-btn,
#partner a.btn.partner-btn,
section#partner a.btn.partner-btn,
.partner-btn {
  color: rgb(32,63,88) !important;
  background-color: #eeddc1 !important;
  border: 2px solid #eeddc1 !important;
  border-radius: 50px !important;
  padding: 8px 20px !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
}

#partner .partner-btn:hover,
#partner .partner-btn:focus,
section#partner .partner-btn:hover,
section#partner .partner-btn:focus,
#partner a.btn.partner-btn:hover,
#partner a.btn.partner-btn:focus,
section#partner a.btn.partner-btn:hover,
section#partner a.btn.partner-btn:focus,
.partner-btn:hover,
.partner-btn:focus {
  color: rgb(32,63,88) !important;
  background-color: #eeddc1 !important;
  border-color: #eeddc1 !important;
}

#partner .partner-btn:active,
#partner .partner-btn.active,
section#partner .partner-btn:active,
section#partner .partner-btn.active,
#partner a.btn.partner-btn:active,
#partner a.btn.partner-btn.active,
section#partner a.btn.partner-btn:active,
section#partner a.btn.partner-btn.active,
.partner-btn:active,
.partner-btn.active {
  background-color: rgb(32,63,88) !important;
  color: #eeddc1 !important;
  border-color: rgb(32,63,88) !important;
}

/* Icon Colors for Services Sections */
#services .service-item .icon i.bi-car-front,
#services .service-item .icon i.bi-building,
#services .service-item .icon i.bi-geo-alt,
#services .service-item .icon i.bi-briefcase,
#services .service-item .icon i.bi-stars,
#services .service-item .icon i.bi-bell {
  color: var(--accent-color);
}

#why .service-item .icon i.bi-people,
#why .service-item .icon i.bi-geo-alt,
#why .service-item .icon i.bi-headset,
#why .service-item .icon i.bi-person-lines-fill,
#why .service-item .icon i.bi-currency-dollar,
#why .service-item .icon i.bi-building {
  color: var(--logo-color);
}

#about .service-item .icon i.bi-stars,
#about .service-item .icon i.bi-person-heart,
#about .service-item .icon i.bi-headset,
#about .service-item .icon i.bi-shield-check {
  color: var(--logo-color);
}

/* Contact Form Submit Button - Pink Background with Blue Text - High Specificity */
#contact .contact .php-email-form button[type=submit],
.contact section .php-email-form button[type=submit],
section.contact .php-email-form button[type=submit],
.contact .php-email-form button[type=submit] {
  color: rgb(32,63,88) !important;
  background-color: #eeddc1 !important;
  background: #eeddc1 !important;
  border: 2px solid #eeddc1 !important;
  border-radius: 50px !important;
  padding: 8px 20px !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  font-size: inherit !important;
  cursor: pointer !important;
}

#contact .contact .php-email-form button[type=submit]:hover,
#contact .contact .php-email-form button[type=submit]:focus,
.contact section .php-email-form button[type=submit]:hover,
.contact section .php-email-form button[type=submit]:focus,
section.contact .php-email-form button[type=submit]:hover,
section.contact .php-email-form button[type=submit]:focus,
.contact .php-email-form button[type=submit]:hover,
.contact .php-email-form button[type=submit]:focus {
  color: rgb(32,63,88) !important;
  background-color: #eeddc1 !important;
  background: #eeddc1 !important;
  border-color: #eeddc1 !important;
}

#contact .contact .php-email-form button[type=submit]:active,
#contact .contact .php-email-form button[type=submit].active,
.contact section .php-email-form button[type=submit]:active,
.contact section .php-email-form button[type=submit].active,
section.contact .php-email-form button[type=submit]:active,
section.contact .php-email-form button[type=submit].active,
.contact .php-email-form button[type=submit]:active,
.contact .php-email-form button[type=submit].active {
  background-color: rgb(32,63,88) !important;
  background: rgb(32,63,88) !important;
  color: #eeddc1 !important;
  border-color: rgb(32,63,88) !important;
}

/* =====================================
   SCROLLED HEADER - NO TRANSPARENCY
   ===================================== */

/* Remove transparency from scrolled header */
.scrolled #header,
.scrolled header#header,
.scrolled .header,
.scrolled header.header,
.scrolled #header.header,
.scrolled header#header.header {
    background-color: rgb(32,63,88) !important;
    background: rgb(32,63,88) !important;
    --background-color: rgb(32,63,88) !important;
    box-shadow: 0 4px 12px rgba(238, 221, 193, 0.3) !important;
}

/* Ensure no transparency variables override our styles */
body.scrolled #header,
body.scrolled header#header,
body.scrolled .header,
body.scrolled header.header {
    background-color: rgb(32,63,88) !important;
    background: rgb(32,63,88) !important;
    --background-color: rgb(32,63,88) !important;
}

/* =====================================
   TERMS PAGE STYLES
   ===================================== */

/* Terms page content - remove centering */
.terms-cooperation .container {
    text-align: left;
}

.terms-cooperation .section-title {
    text-align: left;
    margin-bottom: 40px;
}

.terms-cooperation .terms-content {
    text-align: left;
}

/* Email contact section */
.terms-cooperation .contact-email {
    background-color: #f9f9f9;
    padding: 30px;
    border-radius: 15px;
    border: 2px solid #eeddc1;
    margin: 30px 0;
}

.terms-cooperation .email-container {
    display: flex;
    align-items: center;
    gap: 15px;
}

.terms-cooperation .contact-email .bi-envelope-fill {
    font-size: 2.5rem;
    color: rgb(32,63,88);
    flex-shrink: 0;
}

.terms-cooperation .email-info {
    flex-grow: 1;
}

.terms-cooperation .email-link {
    color: rgb(32,63,88);
    text-decoration: none;
    font-weight: 600;
    font-size: 1.2rem;
}

.terms-cooperation .email-link:hover {
    color: #bf9959;
    text-decoration: underline;
}

.terms-cooperation .copy-email-btn {
    background-color: #eeddc1;
    border: 1px solid rgb(32,63,88);
    color: rgb(32,63,88);
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.terms-cooperation .copy-email-btn:hover {
    background-color: rgb(32,63,88);
    color: #eeddc1;
}

.terms-cooperation .copy-email-btn i {
    font-size: 1.1rem;
}

.terms-cooperation .text-muted {
    color: #666 !important;
    font-size: 0.9rem;
}

/* Requirements list */
.terms-cooperation .requirements-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.terms-cooperation .requirements-list li {
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
    padding-left: 30px;
    font-size: 1rem;
}

.terms-cooperation .requirements-list li:before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 12px;
    color: #bf9959;
    font-weight: bold;
    font-size: 1.2em;
}

.terms-cooperation .requirements-list li:last-child {
    border-bottom: none;
}

.terms-cooperation .requirements-list li strong {
    color: rgb(32,63,88);
}

/* Alert/info box */
.terms-cooperation .alert {
    background-color: #e8f4f8;
    border: 1px solid #bee5eb;
    border-radius: 10px;
    padding: 25px;
    color: rgb(32,63,88);
    margin-top: 30px;
}

.terms-cooperation .alert h5 {
    color: rgb(32,63,88);
    margin-bottom: 15px;
    font-weight: 600;
}

.terms-cooperation .alert i {
    color: #bf9959;
    margin-right: 8px;
}

.terms-cooperation .alert p {
    margin-bottom: 0;
    line-height: 1.6;
}

/* =====================================
   CONTACT PAGE STYLES
   ===================================== */

.contact .info-item a {
    color: rgb(32,63,88);
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact .info-item a:hover {
    color: #bf9959;
    text-decoration: underline;
}

.contact .info-item p {
    margin-bottom: 0;
    font-size: 1rem;
}

/* Style contact icons */
.contact .info-item i {
    color: rgb(32,63,88);
    font-size: 1.5rem;
    margin-right: 15px;
    margin-top: 5px;
}

.contact .info-item h3 {
    color: rgb(32,63,88);
    font-weight: 600;
    margin-bottom: 10px;
}

/* Map section styling - outside main, sticks to footer */
.map-section {
    margin: 0;
    padding: 0;
    border-top: 1px solid #e9ecef;
}

/* Ensure no spacing between main and map */
.page-template-page-contact .main {
    margin-bottom: 0;
    padding-bottom: 0;
}

.map-section .container-fluid {
    padding: 0 !important;
    margin: 0;
}

.map-section iframe {
    border: none;
    display: block;
    filter: grayscale(20%);
    transition: filter 0.3s ease;
    margin: 0;
    padding: 0;
}

.map-section iframe:hover {
    filter: grayscale(0%);
}

/* Responsive map */
@media (max-width: 768px) {
    .map-section iframe {
        height: 300px;
    }
}

/* =====================================
   FIX FOR TEXT CLIPPING IN SERVICE CARDS
   Addresses text clipping issues on 1024px screens
   ===================================== */

/* Fix for service card headings on medium screens (1024px laptops) */
@media (max-width: 1199px) and (min-width: 992px) {
    .services .service-card h3,
    .services .service-item h3,
    .services .service h3,
    #services .service-card h3,
    #services .service-item h3,
    #services .service h3,
    .services-section .service-card h3,
    .services-section .service-item h3,
    .services-section .service h3 {
        font-size: 18px !important;
        line-height: 1.3 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
}

/* Additional fix for smaller tablets and large phones */
@media (max-width: 991px) and (min-width: 768px) {
    .services .service-card h3,
    .services .service-item h3,
    .services .service h3,
    #services .service-card h3,
    #services .service-item h3,
    #services .service h3,
    .services-section .service-card h3,
    .services-section .service-item h3,
    .services-section .service h3 {
        font-size: 16px !important;
        line-height: 1.3 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
}

/* Fix for mobile devices */
@media (max-width: 767px) {
    .services .service-card h3,
    .services .service-item h3,
    .services .service h3,
    #services .service-card h3,
    #services .service-item h3,
    #services .service h3,
    .services-section .service-card h3,
    .services-section .service-item h3,
    .services-section .service h3 {
        font-size: 14px !important;
        line-height: 1.2 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
}
@media (max-width: 767px) {
    .footer-nav .list-unstyled {
            margin-bottom: 0px !important;
    }
}


@media (max-width: 767px) {
  .services .service-card, .services .service-item, .services .service, #services .service-card, #services .service-item, #services .service, .services-section .service-card, .services-section .service-item, .services-section .service {
    text-align: center;
  }
}

/* Ensure service cards don't overflow horizontally */
.services .service-card,
.services .service-item,
.services .service,
#services .service-card,
#services .service-item,
#services .service,
.services-section .service-card,
.services-section .service-item,
.services-section .service {
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
}

/* Replace decorative line with pink underline on mobile */
@media (max-width: 767px) {
    .section-title h2::after {
        display: none !important;
    }
    
    .section-title h2 {
        border-bottom: 2px solid #eeddc1 !important;
        padding-bottom: 8px !important;
        display: inline-block !important;
    }
}

/* =====================================
   ЯЗЫКОВОЙ ПЕРЕКЛЮЧАТЕЛЬ - СТИЛИ
   ===================================== */

.language-switcher-wrapper {
    margin: 0 15px;
    display: flex;
    align-items: center;
}

.infinitylux-lang-switcher,
.trp-language-switcher {
    display: flex;
    align-items: center;
    gap: 3px;
    border: 1px solid rgba(238, 221, 193, 0.3);
    border-radius: 8px;
    padding: 3px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
}

.infinitylux-lang-switcher .trp-ls-language-name,
.trp-language-switcher .trp-ls-language-name {
    color: var(--nav-color, #eeddc1) !important;
    text-decoration: none !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    transition: all 0.3s ease !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    display: inline-block !important;
    min-width: 35px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.infinitylux-lang-switcher .trp-ls-language-name:before,
.trp-language-switcher .trp-ls-language-name:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s ease;
}

/* Стили для hover эффекта - высокая специфичность */
#header .infinitylux-lang-switcher .trp-ls-language-name:hover,
#header .trp-language-switcher .trp-ls-language-name:hover,
header .infinitylux-lang-switcher .trp-ls-language-name:hover,
header .trp-language-switcher .trp-ls-language-name:hover,
.infinitylux-lang-switcher .trp-ls-language-name:hover,
.trp-language-switcher .trp-ls-language-name:hover {
    color: rgb(32,63,88) !important; /* Синий цвет сайта */
    background-color: #eeddc1 !important; /* Розовый цвет сайта */
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(238, 221, 193, 0.5) !important;
}

.infinitylux-lang-switcher .trp-ls-language-name:hover:before,
.trp-language-switcher .trp-ls-language-name:hover:before {
    left: 100%;
}

/* Стили для активного языка - высокая специфичность */
#header .infinitylux-lang-switcher .trp-ls-language-name.current-language,
#header .trp-language-switcher .trp-ls-language-name.current-language,
header .infinitylux-lang-switcher .trp-ls-language-name.current-language,
header .trp-language-switcher .trp-ls-language-name.current-language,
.infinitylux-lang-switcher .trp-ls-language-name.current-language,
.trp-language-switcher .trp-ls-language-name.current-language {
    color: rgb(32,63,88) !important; /* Синий цвет сайта */
    background-color: #eeddc1 !important; /* Розовый цвет сайта */
    font-weight: 700 !important;
    box-shadow: 0 2px 8px rgba(238, 221, 193, 0.4) !important;
}

/* Мобильные стили */
@media (max-width: 1200px) {
    .language-switcher-wrapper {
        margin: 0 10px;
    }
}

@media (max-width: 768px) {
    .language-switcher-wrapper {
        margin: 0 5px;
        order: -1; /* Показываем переключатель раньше в мобильной версии */
    }
    
    .infinitylux-lang-switcher .trp-ls-language-name,
    .trp-language-switcher .trp-ls-language-name {
        padding: 4px 8px !important;
        font-size: 12px !important;
        min-width: 30px;
    }
}

/* Анимация загрузки переключателя */
.infinitylux-lang-switcher {
    animation: langSwitcherFadeIn 0.5s ease-out;
}

@keyframes langSwitcherFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Стили для различных состояний */
.infinitylux-lang-switcher.loading .trp-ls-language-name {
    opacity: 0.6;
    pointer-events: none;
}

.infinitylux-lang-switcher .trp-ls-language-name:active {
    transform: translateY(0) scale(0.95) !important;
}

/* Улучшенная читаемость на темном фоне */
#header .infinitylux-lang-switcher .trp-ls-language-name,
#header .trp-language-switcher .trp-ls-language-name,
header .infinitylux-lang-switcher .trp-ls-language-name,
header .trp-language-switcher .trp-ls-language-name {
    color: var(--nav-color, #eeddc1) !important;
}

/* Дополнительные стили для совместимости с TranslatePress */
.trp_language_switcher_shortcode .trp-language-switcher {
    position: relative;
    width: auto;
    display: inline-block;
    padding: 0;
    border: none;
    border-radius: 4px;
    margin: 0 10px;
}

.trp-language-switcher > div > a {
    color: var(--nav-color, #eeddc1);
    text-decoration: none;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    font-size: 16px;
    transition: all 0.3s ease;
}

.trp-language-switcher > div > a:hover {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.trp-language-switcher > div > a > img {
    margin-right: 8px;
    margin-left: 0;
    width: 20px;
    height: auto;
    border-radius: 2px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Стили для выпадающего списка */
.trp-language-switcher .trp-ls-shortcode-language {
    background-color: var(--header-bg, #203f58);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.trp-language-switcher .trp-ls-shortcode-language a:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* =====================================
   Стили для WPForms
   ===================================== */
/* Убираем отступ сверху у контейнера */
div.wpforms-container-full:not(:empty) {
    margin-top: 0 !important;
}

/* =====================================
   Стили для кнопок отправки WPForms
   ===================================== */
.wpforms-submit,
.wpforms-form button[type=submit],
.wpforms-form .wpforms-page-button {
    background-color: #eeddc1 !important;
    background-image: none !important;
    border: 2px solid #eeddc1 !important;
    border-radius: 50px !important;
    color: rgb(32, 63, 88) !important;
    font-weight: 400 !important;
    padding: 8px 20px !important;
    text-align: center !important;
    text-decoration: none !important;
    display: block !important;
    font-size: 16px !important;
    margin: 10px auto 0 auto !important;
    cursor: pointer !important;
    transition: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    line-height: 1.5 !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: auto !important;
    min-width: 135px !important;
}

/* Стили для полей ввода WPForms */
.wpforms-form input[type=text],
.wpforms-form input[type=email],
.wpforms-form input[type=tel],
.wpforms-form input[type=url],
.wpforms-form input[type=number],
.wpforms-form textarea,
.wpforms-form select {
    border: 1px solid #ced4da !important;
    border-radius: 0.25rem !important;
    padding: 0.5rem 0.75rem !important;
    width: 100% !important;
    font-size: 14px !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

/* Стили для фокуса на полях ввода */
.wpforms-form input[type=text]:focus,
.wpforms-form input[type=email]:focus,
.wpforms-form input[type=tel]:focus,
.wpforms-form input[type=url]:focus,
.wpforms-form input[type=number]:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus {
    border-color: var(--accent-color) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(191, 153, 89, 0.25) !important;
}

/* Сброс любых стилей при наведении, активности и фокусе для кнопки */
.wpforms-submit:hover,
.wpforms-submit:active,
.wpforms-submit:focus,
.wpforms-form button[type=submit]:hover,
.wpforms-form button[type=submit]:active,
.wpforms-form button[type=submit]:focus,
.wpforms-form .wpforms-page-button:hover,
.wpforms-form .wpforms-page-button:active,
.wpforms-form .wpforms-page-button:focus,
#submit.comment-submit:hover,
#submit.comment-submit:active,
#submit.comment-submit:focus {
    background-color: #eeddc1 !important;
    background-image: none !important;
    border-color: #eeddc1 !important;
    color: rgb(32, 63, 88) !important;
    transform: none !important;
    outline: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
}
