/* Custom Theme Overrides */
/* Complete theme color replacement: #4DB7FE → Gradient (#0074FD → #0059B3) */

/* ========================================
   Logo Styling - Responsive
   ======================================== */

/* Desktop Logo - 40px base */
.logo img {
    max-height: 40px;
    width: auto;
    object-fit: contain;
    transition: all 0.3s ease;
}

/* Show desktop logo, hide mobile logo by default */
.logo-desktop {
    display: inline-block !important;
}

.logo-mobile {
    display: none !important;
}

/* Tablet Logo - 35px */
@media only screen and (max-width: 991px) and (min-width: 768px) {
    .logo img {
        max-height: 35px;
    }
}

/* Mobile Logo - 30px and switch to mobile version */
@media only screen and (max-width: 767px) {
    .logo img {
        max-height: 30px;
    }

    /* Hide desktop logo, show mobile logo */
    .logo-desktop {
        display: none !important;
    }

    .logo-mobile {
        display: inline-block !important;
    }
}

/* Small Mobile - 28px */
@media only screen and (max-width: 480px) {
    .logo img {
        max-height: 28px;
    }
}

/* Footer Logo */
.footer-logo img {
    max-height: 40px;
    width: auto;
    object-fit: contain;
}

@media only screen and (max-width: 767px) {
    .footer-logo img {
        max-height: 35px;
    }
}

/* ========================================
   Header Alignment & Navigation
   ======================================== */

/* Ensure all header content is vertically centered */
.menu-wrapper {
    align-items: center !important;
}

.left-content {
    align-items: center !important;
}

/* Vertically center logo and navigation */
.logo {
    display: flex;
    align-items: center;
    margin-right: 30px;
}

