@media (max-width: 768px) {
    /* Safe Area & Layout */
    .site-auth-wrapper {
        padding: 1rem;
        align-items: flex-start; /* Better for scrolling on mobile */
        padding-top: 2rem;
    }

    .site-auth-card {
        padding: 1.5rem;
        border-radius: 20px;
    }

    /* Typography Scaling */
    .site-display-1 { 
        font-size: 2.25rem; 
        line-height: 1.2;
    }
    
    .site-h2 { font-size: 1.5rem; }
    
    .hero-subtitle { 
        font-size: 0.95rem; 
        padding: 0 1rem;
    }

    /* Form Elements */
    .site-role-grid {
        grid-template-columns: 1fr; /* Stack roles on mobile */
        gap: 0.75rem;
    }

    .site-role-card {
        padding: 1rem;
        flex-direction: row;
        text-align: left;
        align-items: center;
        gap: 1rem;
    }

    .site-role-icon {
        font-size: 1.5rem;
        margin-bottom: 0;
    }

    .site-role-card span {
        display: block;
    }

    /* Stacked Form Groups in Register */
    form > div[style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    /* Inputs */
    .site-input {
        font-size: 16px; /* Prevent iOS zoom */
        padding: 0.75rem 1rem;
    }

    .site-input-with-icon {
        padding-left: 2.5rem !important;
    }

    .site-input-icon {
        left: 0.85rem;
    }

    /* Buttons */
    .site-btn {
        width: 100%;
        padding: 0.875rem;
        justify-content: center;
    }

    .hero-search-wrapper {
        margin-top: 2rem;
    }
    
    .hero-search-input {
        padding: 1rem 1rem 1rem 3rem; /* Adjusted padding */
        font-size: 1rem;
    }
    
    .hero-search-icon {
        right: auto;
        left: 1rem;
    }
    
    /* Content & Details Pages */
    .site-content-container {
        padding: 1rem;
        margin: 2rem auto;
    }

    .site-details-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-top: 2rem;
    }

    .site-header-card {
        flex-direction: column;
        padding: 1.5rem;
        align-items: center;
        text-align: center;
        gap: 1.5rem;
    }

    .site-logo-container {
        margin-bottom: 0.5rem;
    }

    .site-hero-logo {
        width: 100px;
        height: 100px;
    }

    .site-badge {
        font-size: 0.7rem;
    }

    .site-action-btn {
        width: 100%;
        justify-content: center;
    }

    /* Search Results Mobile */
    .site-search-form {
        padding: 0 1rem;
    }
    
    .site-pagination {
        flex-wrap: wrap;
    }
    
    .site-bonus-header {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .site-bonus-amount {
        font-size: 1.5rem;
    }

    /* Review Section */
    .site-review-item {
        padding: 1rem;
    }

    /* Result Items Mobile */
    .site-result-header {
        align-items: flex-start; /* Align top if wrapping */
    }

    .site-result-info .site-flex-between {
        flex-wrap: wrap; /* Allow title and menu to wrap if needed, though rarely */
        gap: 0.5rem;
    }

    .site-result-breadcrumb {
        margin-top: 0.25rem;
        display: block; /* Ensure it takes full width below name if needed */
        word-break: break-all;
    }
    
    .site-result-name {
        font-size: 0.95rem;
    }
}
