@media screen and (max-width: 1200px) {

    body {
        padding: 0 20px;
        max-width: 100%;
    }

    #hello_text {
        font-size: 20px;
    }

    #spot img {
        width: 300px;
    }

    .spot_card {
        width: 300px;
        height: 480px;
    }

    .spot_card span {
        font-size: 16px;

    }

    .spot_card div {
        padding: 10px;
    }

}



@media screen and (max-width: 768px) {

    body {
        padding: 0 10px;
        max-width: 100%;
    }

    header {
        height: auto;
        flex-direction: column;
        padding: 20px 10px;
        gap: 10px;
    }

    header>div {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    .header_button {
        width: 200px;
        height: 60px;
        line-height: 60px;
        font-size: 26px;
        margin: 5px;
    }

    header img {
        width: 200px;
        height: 140px;
        order: -1;
    }

    #wide_img {
        height: 250px;
    }

    #hello {
        flex-direction: column;
        padding: 20px;
    }

    #hello_text,
    #hello_img {
        width: 100%;
        padding: 10px 0;
    }

    #hello img {
        width: 100%;
        max-width: 100%;
    }

    #hello h1 {
        font-size: 36px;
        text-align: center;
    }

    #hello_text {
        font-size: 18px;
        width: 100%;
        padding: 10px 0;
    }


    #camper h1 {
        font-size: 32px;
        margin: 20px 0;
    }

    #camper h2 {
        font-size: 24px;
    }

    #camper img {
        width: 100%;
        height: auto;
        max-width: 100%;
    }

    #gallery h1 {
        font-size: 32px;
        margin: 50px 20px 20px 20px;
        text-align: center;
    }

    #gallery h2 {
        font-size: 18px;
        margin-left: 20px;
        text-align: center;
    }

    #gallery_container {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 0 10px;
        gap: 10px;
    }

    #gallery_col1,
    #gallery_col2 {
        width: calc(50% - 5px);
        padding: 5px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    /* Hide the third column container */
    #gallery_col3 {
        display: none;
    }



    #gallery_container img {
        width: 100%;
        margin: 0;
        object-fit: cover;
    }

    #gc1_1 {
        height: 411px;
    }

    #gc1_2 {
        height: 360px;
    }

    #gc1_3 {
        height: 681px;
    }

    #gc2_1 {
        height: 251px;
    }

    #gc2_2 {
        height: 300px;
    }

    #gc2_3 {
        height: 251px;
    }

    #gc2_4 {
        height: 411px;
    }

    #gc2_5 {
        height: 175px;
    }

    /* Heights for redistributed col3 images */
    #gc3_1 {
        height: 342px;
    }

    #gc3_2 {
        height: 368px;
    }

    #gc3_3 {
        height: 300px;
    }

    #gc3_4 {
        height: 230px;
    }


    #spot h1 {
        font-size: 32px;
        text-align: center;
        margin: 50px 20px 30px 20px;
    }

    #spot_row1,
    #spot_row2 {
        flex-direction: column;
        gap: 20px;
        padding: 0 20px;
    }

    .spot_card {
        width: 100%;
        height: 450px;
        margin-bottom: 30px;
        /* Prevent content from breaking out */
    }

    .spot_card div {
        width: 100%;
        height: 50%;
        padding: 20px;
    }

    #spot img {
        width: 100%;
        height: 50%;
        object-fit: cover;
    }

    /* Fix specific radius classes for mobile */
    .spot_card .radius_top {
        border-radius: 16px 16px 0 0;
    }

    .spot_card .radius_bottom {
        border-radius: 0 0 16px 16px;
    }



    .spot_card h3 {
        font-size: 20px;
    }

    .spot_card span {
        font-size: 16px;
    }

    #collapsible_button {
        width: 275px;
    }



    #collapsible_content {
        max-height: 1350px;
        flex-wrap: wrap;
    }

    .collapsible_column {
        width: 90%;
        padding: 5px;
        font-size: 13px;
        height: 330px;
    }

    .collapsible_column h2 {
        font-size: 16px;
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }


    .collapsible_column:first-child {
        border-radius: 16px 16px 0 0;
    }

    .collapsible_column:last-child {
        border-radius: 0 0 16px 16px;
    }

    /* Info cards responsive */
    #info_cards h1 {
        font-size: 32px;
        margin: 50px 20px 30px 20px;
        text-align: center;
    }

    .info_card_row {
        flex-direction: column;
        margin: 0 20px;
        padding: 10px;
    }

    .info_card {
        width: 100%;
        max-width: 350px;
        height: auto;
        margin: 0 auto 20px auto;
        padding: 30px 20px;
    }

    .info_card h3 {
        font-size: 20px;
    }

    .info_card span {
        font-size: 16px;
    }

    /* Contact section responsive */
    #contact {
        height: auto;
        margin-top: 50px;
        padding: 20px;
    }

    #contact>div {
        width: 100%;
        max-width: 350px;
        text-align: center;
    }

    #contact h1 {
        font-size: 32px;
        margin-bottom: 30px;
    }

    #email_tag {
        font-size: 20px;
    }

    #email {
        font-size: 16px;
        word-break: break-all;
    }

    #instagram {
        font-size: 16px;
    }

    /* Footer responsive */
    footer {
        margin-bottom: 30px;
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    #footer_email {
        font-size: 16px;
        text-align: center;
        margin-bottom: 10px;
    }

    #footer_name {
        font-size: 20px;
        text-align: center;
    }

    #footer_icons {
        float: none;
        width: 80px;
        margin: 0 auto;
    }

    /* Contact form responsive */
    footer form {
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-top: 20px;
    }

    footer form input,
    footer form button {
        width: 100%;
        padding: 12px;
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 16px;
        font-family: "Inter", sans-serif;
    }

    footer form button {
        background-color: #2C2C2C;
        color: #FBEAD6;
        cursor: pointer;
        font-weight: 600;
        border: none;
    }

    footer form button:hover {
        background-color: #404040;
    }

}



/* Landscape phones */
@media screen and (max-width: 768px) and (orientation: landscape) {

    header {
        height: auto;
        padding: 15px 10px;
    }

    header>div {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .header_button {
        width: 130px;
        height: 40px;
        line-height: 40px;
        font-size: 18px;
    }

    header img {
        width: 180px;
        height: 125px;
    }

    #hello {
        flex-direction: row;
    }

    #hello_text,
    #hello_img {
        width: 50%;
    }

    #hello h1 {
        font-size: 32px;
        text-align: left;
    }

    /* Gallery adjustments for landscape */
    #gallery_container {
        gap: 8px;
    }

    #gallery_col1,
    #gallery_col2 {
        width: calc(50% - 4px);
    }
}



@media screen and (max-width: 486px) {
    .header_button {
        width: 150px;
        height: 60px;
        line-height: 60px;
        font-size: 18px;
        margin: 5px;
    }

    .collapsible_column {
        width: 100%;
    }


}