.main-menu nav ul {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

.main-menu nav ul li a {
    display: flex;
    align-items: center;
    height: 100%;
}

/* Vertically center buttons */
.buttons ul {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

.button-header {
    display: flex;
    align-items: center;
}

/* ========================================
   COMPLETE Theme Color Updates - Gradient
   From: #4DB7FE
   To: Linear Gradient (#0074FD → #0059B3)
   ======================================== */

/* Back to top button */
#back-top {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

#back-top a {
    color: #fff !important;
}

/* All Primary Buttons */
.btn {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
    border-color: #0074FD !important;
}

.btn:hover {
    background: linear-gradient(135deg, #0059B3 0%, #0074FD 100%) !important;
    background-color: #0059B3 !important;
}

/* Social icons */
.footer-social a i,
.social-icon a i {
    color: #0074FD !important;
}

.footer-social a:hover i,
.social-icon a:hover i {
    color: #0059B3 !important;
}

/* Border buttons */
.border-btn {
    border-color: #0074FD !important;
    color: #0074FD !important;
}

.border-btn:hover {
    color: #0074FD !important;
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Header buttons */
.header-btn:hover {
    color: #0074FD !important;
}

.header-btn2 {
    border: 2px solid #0074FD !important;
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

.header-btn2:hover {
    border: 2px solid #0074FD !important;
    background: linear-gradient(135deg, #0059B3 0%, #0074FD 100%) !important;
}

.header-sticky.sticky-bar .header-btn2:hover {
    border: 2px solid #0074FD !important;
}

/* Submit buttons */
.submit-btn:hover {
    color: #0074FD !important;
}

.submit-btn2 {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

.submit-btn2:hover {
    color: #0074FD !important;
    background: #fff !important;
}

.submit-btn3 {
    color: #0074FD !important;
    border-color: #0074FD !important;
}

.submit-btn3:hover {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    color: #fff !important;
}

/* Boxed buttons */
.boxed-btn {
    border: 1px solid #0074FD !important;
    color: #0074FD !important;
}

.boxed-btn:hover {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    border: 1px solid #0074FD !important;
    color: #fff !important;
}

/* Navigation hover */
.header-area .main-header .main-menu ul li:hover > a {
    color: #0074FD !important;
}

.header-area .main-header .main-menu ul li.active > a {
    color: #0074FD !important;
}

/* Sticky header */
.header-sticky.sticky-bar .header-btn {
    color: #0074FD !important;
}

/* Categories */
.all-cat-color1 {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

.single-cat i {
    color: #0074FD !important;
}

.single-cat:hover {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

/* Category area */
.category-area .all-cat-color1 {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Location hover effects */
.great-stuffs .single-location:hover h3 a {
    color: #0074FD !important;
}

/* Popular location buttons */
.popular-location .single-location .location-details .location-btn {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

.popular-location .single-location .location-details .location-btn:hover {
    color: #0074FD !important;
    background: #fff !important;
}

/* Properties area */
.popular-directorya-area .single-cat {
    color: #0074FD !important;
}

.popular-directorya-area .properties .properties-caption h3 a:hover,
.popular-directorya-area .properties .properties-caption h3 .properties-card {
    color: #0074FD !important;
}

.popular-directorya-area .properties .properties-caption P span {
    color: #0074FD !important;
}

.popular-directorya-area .properties .properties-caption i {
    color: #0074FD !important;
}

.popular-directorya-area .properties .properties-footer .favorite i {
    color: #0074FD !important;
}

/* Pagination */
.pagination .page-item.active .page-link {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
    border-color: #0074FD !important;
}

.pagination .page-item .page-link:hover {
    color: #0074FD !important;
    border-color: #0074FD !important;
}

/* Forms */
.form-icon button {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

.email_icon {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Links */
a:hover {
    color: #0074FD !important;
}

/* Form inputs focus */
input:focus,
textarea:focus,
select:focus {
    border-color: #0074FD !important;
}

/* Select Categories */
.select-Categories select {
    border-color: #0074FD !important;
}

.select-Categories select:focus {
    border-color: #0059B3 !important;
}

/* Slider buttons and controls */
.slider-area .slider-btn,
.slider-btn {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

.slider-area .slider-btn:hover,
.slider-btn:hover {
    background: linear-gradient(135deg, #0059B3 0%, #0074FD 100%) !important;
}

/* Testimonial area */
.testimonial-area .h1-testimonial-active .owl-dots .owl-dot.active {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Contact form */
.contact-form button[type="submit"] {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

/* Directory Details */
.directory-details-area .rating i {
    color: #0074FD !important;
}

/* Review area */
.review-area .single-review .rating i {
    color: #0074FD !important;
}

/* Tabs */
.nav-tabs .nav-link.active {
    border-color: #0074FD !important;
    color: #0074FD !important;
}

.nav-tabs .nav-link:hover {
    color: #0074FD !important;
}

/* Listing categories */
.listing-category a:hover {
    color: #0074FD !important;
}

/* Price range slider */
.ui-slider-horizontal .ui-slider-range {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

.ui-slider .ui-slider-handle {
    background: #0074FD !important;
    border-color: #0074FD !important;
}

/* Search button - Professional Centered Styling */
.search-box button,
.search-box .search-submit-btn,
.search-form button,
.search-form .search-submit-btn,
.search-form a {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 16px 32px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    letter-spacing: 0.3px !important;
    min-height: 50px !important;
    white-space: nowrap !important;
}

.search-box button:hover,
.search-box .search-submit-btn:hover,
.search-form button:hover,
.search-form .search-submit-btn:hover,
.search-form a:hover {
    background: linear-gradient(135deg, #0059B3 0%, #0074FD 100%) !important;
    transform: translateY(-2px) !important;
}

.search-box button i,
.search-submit-btn i,
.search-form button i,
.search-form a i {
    font-size: 15px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Hero section */
.hero-area .hero-btn {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Section titles with color accent */
.section-tittle span {
    color: #0074FD !important;
}

/* Icons and icon backgrounds */
.icon-bg {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Hover effects on cards */
.single-listing:hover .listing-badge {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Tags */
.tags a:hover {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    border-color: #0074FD !important;
}

/* Breadcrumb active */
.breadcrumb .breadcrumb-item.active {
    color: #0074FD !important;
}

/* Mobile menu */
.slicknav_nav a:hover {
    color: #0074FD !important;
}

/* Nice Select */
.nice-select:focus,
.nice-select.open {
    border-color: #0074FD !important;
}

.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {
    background-color: rgba(0, 116, 253, 0.1) !important;
    color: #0074FD !important;
}

/* Owl Carousel dots */
.owl-dots .owl-dot.active span,
.owl-dots .owl-dot:hover span {
    background: #0074FD !important;
}

/* Slick slider */
.slick-dots li.slick-active button,
.slick-dots li button:hover {
    background: #0074FD !important;
}

/* Progress bars */
.progress-bar {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Badges */
.badge-primary {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* List markers */
.list-style li:before {
    color: #0074FD !important;
}

/* Timeline */
.timeline:before {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Loading spinner */
.spinner-border {
    border-color: #0074FD !important;
    border-right-color: transparent !important;
}

/* Tooltips */
.tooltip-inner {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Dropdown hover */
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(0, 116, 253, 0.1) !important;
    color: #0074FD !important;
}

/* Alerts */
.alert-primary {
    background-color: rgba(0, 116, 253, 0.15) !important;
    border-color: #0074FD !important;
    color: #0059B3 !important;
}

/* Custom checkboxes and radios */
.custom-control-input:checked ~ .custom-control-label::before {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    border-color: #0074FD !important;
}

/* Scrollbar */
::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, #0059B3 0%, #0074FD 100%) !important;
}

/* Selection color */
::selection {
    background: rgba(0, 116, 253, 0.3) !important;
    color: #000 !important;
}

::-moz-selection {
    background: rgba(0, 116, 253, 0.3) !important;
    color: #000 !important;
}

/* Map markers and pins */
.map-marker {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Star ratings */
.rating i,
.review-rating i {
    color: #0074FD !important;
}

/* Pricing tables */
.pricing-table.featured {
    border-color: #0074FD !important;
}

.pricing-table .price {
    color: #0074FD !important;
}

/* Feature boxes */
.feature-box:hover {
    border-color: #0074FD !important;
}

.feature-box:hover i {
    color: #0074FD !important;
}

/* Counter section */
.counter-item i {
    color: #0074FD !important;
}

/* Video popup button */
.video-btn {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Gallery hover overlay */
.gallery-item:hover .overlay {
    background: rgba(0, 116, 253, 0.9) !important;
}

/* Footer widgets */
.footer-widget .widget-title {
    color: #0074FD !important;
}

/* Newsletter */
.newsletter-form button {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

/* Text colors */
.text-primary {
    color: #0074FD !important;
}

.bg-primary {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

/* Border colors */
.border-primary {
    border-color: #0074FD !important;
}

/* Gradient background utility */
.bg-gradient-primary {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

/* Additional specific overrides from style.css */
.genric-btn.primary {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
}

.genric-btn.primary:hover {
    background: linear-gradient(135deg, #0059B3 0%, #0074FD 100%) !important;
}

/* Ensure all background instances use gradient */
[style*="background: #4DB7FE"],
[style*="background-color: #4DB7FE"],
[style*="background:#4DB7FE"] {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    background-color: #0074FD !important;
}

/* Ensure all color instances use new color */
[style*="color: #4DB7FE"],
[style*="color:#4DB7FE"] {
    color: #0074FD !important;
}

/* Ensure all border instances use new color */
[style*="border-color: #4DB7FE"],
[style*="border-color:#4DB7FE"] {
    border-color: #0074FD !important;
}

/* ========================================
   PROFESSIONAL MOBILE MENU DESIGN
   ======================================== */

/* Mobile Menu (SlickNav) Styling */
.slicknav_menu {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
    padding: 10px 15px !important;
}

.slicknav_btn {
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-radius: 5px !important;
    padding: 8px 10px !important;
    margin: 5px 10px 5px 0 !important;
}

.slicknav_icon-bar {
    background-color: #fff !important;
    height: 3px !important;
    border-radius: 2px !important;
}

.slicknav_nav {
    background: #fff !important;
    margin-top: 10px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
}

.slicknav_nav a {
    padding: 15px 20px !important;
    color: #333 !important;
    font-weight: 500 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    transition: all 0.3s ease !important;
}

.slicknav_nav a:hover {
    background: linear-gradient(135deg, rgba(0, 116, 253, 0.1) 0%, rgba(0, 89, 179, 0.1) 100%) !important;
    color: #0074FD !important;
    padding-left: 25px !important;
}

.slicknav_nav .slicknav_arrow {
    color: #0074FD !important;
    font-size: 18px !important;
}

.slicknav_nav ul {
    background: #f8f9fa !important;
}

.slicknav_nav ul a {
    padding-left: 35px !important;
    font-size: 14px !important;
}

/* Mobile Menu Brand/Logo Area */
.slicknav_brand {
    display: flex !important;
    align-items: center !important;
    padding: 5px 0 !important;
}

/* ========================================
   COMPREHENSIVE RESPONSIVE DESIGN
   ======================================== */

/* Base Container Improvements */
.container {
    padding-left: 15px;
    padding-right: 15px;
}

/* Header Responsive */
@media only screen and (max-width: 991px) {
    .header-area .main-header {
        padding: 10px 0 !important;
    }

    .menu-wrapper {
        padding: 0 10px !important;
    }

    .buttons {
        margin-top: 10px;
    }

    .button-header .header-btn {
        padding: 8px 15px !important;
        font-size: 14px !important;
    }

    .button-header .header-btn2 {
        padding: 8px 15px !important;
        font-size: 14px !important;
    }
}

@media only screen and (max-width: 767px) {
    .buttons ul {
        flex-direction: column;
        gap: 10px;
    }

    .button-header {
        flex-direction: column;
        width: 100%;
    }

    .button-header .header-btn,
    .button-header .header-btn2 {
        width: 100%;
        text-align: center;
        margin: 0 0 10px 0 !important;
    }
}

/* Hero/Slider Section Responsive */
.slider-height2 {
    min-height: 300px !important;
}

@media only screen and (max-width: 767px) {
    .slider-height2 {
        min-height: 250px !important;
        padding: 40px 0 !important;
    }

    .hero-caption h2 {
        font-size: 28px !important;
        line-height: 1.3 !important;
    }

    .hero-caption p {
        font-size: 14px !important;
    }
}

/* Listing Grid Responsive */
.properties {
    margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
    .properties-img {
        height: 250px !important;
        overflow: hidden;
    }

    .properties-img img {
        height: 100%;
        object-fit: cover;
        width: 100%;
    }

    .properties-caption h3 {
        font-size: 18px !important;
    }

    .properties-footer {
        flex-direction: column;
        gap: 15px;
    }

    .restaurant-name,
    .contact {
        width: 100%;
    }
}

/* Footer Responsive */
@media only screen and (max-width: 767px) {
    .footer-area .row > div {
        margin-bottom: 30px;
    }

    .footer-tittle h4 {
        font-size: 18px !important;
    }

    .footer-form input {
        font-size: 14px !important;
    }
}

/* Form Responsive */
@media only screen and (max-width: 767px) {
    .select-form select,
    .select-form .nice-select {
        width: 100% !important;
        margin-bottom: 15px;
    }

    .select-form .btn {
        width: 100% !important;
        margin-top: 10px;
    }
}

/* Search/Filter Section Responsive */
@media only screen and (max-width: 991px) {
    .count {
        margin-bottom: 15px !important;
        text-align: center;
    }

    .default-select {
        margin-bottom: 20px;
    }

    #showFiltersBtn {
        width: 100%;
        margin-bottom: 20px;
        background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%) !important;
        border: none;
        color: #fff;
        padding: 12px 20px;
        border-radius: 5px;
        font-weight: 600;
        transition: all 0.3s ease;
    }

    #showFiltersBtn:hover {
        background: linear-gradient(135deg, #0059B3 0%, #0074FD 100%) !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 10px rgba(0, 116, 253, 0.3);
    }
}

/* Business Details Page Responsive */
@media only screen and (max-width: 767px) {
    .directory-details-area .details-img {
        height: 250px !important;
        overflow: hidden;
    }

    .directory-details-area .details-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* Pagination Responsive */
@media only screen and (max-width: 767px) {
    .pagination {
        flex-wrap: wrap;
        justify-content: center;
    }

    .pagination .page-item {
        margin: 3px;
    }

    .pagination .page-link {
        padding: 8px 12px !important;
        font-size: 14px !important;
    }
}

/* ========================================
   PERFORMANCE OPTIMIZATIONS
   ======================================== */

/* Hardware Acceleration */
.properties,
.btn,
.header-btn,
.header-btn2,
.slider-btn,
.properties-img,
.slicknav_nav a {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Image Loading Optimization */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Fix Lazy Loading - Ensure Images Show */
img[loading="lazy"] {
    opacity: 1 !important;
    display: block !important;
}

/* Smooth fade-in for lazy loaded images */
img[loading="lazy"]:not([src]) {
    opacity: 0;
}

img[loading="lazy"][src] {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Reduce Animation on Low-End Devices */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ========================================
   DIRECTORY LISTING SPECIFIC RESPONSIVE
   ======================================== */

/* Category Icons */
@media only screen and (max-width: 767px) {
    .single-cat {
        padding: 20px 15px !important;
        margin-bottom: 15px;
    }

    .single-cat h4 {
        font-size: 16px !important;
    }
}

/* Rating Stars */
.ratting ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

@media only screen and (max-width: 480px) {
    .ratting ul li {
        font-size: 12px;
    }

    .ratting span {
        font-size: 11px;
    }
}

/* Contact Buttons */
.contact ul {
    display: flex;
    gap: 10px;
}

@media only screen and (max-width: 480px) {
    .contact ul li {
        font-size: 14px;
    }
}

/* ========================================
   PROFESSIONAL TOUCH UPS
   ======================================== */

/* Card Hover Effects */
.properties {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.properties:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* Button Hover Enhancements */
.btn,
.header-btn2,
.submit-btn2,
.slider-btn {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.btn:before,
.header-btn2:before,
.submit-btn2:before,
.slider-btn:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
    z-index: -1;
}

.btn:hover:before,
.header-btn2:hover:before,
.submit-btn2:hover:before,
.slider-btn:hover:before {
    width: 300px;
    height: 300px;
}

/* Smooth Focus States */
input:focus,
textarea:focus,
select:focus,
button:focus {
    outline: 2px solid #0074FD;
    outline-offset: 2px;
}

/* Loading State */
.loading {
    position: relative;
    pointer-events: none;
    opacity: 0.6;
}

.loading:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #0074FD;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Accessibility Improvements */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Skip to Content Link */
.skip-to-content {
    position: absolute;
    top: -40px;
    left: 0;
    background: #0074FD;
    color: #fff;
    padding: 8px 16px;
    text-decoration: none;
    border-radius: 0 0 4px 0;
    z-index: 100;
}

.skip-to-content:focus {
    top: 0;
}

/* ========================================
   UTILITY CLASSES
   ======================================== */

/* Spacing Utilities */
.mt-10 { margin-top: 10px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-30 { margin-top: 30px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-30 { margin-bottom: 30px !important; }

/* Text Utilities */
.text-gradient {
    background: linear-gradient(135deg, #0074FD 0%, #0059B3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Display Utilities for Responsive */
@media only screen and (max-width: 767px) {
    .hide-mobile { display: none !important; }
}

@media only screen and (min-width: 768px) {
    .show-mobile { display: none !important; }
}
