/* Responsive Design - Mobile & Tablet */

@media (max-width: 768px) {
    .banner-container {
        padding: 10px;
    }

    .banner-image {
        max-height: 180px;
        border-radius: 10px;
    }

    /* Countdown responsive */
    .countdown-section {
        padding: 20px 10px;
    }

    .countdown-title {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .countdown-timer {
        gap: 10px;
    }

    .countdown-item {
        min-width: 80px;
        padding: 15px 20px;
    }

    .countdown-number {
        font-size: 2rem;
    }

    .countdown-label {
        font-size: 0.9rem;
    }

    .countdown-date {
        font-size: 1rem;
    }

    .container {
        padding: 20px 10px;
    }

    .search-section {
        padding: 25px 20px;
        border-radius: 15px;
    }

    .search-section h1 {
        font-size: 1.5rem;
    }

    .form-group {
        margin-bottom: 18px;
    }

    .form-input {
        padding: 12px 15px;
        font-size: 16px;
    }

    .search-button {
        padding: 14px 30px;
        font-size: 1rem;
    }

    /* Table responsive */
    .results-section {
        padding: 15px 5px;
        height: calc(100vh - 100px);
    }

    .results-section h2 {
        font-size: 1.6rem;
    }

    .results-count {
        font-size: 0.95rem;
        padding: 10px;
    }

    .results-table th {
        padding: 12px 6px;
        font-size: 0.85rem;
    }

    .results-table td {
        padding: 10px 5px;
        font-size: 0.8rem;
    }

    .results-table .center-name {
        font-size: 0.75rem;
        max-width: 200px;
    }

    .voter-info-btn {
        padding: 6px 10px;
        font-size: 0.75rem;
    }

    /* Card modal responsive */
    .card-modal {
        padding: 10px;
        align-items: flex-start;
    }

    .card-modal-content {
        padding: 15px;
        padding-bottom: 20px;
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .card-actions-buttons {
        gap: 10px;
        margin-top: 15px;
        padding-bottom: 10px;
    }

    .download-btn,
    .copy-btn,
    .share-btn {
        padding: 10px 16px;
        font-size: 0.85rem;
    }

    .download-options-menu {
        top: -75px;
        min-width: 180px;
    }

    .download-option-btn {
        padding: 8px 12px;
        font-size: 0.8rem;
    }

    .a4-card {
        font-size: 0.9rem;
    }

    .card-slogan {
        font-size: 1.3rem;
        font-weight: 900;
        padding: 12px;
    }

    .card-center-info {
        font-size: 1rem;
        padding: 10px;
    }

    .card-voter-details {
        padding: 15px 20px;
    }

    .detail-row {
        font-size: 0.9rem;
    }

    .detail-label {
        min-width: 120px;
    }
}

@media (max-width: 480px) {
    .banner-container {
        padding: 8px;
    }

    .banner-image {
        max-height: 140px;
    }

    .container {
        padding: 15px 5px;
    }

    .search-section {
        padding: 20px 15px;
    }

    .search-section h1 {
        font-size: 1.2rem;
    }

    .form-input {
        font-size: 16px;
        padding: 11px 12px;
    }

    .search-button {
        padding: 13px 25px;
        font-size: 0.95rem;
    }

    /* Table extra small screens */
    .results-section {
        padding: 10px 2px;
    }

    .results-section h2 {
        font-size: 1.3rem;
    }

    .results-count {
        font-size: 0.85rem;
        padding: 8px;
    }

    .results-table th {
        padding: 10px 4px;
        font-size: 0.75rem;
    }

    .results-table td {
        padding: 8px 3px;
        font-size: 0.7rem;
    }

    .results-table .center-name {
        font-size: 0.65rem;
        max-width: 150px;
    }

    .voter-info-btn {
        padding: 5px 8px;
        font-size: 0.7rem;
    }

    /* Card extra small */
    .card-modal {
        padding: 5px;
    }

    .card-modal-content {
        padding: 10px;
        padding-bottom: 15px;
        margin-top: 5px;
        margin-bottom: 5px;
    }

    .card-actions-buttons {
        gap: 8px;
        margin-top: 12px;
    }

    .download-btn,
    .copy-btn,
    .share-btn {
        padding: 8px 12px;
        font-size: 0.75rem;
        gap: 4px;
    }

    .download-btn svg,
    .copy-btn svg,
    .share-btn svg {
        width: 16px;
        height: 16px;
    }

    .download-options-menu {
        top: -70px;
        min-width: 160px;
    }

    .download-option-btn {
        padding: 7px 10px;
        font-size: 0.75rem;
    }

    .card-top-gap {
        height: 15px;
    }

    .card-slogan {
        font-size: 1.1rem;
        font-weight: 900;
        padding: 10px;
    }

    .card-center-info {
        font-size: 0.9rem;
        padding: 8px;
    }

    .card-voter-details {
        padding: 12px 15px;
    }

    .detail-row {
        font-size: 0.8rem;
    }

    .detail-label {
        min-width: 100px;
        font-size: 0.75rem;
    }

    .card-footer-text {
        font-size: 0.8rem;
    }

    /* Countdown extra small */
    .countdown-item {
        min-width: 70px;
        padding: 12px 15px;
    }

    .countdown-number {
        font-size: 1.8rem;
    }

    .countdown-label {
        font-size: 0.8rem;
    }

    .countdown-date {
        font-size: 0.9rem;
    }
}
