/* Responsive Styles for TuCasita Website */

/* For Tablets and Smaller Desktops */
@media (max-width: 1280px) {
    header>div {
        padding: 0 20px;
        box-sizing: border-box;
    }
    h1 {
        left: 20px;
    }
    .social-icons {
        padding-right: 20px;
    }
    nav {
        left: 20px;
    }
}

/* For Smaller Tablets */
@media (max-width: 1024px) {
    ul.menu li a {
        font-size: 24px;
        padding: 15px 20px;
    }

    .block-1>div {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 25px;
    }
    
    .block-1>div:nth-child(2) {
        margin-right: 0;
    }

    .block-1>div.last {
        margin-right: 0;
    }
}

/* For Mobile Devices - Major Overhaul */
@media (max-width: 768px) {
    /* === GENERAL BODY & TYPOGRAPHY === */
    body {
        -webkit-text-size-adjust: 100%; /* Prevents iOS font scaling */
    }
    body.menu-open {
        overflow: hidden; /* Prevent scrolling when mobile menu is open */
    }
    /* Dark overlay for when menu is open */
    body.menu-open::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.6);
        z-index: 999;
    }
    h2 {
        font-size: 28px;
        line-height: 1.3;
        text-align: center;
    }
    h3 {
        font-size: 22px;
    }
    p {
        font-size: 16px;
        line-height: 1.6;
    }

    /* === HEADER & LOGO === */
    header > div {
        padding: 0 15px;
    }
    h1 {
        position: relative;
        left: 0;
        text-align: center;
        padding: 20px 0 10px 0;
    }
    .social-icons {
        display: none; /* Hide for a cleaner mobile header */
    }

    /* === HAMBURGER MENU === */
    #menu-toggle {
        display: block; /* Show the hamburger */
        position: absolute;
        top: 30px;
        right: 20px;
        width: 30px;
        height: 25px;
        cursor: pointer;
        z-index: 1001;
    }
    #menu-toggle span {
        display: block;
        position: absolute;
        height: 3px;
        width: 100%;
        background: #fff;
        border-radius: 3px;
        opacity: 1;
        left: 0;
        transition: .25s ease-in-out;
    }
    #menu-toggle span:nth-child(1) { top: 0px; }
    #menu-toggle span:nth-child(2) { top: 10px; }
    #menu-toggle span:nth-child(3) { top: 20px; }
    
    /* Hamburger animation when menu is open */
    .menu-open #menu-toggle span:nth-child(1) {
        top: 10px;
        transform: rotate(135deg);
    }
    .menu-open #menu-toggle span:nth-child(2) {
        opacity: 0;
        left: -60px;
    }
    .menu-open #menu-toggle span:nth-child(3) {
        top: 10px;
        transform: rotate(-135deg);
    }
    
    /* === MOBILE NAVIGATION PANEL === */
    header nav {
        display: block;
        position: fixed;
        top: 0;
        left: -100%; /* Start off-screen */
        width: 80%;
        max-width: 300px;
        height: 100%;
        background: #272727;
        border-right: 1px solid #444;
        padding-top: 80px;
        transition: left 0.3s ease-in-out;
        z-index: 1000;
    }
    .menu-open header nav {
        left: 0; /* Slide in */
    }
    ul.menu {
        margin: 0;
        padding: 0;
        width: 100%;
        display: block;
    }
    ul.menu li {
        float: none;
        width: 100%;
        text-align: left;
    }
    ul.menu li a {
        font-size: 20px;
        padding: 15px 25px;
        line-height: 1.5;
        border-bottom: 1px solid #444;
        color: #fff;
        background: none;
    }
    ul.menu li.current a, ul.menu li a:hover {
        background: #2098f5;
    }

    /* === CONTENT & LAYOUT === */
    #content {
        padding: 20px 15px 40px 15px;
    }
    .grid_1, .grid_2, .grid_3, .grid_4, .grid_5, .grid_6, .grid_7, .grid_8, .grid_9, .grid_10, .grid_11, .grid_12 {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        float: none;
        margin-bottom: 40px;
    }
    .left-1 {
        padding-left: 0;
    }
    .top-1 { margin-top: 0; }
    #slide, .slider { display: none; } /* Hide sliders on mobile */

    /* === CONTENT BLOCKS / CARDS === */
    .block-1 > div {
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px;
        text-align: center;
    }
    .block-1 > div img {
        margin-bottom: 15px;
    }
    .block-1 > div a.button {
        padding: 10px 30px;
        font-size: 18px;
    }

    /* === FORMS === */
    .form-1 {
        border: 1px solid #444;
        padding: 20px;
        border-radius: 5px;
    }
    .form-1 label {
        font-size: 16px;
        margin-bottom: 8px;
        display: block;
    }
    .form-1 input, .jqTransformSelectWrapper {
        width: 100% !important; /* Override plugin styles */
        box-sizing: border-box;
    }
    .form-1 input {
        padding: 12px 15px;
        height: auto;
        font-size: 16px;
    }
    .jqTransformSelectWrapper {
        margin-bottom: 15px;
        height: 45px;
    }
    .jqTransformSelectWrapper a.jqTransformSelectOpen {
        height: 45px;
    }
    .jqTransformSelectWrapper span {
        font-size: 16px;
        line-height: 45px !important;
        height: 45px !important;
        padding: 0 40px 0 15px;
    }
    .form-1 a.button {
        width: 100%;
        text-align: center;
        padding: 12px 0;
        font-size: 18px;
        margin-top: 15px;
    }

    /* === FOOTER === */
    footer p {
        font-size: 14px;
        line-height: 1.5;
    }
}

