/* Responsive adjustments */
@media (max-width: 768px) {
    .container { /* Apply to all containers by default */
        padding: 0 15px;
    }

    .hero-section p,
    .about-section p {
        word-break: break-word; /* Ensure long words wrap on small screens */
    }

    /*
    Header navigation styles moved to layout.css for better organization.
    Only general content adjustments remain here.
    */

    .hero-section {
        padding: 70px 20px;
    }
    .hero-section h2 {
        font-size: 2.8rem;
    }
    .hero-section p {
        font-size: 1.2rem;
    }
    .btn-primary {
        padding: 14px 28px;
        font-size: 1.05rem;
    }

    /* .membership-card will now scale automatically, only adjust padding */
    .membership-card {
        padding: 10px;
    }

    .card-photo-container {
        width: 80px;
        height: 120px;
    }

    .photo-placeholder-text {
        font-size: 0.8rem;
    }
    .photo-placeholder-text::before {
        font-size: 1.5rem;
    }

    .card-details-column p {
        font-size: 9px;
    }
    .card-dates p.date-text,
    .card-dates p.secretary-text {
        font-size: 7px;
    }

    .card-qr-code {
        width: 50px;
        height: 50px;
    }

    .modal-content {
        padding: 30px;
    }
}

@media (max-width: 480px) {


    header h1 {
        font-size: 1.6rem;
    }

    .hero-section {
        padding: 50px 15px;
    }
    .hero-section h2 {
        font-size: 2.2rem;
    }
    .hero-section p {
        font-size: 1.1rem;
    }
    .btn-primary {
        padding: 12px 25px;
        font-size: 1rem;
    }

    .card-management-section h2, .about-section h2, .form-title {
        font-size: 1.8rem;
    }

    /* .membership-card will now scale automatically, only adjust padding */
     /* .membership-card will now scale automatically, only adjust padding */
    .membership-card {
        padding: 8px;
        width: 300px;
         height: 178px;
    }

    .card-header .subtitle {
        font-size: 9px;
    }
    .card-header h3 {
        font-size: 12px;
    }

    .card-main-content {
        margin-top: 4px;
        padding-right: 8px;
    }

    .card-photo-container {
        width: 60px;
        height: 90px;
    }
    .photo-placeholder-text {
        font-size: 0.7rem;
    }
    .photo-placeholder-text::before {
        font-size: 1.2rem;
    }

    .card-details-column p {
        font-size: 8px;
        margin: 0;
    }

    .card-dates p.date-text,
    .card-dates p.secretary-text {
        font-size: 8px;
        margin: 0;
        line-height: 1.3;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .card-details-column p.member-number {
        margin-bottom: 4px;
    }

    .card-bottom-row {
        margin-top: auto;
    }

    .card-qr-code {
        width: 40px;
        height: 40px;
    }

    .btn-submit {
        padding: 14px;
        font-size: 1.05rem;
    }

    .form-group label {
        font-size: 1rem;
    }

    .form-group input[type="text"],
    .form-group input[type="date"],
    .form-group input[type="file"],
    .form-group input[type="password"],
    .form-group select {
        padding: 12px;
        font-size: 1rem;
    }
    .modal-content {
        padding: 25px;
    }
}