/*!
Theme Name: Tushita Estate
Theme URI: http://underscores.me/
Author: Web Creation Nepal
Author URI: https://webcreationnepal.com/
Description: Tushita Estate Pvt. Ltd. helps you buy, sell, lease, and develop real estate in Kathmandu Valley — backed by careful documentation, honest advice, and a promoter group with a track record in Nepal\'s financial sector.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: tushita_estate
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Tushita Estate is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */


/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}


/* PROPERTY DETAIL PAGE */
.estate-heading {
    margin-bottom: 28px;
}

.estate-eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    color: #b39159;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.estate-heading h1 {
    margin: 0 0 12px;
    color: #173f35;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.25;
}

.estate-location,
.estate-info-location {
    margin: 0;
    color: #737c76;
    font-size: 14px;
    line-height: 1.7;
}

.estate-location span {
    margin-right: 7px;
    color: #b39159;
}

.estate-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, .85fr);
    gap: 35px;
    align-items: start;
}

.estate-gallery-column,
.estate-information {
    min-width: 0;
}

.estate-main-image-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #f2f3ef;
    border-radius: 10px;
}

.estate-main-image-wrap > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .25s ease;
}

.estate-image-counter {
    position: absolute;
    right: 14px;
    bottom: 14px;
    padding: 7px 12px;
    color: #fff;
    background: rgba(20, 35, 29, .78);
    border-radius: 30px;
    font-size: 12px;
}

.estate-thumbnails {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.estate-thumb {
    overflow: hidden;
    aspect-ratio: 1.2 / 1;
    padding: 0;
    background: #f3f4f1;
    border: 2px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    opacity: .75;
    transition: .2s ease;
}

.estate-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.estate-thumb:hover,
.estate-thumb.active {
    border-color: #173f35;
    opacity: 1;
}

.estate-no-image {
    display: grid;
    min-height: 300px;
    place-items: center;
    padding: 25px;
    color: #737c76;
    background: #f7f8f6;
    border-radius: 10px;
}

.estate-information {
    padding: 28px;
    border: 1px solid #e5e9e5;
    border-radius: 10px;
    box-shadow: 0 8px 30px rgba(23, 63, 53, .05);
}

.estate-information h2 {
    margin: 0 0 12px;
    color: #173f35;
    font-size: 26px;
    line-height: 1.4;
}

.estate-description {
    margin-top: 25px;
    color: #606a63;
    font-size: 14px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.estate-description p {
    margin: 0 0 15px;
}

.estate-description img {
    max-width: 100%;
    height: auto;
}

.estate-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 25px;
    padding: 15px 18px;
    color: #fff !important;
    background: #173f35;
    border: 1px solid #173f35;
    border-radius: 5px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
    transition: .2s ease;
}

.estate-button:hover {
    color: #fff !important;
    background: #285c4d;
}

.estate-button span {
    font-size: 21px;
}

/* SPECIFICATION TABLE */

.estate-specifications {
    padding: 65px 0 80px;
    background: #f7f8f6;
    scroll-margin-top: 30px;
}

.estate-section-heading {
    margin: 0 auto 30px;
    text-align: center;
}

.estate-section-heading h2 {
    margin: 0 0 10px;
    color: #173f35;
    font-size: clamp(27px, 3vw, 36px);
    line-height: 1.3;
}

.estate-section-heading p {
    margin: 0;
    color: #737c76;
    font-size: 14px;
    line-height: 1.7;
}

.estate-spec-card {
    max-width: 950px;
    margin: 0 auto;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e5e9e5;
    border-radius: 9px;
    box-shadow: 0 8px 25px rgba(23, 63, 53, .04);
}

.estate-spec-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.estate-spec-table th,
.estate-spec-table td {
    padding: 17px 24px;
    border-bottom: 1px solid #e8ebe7;
    text-align: left;
    vertical-align: middle;
    font-size: 14px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.estate-spec-table th {
    width: 38%;
    color: #59635d;
    background: #fafbf9;
    font-weight: 600;
}

.estate-spec-table td {
    color: #173f35;
    font-weight: 500;
}

.estate-spec-table tr:last-child th,
.estate-spec-table tr:last-child td {
    border-bottom: 0;
}

.estate-spec-table tr:hover th,
.estate-spec-table tr:hover td {
    background: #f4f7f3;
}


/* Horizontal scrollable property thumbnails */
.estate-thumbnails {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    margin-top: 12px;
    padding: 0 0 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #173f35 #e8ebe7;
}

.estate-thumb {
    flex: 0 0 100px;
    width: 100px;
    height: 75px;
    min-width: 100px;
    overflow: hidden;
    padding: 0;
    background: #f3f4f1;
    border: 2px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    opacity: 0.75;
}

.estate-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.estate-thumb:hover,
.estate-thumb.active {
    border-color: #173f35;
    opacity: 1;
}

/* Mobile thumbnail sizing */
@media (max-width: 767px) {
    .estate-thumb {
        flex-basis: 85px;
        width: 85px;
        height: 65px;
        min-width: 85px;
    }
}


/* TABLET */

@media (max-width: 991px) {
    .estate-layout {
        gap: 22px;
    }

    .estate-information {
        padding: 20px;
    }

    .estate-information h2 {
        font-size: 22px;
    }

    .estate-thumbnails {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* MOBILE */

@media (max-width: 767px) {
    .estate-detail {
        padding: 32px 0 42px;
    }

    .estate-detail .container,
    .estate-specifications .container {
        padding-right: 16px;
        padding-left: 16px;
    }

    .estate-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 25px;
    }

    .estate-heading h1 {
        font-size: 28px;
    }

    .estate-thumbnails {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 7px;
    }

    .estate-information {
        padding: 20px;
    }

    .estate-specifications {
        padding: 42px 0 50px;
    }

    .estate-spec-table th,
    .estate-spec-table td {
        padding: 13px 12px;
        font-size: 13px;
    }

    .estate-spec-table th {
        width: 42%;
    }
}

@media (max-width: 380px) {
    .estate-detail .container,
    .estate-specifications .container {
        padding-right: 12px;
        padding-left: 12px;
    }

    .estate-thumbnails {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .estate-information {
        padding: 15px;
    }

    .estate-spec-table th,
    .estate-spec-table td {
        padding: 11px 9px;
        font-size: 12px;
    }
}
