/* ============================================
   CLUAS GAME - Responsive Styles
   ============================================ */

/* ---------- Small Phones (max 360px) ---------- */
@media (max-width: 360px) {
    :root {
        --card-size: 60px;
        --card-gap: 4px;
    }

    .game-title {
        font-size: 1.25rem;
    }

    .language-select {
        font-size: 0.75rem;
        padding: 4px 6px;
    }

    .game-container {
        padding: var(--spacing-sm);
    }

    .identity-clue {
        font-size: 0.875rem;
    }

    .card-emoji {
        font-size: 1.5rem;
    }

    .card-name {
        font-size: 0.625rem;
    }
}

/* ---------- Regular Phones (361px - 480px) ---------- */
@media (min-width: 361px) and (max-width: 480px) {
    :root {
        --card-size: 70px;
        --card-gap: 6px;
    }
}

/* ---------- Large Phones / Small Tablets (481px - 768px) ---------- */
@media (min-width: 481px) and (max-width: 768px) {
    :root {
        --card-size: 85px;
        --card-gap: 8px;
    }

    .game-container {
        padding: var(--spacing-xl);
    }
}

/* ---------- Tablets and Up (769px+) ---------- */
@media (min-width: 769px) {
    :root {
        --card-size: 95px;
        --card-gap: 10px;
    }

    .game-title {
        font-size: 2rem;
    }

    .game-container {
        padding: var(--spacing-2xl);
    }

    .card:hover {
        transform: translateY(-4px);
    }
}

/* ---------- Desktop (1024px+) ---------- */
@media (min-width: 1024px) {
    :root {
        --card-size: 100px;
    }

    .modal {
        max-width: 450px;
    }
}

/* ---------- Touch-specific adjustments ---------- */
@media (hover: none) {
    .card:hover {
        transform: none;
    }

    .btn:hover {
        background: inherit;
    }

    .card:active {
        transform: scale(0.98);
    }

    .btn:active {
        transform: scale(0.98);
    }
}

/* ---------- Landscape Orientation ---------- */
@media (orientation: landscape) and (max-height: 500px) {
    .game-header {
        padding: var(--spacing-sm) var(--spacing-md);
    }

    .game-container {
        padding: var(--spacing-md);
        gap: var(--spacing-md);
    }

    :root {
        --card-size: 55px;
    }

    .puzzle-info {
        display: none;
    }

    .modal {
        max-height: 95vh;
        padding: var(--spacing-md);
    }
}

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ---------- Print Styles ---------- */
@media print {

    .game-header,
    .game-controls,
    .game-stats,
    .modal-overlay {
        display: none !important;
    }

    .game-grid {
        break-inside: avoid;
    }

    .card {
        border: 1px solid #000 !important;
        background: #fff !important;
        color: #000 !important;
    }
}