/* ========================================
   370 Queens Quay - Apartment Tablet Styles
   Tablet-specific styles for apartment listings
   ======================================== */

/* ===================
   TABLET APARTMENT STYLES (769px - 1024px)
   =================== */
@media (max-width: 1024px) and (min-width: 769px) {
    
    /* Tablet Apartment Main Content */
    .main-content {
        padding: 50px 0;
        margin-top: 25px;
    }

    .page-title {
        margin-bottom: 50px;
        padding: 0 15px;
    }

    .page-title .section-title {
        font-size: clamp(32px, 6vw, 40px);
    }

    /* Tablet Filters */
    .filters-container {
        padding: 35px 30px;
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
        margin-bottom: 35px;
    }

    .form-label {
        font-size: 14px;
        margin-bottom: 7px;
    }

    .form-input {
        padding: 11px 14px;
        font-size: 15px;
    }

    .clear-filters-btn {
        padding: 11px 18px;
        font-size: 13px;
        grid-column: 1 / -1;
        justify-self: center;
        max-width: 200px;
    }

    /* Tablet Results */
    .results-summary {
        flex-direction: row;
        align-items: center;
        margin-bottom: 35px;
        padding: 0 10px;
    }

    .results-count {
        font-size: 15px;
    }

    .view-btn {
        padding: 9px 14px;
        font-size: 13px;
    }

    /* Tablet Unit Types Grid */
    .unit-types-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .unit-type-card-body {
        padding: 25px 20px;
    }

    .unit-type-title {
        font-size: 26px;
    }

    .unit-type-subtitle {
        font-size: 14px;
    }

    .price-size-grid {
        gap: 18px;
    }

    .floor-tags {
        gap: 8px;
    }

    .floor-tag {
        padding: 5px 10px;
        font-size: 12px;
    }

    .unit-type-features {
        gap: 10px;
        margin-top: 18px;
    }

    .feature-tag {
        padding: 5px 10px;
        font-size: 12px;
    }

    /* Tablet Floor View */
    .floor-header {
        padding: 25px 35px;
    }

    .floor-title {
        font-size: 22px;
    }

    /* Tablet floor units - unlimited height for full content display */
    .floor-units {
        max-height: none !important;
        overflow: visible;
    }

    .floor-section.collapsed .floor-units {
        max-height: 0 !important;
        overflow: hidden;
    }

    .floor-units-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        padding: 25px 30px;
    }

    /* Tablet Unit Cards */
    .residence-card {
        padding: 25px 20px;
    }

    .card-title {
        font-size: 20px;
    }

    .card-type {
        font-size: 13px;
    }

    .card-details {
        gap: 15px;
    }

    .detail-value {
        font-size: 15px;
    }

    .detail-label {
        font-size: 12px;
    }

    /* Tablet Modal */
    .modal-overlay {
        padding: 15px;
    }

    .modal-content {
        max-width: 900px;
        max-height: 90vh;
    }

    .modal-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .modal-title {
        font-size: 40px;
        margin-bottom: 0px;
    }

    .modal-type {
        font-size: 18px;
    }

    .details-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .detail-item {
        padding: 15px;
    }

    .features-list {
        gap: 10px;
    }

    .feature-item {
        font-size: 14px;
        padding: 10px 12px;
    }

    .inquiry-btn {
        padding: 18px 28px;
        font-size: 15px;
        margin-top: 25px;
    }

    /* Tablet Photo Gallery */
    .modal-gallery-main-image {
        border-radius: 6px;
    }

    .modal-gallery-nav-btn {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .modal-gallery-thumbnails {
        gap: 8px;
    }

    .modal-gallery-thumbnail {
        width: 60px;
        height: 60px;
    }

    .modal-gallery-counter {
        font-size: 13px;
        padding: 8px 12px;
    }

    .modal-gallery-disclaimer {
        font-size: 12px;
        padding: 12px 8px;
        margin-top: 18px;
    }
}

/* ===================
   TABLET TOUCH OPTIMIZATIONS
   =================== */
@media (max-width: 1024px) and (min-width: 769px) {
    /* Enhanced touch targets for tablet */
    .clear-filters-btn,
    .view-btn,
    .floor-header,
    .residence-card,
    .unit-type-card,
    .modal-gallery-nav-btn,
    .inquiry-btn {
        min-height: 44px;
    }

    /* Improved hover states for tablet */
    .unit-type-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    }

    .residence-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
    }

    /* Better scrolling performance */
    .modal-overlay,
    .filters-container,
    .modal-content {
        -webkit-overflow-scrolling: touch;
    }

    /* Focus states for tablet */
    .view-btn:focus,
    .clear-filters-btn:focus,
    .inquiry-btn:focus,
    .unit-type-card:focus {
        outline: 2px solid var(--primary-gold);
        outline-offset: 2px;
    }
}
