/* Shared Styles - Software Pass Store */
/* This file contains shared styles that can be used across all pages */

/* CSS Variables are defined in each page for standalone functionality */
/* This file can be used for additional shared components */

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

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

/* Loading States */
.loading {
    position: relative;
    pointer-events: none;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid var(--gray-200);
    border-top-color: var(--primary-blue);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

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

/* Focus States for Accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--primary-blue);
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .nav,
    .footer,
    .cta-banner,
    .hero-ctas,
    .product-cta,
    .mobile-menu,
    .nav-menu-btn {
        display: none !important;
    }
    
    body {
        color: #000;
        background: #fff;
    }
    
    .section {
        padding: 24px 0;
        page-break-inside: avoid;
    }
}
