/* ==========================================================================

Floating Card Component
========================================================================== */
.floating-card {
padding: 32px 40px !important;
background: #ffffff !important;
border-radius: 8px !important;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06) !important;
}

.floating-card h3 {
font-size: 22px !important;
margin-bottom: 4px !important;
}

.floating-card .card-subtitle {
font-size: 13px !important;
margin-bottom: 20px !important;
color: var(--color-gray-text) !important;
}

.floating-card .form-group {
margin-bottom: 16px !important;
display: flex !important;
flex-direction: column !important;
}

.floating-card .form-label {
display: block !important;
font-size: 13px !important;
font-weight: 700 !important;
color: var(--color-navy) !important;
margin-bottom: 6px !important;
text-align: right !important; /* Preserved for RTL layout layout compatibility */
}

/* Third-party plugin override (Contact Form 7 requires forcing layout resets) */
.wpcf7-form-control-wrap {
display: block !important;
margin: 0 !important;
padding: 0 !important;
}

.floating-card .form-input,
.floating-card .form-select,
.floating-card .form-textarea {
width: 100% !important;
font-family: inherit !important;
font-size: 14px !important;
border: 1px solid #dcdcdc !important;
border-radius: 6px !important;
background-color: #ffffff !important;
transition: all 0.25s ease-in-out !important;
box-sizing: border-box !important;
}

.floating-card .form-input,
.floating-card .form-select {
height: 44px !important;
padding: 0 16px !important;
}

.floating-card .form-textarea {
min-height: 120px !important;
padding: 12px 16px !important;
resize: vertical !important;
}

.floating-card .form-input:focus,
.floating-card .form-select:focus,
.floating-card .form-textarea:focus {
border-color: var(--color-orange-primary) !important;
outline: none !important;
box-shadow: 0 0 0 3px rgba(232, 96, 28, 0.15) !important;
}

.floating-card .btn--full {
width: 100% !important;
height: 48px !important;
margin-top: 12px !important;
font-size: 15px !important;
font-weight: 700 !important;
border-radius: 6px !important;
cursor: pointer !important;
}

.floating-card .grid {
gap: 16px 24px !important;
margin-bottom: 0 !important;
}

/* ==========================================================================
2. Buttons & Icon Links
========================================================================== */
.btn--white-outline {
border: 1px solid rgba(255, 255, 255, 0.3) !important;
color: #ffffff !important;
background: transparent !important;
transition: all 0.25s ease !important;
display: inline-flex !important;
align-items: center !important;
gap: 8px !important;
}

.btn--white-outline svg {
stroke: currentColor !important;
fill: none !important;
transition: all 0.25s ease !important;
}

.btn--white-outline:hover {
background: #ffffff !important;
color: var(--color-navy) !important;
border-color: #ffffff !important;
}

.btn--white-outline:hover svg {
stroke: var(--color-navy) !important;
}

/* ==========================================================================
3. Footer Social Icons
========================================================================== */
.footer-social {
display: flex !important;
gap: 12px !important;
margin-top: 16px !important;
}

.footer-social a {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: 38px !important;
height: 38px !important;
border-radius: 50% !important;
transition: all 0.25s ease-in-out !important;
}

.footer-social a svg {
width: 18px !important;
height: 18px !important;
fill: currentColor !important;
display: block !important;
}

/* Contextual color updates based on location wrapper */
.site-footer .footer-social a {
background: rgba(255, 255, 255, 0.08) !important;
color: rgba(255, 255, 255, 0.7) !important;
}

.site-footer .footer-social a:hover {
background: var(--color-orange-primary) !important;
color: #ffffff !important;
transform: translateY(-3px) !important;
box-shadow: 0 4px 12px rgba(232, 96, 28, 0.3) !important;
}

main .footer-social a {
background: rgba(13, 43, 78, 0.06) !important;
color: #0D2B4E !important;
}

main .footer-social a:hover {
background: var(--color-orange-primary) !important;
color: #ffffff !important;
transform: translateY(-3px) !important;
box-shadow: 0 4px 12px rgba(232, 96, 28, 0.2) !important;
}

/* ==========================================================================
4. Header & Navigation (Desktop & Mobile Hamburger)
========================================================================== */
.site-header {
z-index: 9999 !important;
}

.hamburger {
display: none;
z-index: 999999 !important; /* Ultimate z-index height to prevent overlap /
position: relative !important;
background: transparent !important;
border: none !important;
cursor: pointer !important;
padding: 8px !important;
pointer-events: auto !important; / Forces clicks directly to target button */
}

.hamburger span {
display: block !important;
width: 25px !important;
height: 3px !important;
background-color: #0D2B4E !important;
margin: 5px 0 !important;
transition: all 0.3s ease-in-out !important;
}

/* Active transform states */
.hamburger.active span:nth-child(1) {
transform: translateY(8px) rotate(45deg) !important;
background-color: #E8601C !important;
}

.hamburger.active span:nth-child(2) {
opacity: 0 !important;
}

.hamburger.active span:nth-child(3) {
transform: translateY(-8px) rotate(-45deg) !important;
background-color: #E8601C !important;
}

/* ==========================================================================
5. Mobile Slide-out Menu
========================================================================== */
.mobile-menu {
position: fixed !important;
top: 0 !important;
left: -100% !important; /* Forces uniform off-screen position */
right: auto !important; /* Overrides any conflicting RTL templates */
width: 100% !important;
height: 100vh !important;
background: #ffffff !important;
z-index: 999990 !important;
padding: 100px 24px 40px !important;
box-sizing: border-box !important;
transition: left 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
display: flex !important;
flex-direction: column !important;
gap: 20px !important;
overflow-y: auto !important;
box-shadow: 10px 0 30px rgba(13, 43, 78, 0.15) !important;
}

.mobile-menu.active {
left: 0 !important;
right: auto !important;
}

.mobile-nav-item {
border-bottom: 1px solid #E2E8F0 !important;
padding-bottom: 12px !important;
}

.mobile-nav-link {
font-size: 18px !important;
font-weight: 700 !important;
color: #0D2B4E !important;
text-decoration: none !important;
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
}

.mobile-submenu {
display: none;
padding-right: 16px !important; /* Preserved for RTL layout alignment */
margin-top: 8px !important;
flex-direction: column !important;
gap: 10px !important;
}

.mobile-submenu.open {
display: flex !important;
}

.mobile-submenu a {
font-size: 15px !important;
color: #334155 !important;
text-decoration: none !important;
font-weight: 600 !important;
}

/* ==========================================================================
6. Responsive Media Queries
========================================================================== */
@media (max-width: 991px) {
.hamburger {
display: block !important;
}
}