/* ========== Custom Additional Styles ========== */

/* Smooth scrolling for anchor links */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

/* Better image rendering */
img {
    max-width: 100%;
    height: auto;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* Selection styling */
::selection {
    background: rgba(37, 99, 235, 0.2);
    color: #0f2b46;
}

/* Focus visible outline */
*:focus-visible {
    outline: 2px solid var(--bright-blue);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Responsive image within cards */
.rounded-2xl img,
.rounded-xl img {
    border-radius: inherit;
}

/* Better form inputs on iOS */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 8px;
}

/* Ensure table doesn't overflow */
table {
    border-collapse: collapse;
}

/* Admin bar offset */
.admin-bar .site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .site-header {
        top: 46px;
    }
}

/* Print styles */
@media print {
    .site-header,
    .site-header + * .mobile-menu,
    .mobile-menu-overlay,
    footer {
        display: none !important;
    }

    body {
        font-size: 12pt;
        color: #000;
    }

    a {
        color: #000;
        text-decoration: underline;
    }
}
