/* ============================================== */
 /* Author : Md. Munaim Khan
 /* Email  : khanmail2599@gmail.com
/* ============================================== */

/*-------------------------
Initial Style Start
--------------------------*/

* {
    margin: 0;
	padding: 0;
    box-sizing: border-box;
	font-family: "Arial", sans-serif;
}

ul{
	list-style: none;
}

a{
	text-decoration: none;
	transition: .4s cubic-bezier(0.68, 1.07, 0.31, 0.62) all;
}

img{
	width: 100%;
	height: 100%;
}

i{
	margin: 0 0.3em;
}

label{
	font-weight: 600;
    float: left;
}

input, textarea, select{
	outline: none;
    padding: 1em 0.5em;
    width: 100%;
    border: 0.04em solid #ddd;
    border-radius: 0.2em;
    font-size: .98em;
    font-weight: 545;
}

input[type="radio"]{
	width: 1.3em;
    height: 1.3em;
    margin-right: 0.2em;
}

input[type="checkbox"]{
	width: 1.3em;
    height: 1.3em;
    margin-right: 0.2em;
}

button{
	font-size: 1.1em;
	transition: .2s cubic-bezier(0.68, 1.07, 0.31, 0.62) all;
}

button, select, 
input[type="radio"], 
input[type="checkbox"], 
input[type="date"]{
	cursor: pointer;
}

button, .page_title{
	color: #fff;
}

.action_button button, 
.btn_update, .btn_delete{
    padding: .5em 1em;
    background: #ff4500;
    border: 0.1em solid #ff4500;
    border-radius: 0.2em;
    font-size: 1.2em;
    font-weight: 550;
	width: fit-content;
}

.action_button button:hover{
	background: #ff6722;
    border: 0.1em solid #ff6722;
}

.btn_success {
	background: #3a7684;
    box-shadow: inset 0em -1em 1.5em 0.15em #063240;
    padding: 0.8em 2.5em;
    border: 0.02em solid #6da9b7;
    border-radius: 2em;
    font-weight: 545; 
}

.btn_success:hover{
	box-shadow: inset 0em -0.5em 1.5em 0.1em #063240;
}

.btn_browse{
	background: repeating-linear-gradient(45deg, #3a7684, #063240 76px);
	box-shadow: inset 0em -0.5em 1.5em 0.1em #063240;
	transition: 1.5s cubic-bezier(0.68, 1.07, 0.31, 0.62) box-shadow;
}

.btn_browse:hover{
	box-shadow: 0em 0em 0.1em 0em #063240;
}

.btn_update{
	background: #1e90ff !important;
    border: 0.1em solid #1e90ff !important;
}

.btn_update:hover{
	background: #0c70FF !important;
    border: 0.1em solid #0c70FF !important;
}

.btn_delete{
	background: #ff0000 !important;
    border: 0.1em solid #ff0000 !important;
}

.btn_delete:hover{
	background: #cc0000 !important;
    border: 0.1em solid #cc0000 !important;
}

.btn_approve{
	background: #32cd32 !important;
    border: 0.1em solid #32cd32 !important;
}

.btn_approve:hover{
	background: #10ab20 !important;
    border: 0.1em solid #10ab20 !important;
}

.btn_user{
	background: #936839 !important;
    border: 0.1em solid #936839 !important;
}

.btn_user:hover{
	background: #714617 !important;
    border: 0.1em solid #714617 !important;
}

.btn_owner{
	background: #0d0d44 !important;
    border-color: #0d0d44 !important;
}

.btn_owner:hover{
	background: #0b0b22 !important;
    border-color: #0b0b22 !important;
}

.btn_property{
	background: #3a7684 !important;
    border-color: #3a7684 !important;
}

.btn_property:hover{
	background: #186462 !important;
    border-color: #186462 !important;
}

.admin_property_table button{
	padding: 0.12em 0;
    margin: 0.12em;
    width: 2em;
    height: 2em;
}

table, .dashboard_lower_part{
	width: 100%;
}

.overflow{
	overflow: hidden;
}

.background{
	background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
}

.mcol_2, .mcol_3, .mcol_9, .mcol_12, .mcol_8{
	padding: .5em;
}

.mcol_2{
	width: 20%;
}

.mcol_3{
	width: 30%;
}

.mcol_8{
	width: 80%;
    margin: 0 auto;
}

.mcol_9{
	width: 70%;
}

.mcol_12{
	width: 100%;
}

.alert{
	width: 60%;
    margin: 0 auto;
    padding: 1em;
    border-radius: 0.5em;
	transition: opacity 0.5s ease, max-height 0.5s ease,
	            padding 0.5s ease, margin 0.5s ease;
	overflow: hidden;
}

.alert p{margin: 0 !important;}

.alert_danger{
	background: #df7777;
    color: #8b0000;
    border: 0.01em solid #8b0000;
}

.alert_success{
	background: #85ed85;
    color: #335633;
    border: 0.01em solid #335633;
}

.mcol_12, .list .list_content, .contact_body, .footer_text, .footer_top_lower ul, .property_box .property_box_content, .pagination ul, .property_details_body .property_feature, .virtual_contact, .property_contact .property_contact_body, .property_booking, .my_dashboard_block, .msg_block_body, .dataTables_paginate, .register{
	display: flex;
}

.dataTables_paginate span {
	display: flex;
	flex-direction: row;
	align-items: center;
}

a, .property_dropdown, .property_dropdown ul, .property_gallery img, .admin_page_title, .admin_nav ul, .form_container .mcol_12{
	display: block !important;
}

.footer-top .footer_content h2, .action_button button, .btn_update, .btn_delete, .topnav a, .centered h1, .searchform button span, .sub-title, .footer_text .footer_nav, .property_category h2, .property_details_list h1, .property_contact h1, .property_faq h1, .my_dashboard_block, .admin_property_table table th, .admin_property_table .published, .register .tbl_form caption{
	text-transform: uppercase;
}

label, button, .searchform .select, .item_box_lower p span, .property_box p span, .property_small_details span, .item_box_upper .item_category, .popular_cat_heading, .popular_cat_text p:first-child, .add_property_block .property_block_title h2, .add_property_block .add_property_title, .property_negotiable_check span, .admin_property_table table h3, .admin_property_table a, .admin_property_table .published, .footer_text .text_body h3, .login_button span, .pagination ul li:first-child a, .pagination ul li:last-child a, .property_category ul li, .property_details_list h3, .property_contact h3, .faq_body h3, .property_details_body p, .virtual_contact div:first-child, .admin_nav ul li a, .add_property_block .property_block_title, .profile_body table tr:first-child td, .profile_body table tr td:first-child, .property_dropdown a, .property_box_text h3, .msg_field_box:first-child, .property_filter select{
	text-transform: capitalize;
}

.top_left .top_header_list, .topnav, .banner, .searchform table tr td, .searchform .select, .sub-title, .item_box_upper .item_category, .item_pricebox .item_upper_left, .popular_category .popular_cat_text, .browse_list_button, .contact .contact_button, .register, .about, .footersection .footer-bottom, .property_category h2, .property_contact_title, .property_contact, .action_button, .property_contact .login_button, .property_contact .contact_button, .topnav_admin .admin_content, .dashboard_lower_part, .property_block_title, .my_dashboard_block, #example, .footer_top_lower p, .profile_header .profile_label, .alert{
	text-align: center !important;
}

/*----------------------------
Data Table Modification Start
-----------------------------*/
.dataTables_wrapper{
	margin: 2em 0.3em;
}

table.dataTable thead th, table.dataTable thead td{
	border-bottom: none;
}

table.dataTable.no-footer{
	border-bottom-color: #ddd;
}

table.dataTable thead{
	font-size: .9em;
}

/*----------------------------
Slick Slider Modification Start
-----------------------------*/
.slick-next, .slick-prev, .slick-next:hover, .slick-prev:hover, 
.slick-next:focus, .slick-prev:focus{
	background: #3a7684;
}

.slick-list{
	margin: 0 auto;
}

/*-------------------------
Initial Style End
--------------------------*/


/*-------------------------
Header Style
-------------------------*/
.col{
    padding: 1em 0;
    float: left;
}

/* ── 三欄 Flex Header ── */
.top_header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	min-height: 5em;
	padding: 0 1em;
	background: #fff;
}

/* 左欄：Logo */
.top_header_left{
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}
.top_header_left .logoimg{
	height: 4.4em;
	display: flex;
	align-items: center;
}
.top_header_left .logoimg img{
	height: 100%;
	width: auto;
	object-fit: contain;
	display: block;
}

/* 中欄：標題 — 絕對置中於整個 header */
.top_header_center{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	pointer-events: none;
	white-space: nowrap;
}
.site_main_title{
	margin: 0;
	font-size: 1.75em;
	font-weight: 800;
	color: #1B4F8A;
	letter-spacing: 3px;
	line-height: 1.25;
}
.site_sub_tagline{
	margin: 0;
	font-size: 0.72em;
	font-weight: 400;
	color: #7A9EC4;
	letter-spacing: 1.5px;
	margin-top: 2px;
}

/* 右欄：用戶資訊 */
.top_right{
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin-right: 0.5em;
}

/* 保留舊有的 .top_left / .top_left ul 不讓其他頁面版壞 */
.top_left{
    padding-left: 1em;
    color: #3a7684;
}
.top_left, .top_right{
	font-size: 1.1em;
    font-weight: 550;
}
.top_left .top_header_list{
	float: left;
    line-height: 5em;
    width: 80%;
}
.top_left ul{
	display: inline-flex;
    align-content: space-around;
}
.top_left ul li{
	margin: .3em 0em .3em .8em;
	cursor: pointer;
}

.top_right .userimg,
.top_right .users_name{
	display: flex;
	align-items: center;
}

.top_right .userimg{
	width: 2em;
    height: 2em;
    margin-right: 0.4em;
    border: 0.01em solid #ddd;
    border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
}
.top_right .userimg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ── 手機表頭修正（方案 A）──────────────────────────────
   螢幕 < 772px 時隱藏中央標題文字，只保留 logo，
   避免絕對置中的標題與 logo / 用戶資訊重疊。
   logo 圖檔本身已含「好房租屋」字樣，不影響辨識。 */
@media only screen and (max-width: 772px){
	.top_header{
		padding: 0 0.6em;
		min-height: 4em;
	}
	.top_header_center{
		display: none;          /* 隱藏中央大標題 + 副標語 */
	}
	.top_header_left .logoimg{
		height: 3.4em;          /* logo 略縮，配合較矮的表頭 */
	}
	.top_right .users_name{
		font-size: 0.85em;      /* 用戶名稱縮小，避免擠壓 */
	}
}

/*-------------------------
Style the top navigation bar
-------------------------*/
.topnav{
    background-color: #808080;
	box-shadow: 0 0.1em 0.15em #333;
    position: sticky;
    top: 0;
    z-index: 99999;
	overflow: inherit;
	cursor: pointer;
}

.topnav ul, .admin_nav ul{
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.topnav ul li{
	position: relative;
}

.property_dropdown{
    position: absolute;
    left: 0;
    top: 3.1em;
    background: #fff;
    width: 12em;
	box-shadow: 0 0.1em 0.15em #333;
	height: 0;
}

.property_dropdown ul{
    text-align: left;
    box-shadow: 0 0.1em 0.15em #333;
    background: #fff;
    border-bottom-left-radius: 0.3em;
    border-bottom-right-radius: 0.3em;
}

.property_dropdown, 
.property_dropdown ul li:last-child a{
	border-bottom-left-radius: 0.3em;
    border-bottom-right-radius: 0.3em;
}


/*-------------------------
Style the topnav links
-------------------------*/
.topnav a, .topnav_bars{
	color: #ffffff;
	padding: 1em 2em;
}

.topnav a:hover, #active{
  background:#3a7684;
  color: #ffffff;
}

.property_dropdown ul li a{
	padding: 0.8em 2em !important;
    color: #808080 !important;
    box-shadow: none !important;
}

.property_dropdown ul li a:hover, #cl_active, 
.property_dropdown ul li a .row_number{
	background:#808080 !important;
	color: #ffffff !important;
}

.property_dropdown ul li a .row_number{
	left: 82%;
    top: -1.5em;
}

.property_dropdown ul li a:hover .row_number{
	background:#ffffff !important;
	color: #808080 !important;
}

.topnav_bars{
	font-size: 1.5em;
	cursor: pointer;
	display: none;
}

/*-------------------------
Banner holding the image and the text
-------------------------*/
.banner{
  position: relative;
  color: black;
}


.centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.centered h1{
	font-size: 4.5em;
	margin-bottom: .28em;
}

.searchform table tr{
	height: 4em;
}

.searchform table tr td{
    padding: 0 0.15em;
}

.searchform .select{
	min-width: 10em;
    font-size: 1.05em;
    font-weight: 545;
}

.searchform table .last_select .select{
	max-width: 10em;
}

.searchform button{
	font-size: 1.4em;
	width: 30%;
    padding: 1em;
    color: white;
    border: .05em solid grey;
    border-left: none;
	margin-top: 1em;
}

.searchform button i, .footer_social i{
	margin: 0;
}

.searchform button span{
	margin-left: 0.5em;
    font-weight: 750;
}  

.container{
	overflow: hidden;
	padding: 1em;
}

/*-------------------------
Property list section
-------------------------*/
.sub-title{
  margin: 1.4em 0.5em;
  font-size: 2.2em;
  font-weight: 500;
}

.list .list_content, 
.about .about_text{
 margin: 0 2.5em 3em;
}

.list_item{
    box-shadow: 0 0 1em 0em #a9a9a9;
    border-radius: 0.2em;
	cursor: pointer;
	margin: 0.5em;
    width: 50%;
}

.list_item img{
	width: 100%;
	transition: 1s cubic-bezier(0.68, 1.07, 0.31, 0.62) all;
	height: 17.5em;
}

.taka_sign{
	height: 1.5em !important;
	width: 1.5em !important;
	float: left;
}

.list_item:hover .item_box_upper background-image{
	transform: scale(1.1);
}

.list_item:hover img{
	transform: scale(1.1);
}

.list_item a, .property_box a{
	color: #000;
	height: fit-content;
}

.list_item .item_box_upper{
	padding: 0.8em;
    background: transparent;
    position: relative;
	margin-bottom: -72%;
}

.item_box_upper .item_category{
	margin: 0 auto;
	margin-bottom: 50%;
    padding: 0.2em 1em;
    width: fit-content;
    background: #f49723;
    border: 0.1em solid #f49723;
    border-radius: 0.2em;
	position: relative;
	z-index: 1;
}

.item_box_upper .item_pricebox{
	position: relative;
    bottom: 1em;
}

.item_pricebox .item_upper_left{
	width: 50%;
    float: left;
    padding: 0.5em 0;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 0.2em;
	position: relative;
	z-index: 1;
}

.item_box_upper .item_category, 
.item_pricebox .item_upper_left{
	color: #ffffff;
}

.item_pricebox .item_wlist_icon{
	width: 20%;
	float: right;
	position: relative;
	z-index: 1;
}

.list_item .item_box_lower{
	min-height: 15em;
}

.list_item .item_box_lower, 
.popular_category .popular_cat_text{
	line-height: 2em;
    padding: 1.5em 1em 1em;
}

.item_box_lower p:first-child, 
.popular_category .popular_cat_text p:first-child, 
.property_box .property_box_text p:first-child{
	font-size: 1.5em;
}

.item_box_lower p span, .property_box p span, .property_small_details span{
	color: #1e90ff;
	font-weight: 500;
}

.popular_category p{
	color: #ffffff;
}

.popular_cat_heading{
	padding: 1em;
    background: #3a7684;
    width: 6em;
    height: 6em;
    line-height: 4em;
    border-radius: 50%;
    font-size: 1.1em;
    position: relative;
    z-index: 1;
    top: -1em;
    left: -1em;
    transform: rotate(-45deg);
    margin-bottom: -6em;
	box-shadow: 0 0 1em 0.5em darkgrey;
}

.popular_category .popular_cat_text{
	background: rgba(0, 0, 0, 0.5);
    width: 80%;
    margin: 0 auto;
    height: 10em;
    border-radius: 50%;
    margin-top: -10.3em;
    position: relative;
    top: 4em;
}

.browse_list_button{
	width: 90%;
    margin: 0 auto;
    margin-bottom: 2em;
}

.browse_list_button a{
	display: initial !important;
}

/*-------------------------
Contact  Form
-------------------------*/
.contact{
	background: #3a7684;
    padding: 1em 2em;
    margin: 5em 0;
    margin-bottom: 0;
}

.contact_body .contact_part{
	width: 45%;
    margin: 0 5%;
}

.contact_body .contact_part textarea{
	height: 83%;
}

.contact_body .contact_part input, 
.contact_body .contact_part textarea{
	margin-top: 1em;
}

.contact .contact_button{
    padding: 2em;
}

/*-------------------------
Registration  Form
-------------------------*/
.page_title{
	padding: 3em 0;
    background: rgb(58 118 132 / 80%);
    box-shadow: inset 0em 5em 3em 0.3em #174351;
}

.page_title h1{
	margin: 0;
}

.form_container{background: #f1f1f1;}

.form_container .mcol_8{
	padding: 0;
}

.form_container .mcol_9, 
.form_container .mcol_12{
	padding: 3em .5em;
}

.form_container .mcol_12 label{margin: 0 4em;}

.register{
	background-color: #fff;
    margin: 5em auto;
    border-radius: 0.4em;
    box-shadow: 0 0 0.5em 0 darkgrey;
}

.register .tbl_form caption{margin-bottom: 3em;}

.register input[type=text], .register input[type=email], .register input[type=password], .register input[type=phone], .register textarea{
	width: 80%;
    border: none;
	background: transparent;
    border-bottom: 0.1em solid #3a7684;
	border-radius: 0;
	float: left;
	resize: none;
}

.register input[type=text]:focus, .register input[type=email]:focus, .register input[type=password]:focus, .register input[type=phone]:focus, .register textarea:focus{
	width: 85%;
	transition: .4s cubic-bezier(0.68, 1.07, 0.31, 0.62) width;
}

.register .tbl_form td:first-child{
	width: 30%;
    padding: 1em;
}
.register .tbl_form td{
	padding-bottom: 1.5em;
}

.register input[type="radio"], .register .tbl_form span{
	position: relative;
    top: 0.5em;
}

.register input[type="radio"]{
    top: 0.7em;
}

.register .tbl_form p{
	font-size: 1.1em;
	margin-bottom: 1em;
}

.register .tbl_form p span{
	width: fit-content;
    display: inline-block;
    position: relative;
    top: 0;
}

.register .tbl_form a{
	color: #296573;
	font-weight: 550;
}

/*-------------------------
About Us
-------------------------*/
.about{
    background: #808080;
	color: #fff;
    padding: 0.5em;
    margin: 4em 0;
}

.about h1, 
.property_block_body .add_cat_title, 
.cover_img_block, .msg_block_body{
	margin-bottom: 1em !important;
}

.about .about_text{
	font-size: 1.12em;
}

/*-------------------------
Footer Section
-------------------------*/
.footersection .footer-top{
	padding: 3em 2.5em;
	background: #808080;
}

.footer-top .footer_content{
	width: 32%;
    padding: 0.5em;
    color: #fff;
    float: left;
}

.footer-top .footer_content h2, 
.property_filter ul li:last-child, .alert{
    margin-bottom: 1em;
}

.footer_text{
	line-height: 2em;
	margin-bottom: 1.2em;
}

.footer_text .text_icon, 
.footer_text .text_body{
	float: left;
}

.footer_text .text_icon{
	width: 8%;
    font-size: 1.3em;
    margin-right: 5%;
}

.footer_text .text_img{
	width: 20%;
}

.footer_text img,
.admin_property_table img{
	border-radius: .2em;
}

.admin_property_table table td:first-child img {
	width: 100%;
	max-width: 160px;
	height: 100px;
	object-fit: cover;
	border-radius: .3em;
	display: block;
}

.footer_text a, .footer_top_lower a, 
.footersection .footer-bottom{
	color: #fff;
}

.footer_text .text_body{
	width: 75%;
}

.footer_text .footer_nav{
	width: 100%;
}

.footer_nav li{
	border-bottom: 0.1em solid #ddd;
}

.footer-top .footer_top_lower{
	width: fit-content;
    margin: 0 auto;
    padding: 1em;
    font-size: 1.5em;
}

.footer_top_lower p{
	height: 2em;
    width: 2em;
	background: #3a7684;
    padding: 0.4em;
    border-radius: 50%;
    box-shadow: 0 0 0.05em #a9a9a9;
	margin: 0 0.5em;
}

.footer_top_lower .fb, .footer_top_lower .tw, .footer_top_lower .gp{transition: .3s cubic-bezier(0.68, 1.07, 0.31, 0.62) background;}

.footer_top_lower .fb{
	background: #3a5a95;
}

.footer_top_lower .fb:hover{
	background: #183874;
}

.footer_top_lower .tw{
	background: #57aced;
}

.footer_top_lower .tw:hover{
	background: #358acb;
}

.footer_top_lower .gp{
	background: #dd4f43;
}

.footer_top_lower .gp:hover{
	background: #bb2d21;
}

.footersection .footer-bottom{
	background: #525252;
    font-size: 1.15em;
    padding: 1em;
}



/*=============================================================
Style for property list page
=============================================================*/
.property_box{
    border: 0.1em solid #ddd;
	margin-bottom: 2em;
	transition: .3s cubic-bezier(0.68, 1.07, 0.31, 0.62) all;
}

.property_box:hover{
	box-shadow: 0 0 .4em #a9a9a9;
}

.property_box, .wishlist_box{
	border-radius: 0.4em;
}

.property_box img{
	border-top-left-radius: .4em;
	border-bottom-left-radius: .4em;
	width: 100%;
	height: 160px;
	object-fit: cover;
	object-position: center;
	display: block;
}

.property_box .property_box_content{
	overflow: hidden;
    height: 100%;
}

.property_box .property_box_img{
    width: 30%;
}

.property_box .property_box_text{
	padding: 1em;
    width: 70%;
	line-height: 2em;
}

.property_box p:last-child{
	float: right;
    font-weight: 650;
}

/* ── Active filter chips bar ── */
.filter_active_bar{
	background: #f4f8ff;
	border: 1px solid #d0e4f7;
	border-radius: 0.5em;
	padding: 0.75em 1em 0.5em;
	margin-bottom: 1.2em;
}
.filter_chips_row{
	display: flex; flex-wrap: wrap; align-items: center; gap: 0.45em;
	margin-bottom: 0.45em;
}
.filter_chip{
	background: #2E6DA4; color: #fff;
	border-radius: 2em; padding: 0.25em 0.85em;
	font-size: 0.83em; font-weight: 500; white-space: nowrap;
}
.filter_clear_btn{
	margin-left: 0.4em; color: #c0392b;
	font-size: 0.82em; font-weight: 600;
	text-decoration: none; white-space: nowrap;
	border: 1px solid #e0b0ae; border-radius: 2em;
	padding: 0.22em 0.75em; background: #fff3f3;
	transition: background 0.2s;
}
.filter_clear_btn:hover{ background: #ffe0de; color: #c0392b; }
.filter_result_count{
	font-size: 0.85em; color: #666; margin: 0;
}
.filter_result_count strong{ color: #2E6DA4; }

/* ── Enhanced property card ── */
.property_box_img{ position: relative; }

.prop_badge_featured{
	position: absolute; top: 0.55em; left: 0.55em; z-index: 2;
	background: #FF6B35; color: #fff;
	font-size: 0.72em; font-weight: 700; letter-spacing: 0.04em;
	padding: 0.2em 0.65em; border-radius: 3px;
}
.prop_featured_box{ border-color: #FF6B35; }

.prop_title{
	font-size: 1.1em !important;
	font-weight: 700;
	margin-bottom: 0.15em;
	line-height: 1.4;
}

.prop_tags{
	display: flex; flex-wrap: wrap; gap: 0.3em;
	margin: 0.3em 0 0.45em;
}
.prop_tag{
	background: #edf5ff; color: #2E6DA4;
	border: 1px solid #c5d8f0; border-radius: 2em;
	padding: 0.08em 0.65em; font-size: 0.76em; font-weight: 500;
	white-space: nowrap; line-height: 1.8;
}

.prop_meta{
	color: #555; font-size: 0.88em;
	margin-bottom: 0.1em; line-height: 1.8;
}

.prop_address{ font-size: 0.9em; color: #444; }

.prop_footer_row{
	display: flex; align-items: center; gap: 1.2em;
	margin: 0.25em 0;
}
.prop_owner{ color: #2E6DA4; font-size: 0.82em; font-weight: 600; }
.prop_updated{ color: #999; font-size: 0.82em; }
.prop_views{ color: #999; font-size: 0.82em; }

.prop_price{
	font-size: 1.15em !important;
	color: #e74c3c !important;
	font-weight: 700 !important;
	float: right;
	line-height: 1.6;
}
.prop_negotiable{ color: #1e90ff; font-size: 0.82em; font-weight: 500; }

.pagination{
	width: fit-content;
    margin: 0 auto;
	font-size: 1.2em;
}

.pagination ul{
    flex-wrap: nowrap;
    align-content: space-around;
    justify-content: center;
    align-items: center;
    padding: 1em 0;
    background: #ffffff;
	border-radius: 1em;
}

.pagination ul li a{
	color: rgb(58 118 132 / 80%);
	border: 0.01em solid rgb(58 118 132 / 80%);
    padding: .5em 1.5em;
	transition: .3s cubic-bezier(0.68, 1.07, 0.31, 0.62) all;
}

.pagination ul li a:hover, 
.admin_nav, .topnav_admin{
	background: #3a7684;
	color: #fff;
}

.pagination ul li:first-child a{
	border-top-left-radius: 1em;
	border-bottom-left-radius: 1em;
}

.pagination ul li:last-child a{
	border-top-right-radius: 1em;
	border-bottom-right-radius: 1em;
}



/*=============================================================
Style for property category page
=============================================================*/
.property_category{
	border: 0.01em solid #ddd;
    padding: 1em;
    border-radius: 0.4em;
	height: 30em;
}

.property_category h2{
    margin-bottom: 1em;
    border-bottom: 0.01em solid #ddd;
	padding-bottom: .5em;
}

.property_category ul li{
	padding: 1em;
    font-size: 1.1em;
}

.property_category ul li, .property_filter ul li:first-child{
	border-bottom: .01em dotted #3a7684;
}

.property_category ul li a{
	color: #3a7684;
	transition: .3s cubic-bezier(0.68, 1.07, 0.31, 0.62) all;
}

.property_category ul li:last-child{
	border-bottom: none;
}

.property_category ul li a:hover{
	color: #174351;
}

.cat_heading{
	left: 88%;
    margin-right: -6em;
    color: #fff;
    box-shadow: none;
    transform: rotate(45deg);
}

.cat_heading span{
	margin: 0 20%;
}



/*=============================================================
Style for property wishlist page
=============================================================*/
.wishlist_box .wishlist_button{
	width: fit-content;
    height: fit-content;
    padding: 1em;
    background: #ff0000;
    border-radius: 50%;
    float: right;
    position: relative;
    right: -0.4em;
    top: -0.4em;
	transition: .3s cubic-bezier(0.68, 1.07, 0.31, 0.62) background;
}

.wishlist_box .del_wlist{
	color: #fff;
}

.wishlist_box .wishlist_button:hover{
	background: #cc0000;
}



/*==========================================================
Style for property details page
===========================================================*/
.property_details{
	padding: 0 1em;
}

.property_title, .property_faq{
	margin-top: 4em;
}

.property_title h1, 
.property_details_body p span{
	font-weight: 600;
}

.property_details .property_location{
	font-size: 1.2em;
    line-height: 2em;
}

.property_gallery{
	display: grid;
	column-gap: 1em;
	row-gap: 8px;                         /* precise px so math works */
	grid-template-columns: repeat(4, 1fr);
	grid-template-areas: 'first first . .' 'first first . .';
	grid-template-rows: 206px 206px;      /* 206+8+206 = 420px = left max */
	margin: 2em 0;
}

.property_gallery img{
	border-radius: .3em;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.property_gallery div:first-child{
	grid-area: first;
	max-height: 420px;
	overflow: hidden;
}

.property_gallery div div{
	position: relative;
    background: rgba(0, 0, 0, .8);
    height: fit-content;
    width: fit-content;
    padding: 0.5em;
    margin-bottom: -2.15em;
    left: 86%;
    border-radius: 0.2em;
}

.property_gallery div div a{
	color: #ffffff;
}

/* ===== Property Gallery — New Split Layout ===== */
.pg_wrapper{
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
	margin: 2em 0;
}

.pg_main{
	flex: 0 0 50%;
	max-height: 420px;
	overflow: hidden;
	border-radius: 0.5em;
}

.pg_main.pg_full{
	flex: 1 1 100%;
}

.pg_main img{
	width: 100%;
	height: auto;
	max-height: 420px;
	display: block;
	cursor: zoom-in;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.pg_main img:hover{
	transform: scale(1.02);
}

.pg_grid{
	flex: 0 0 50%;
	/* height set by JS to match .pg_main */
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 0.5em;
	overflow: hidden;
}

.pg_grid.pg_full{
	flex: 1 1 100%;
}

.pg_thumb{
	position: relative;
	overflow: hidden;
	border-radius: 0.5em;
}

.pg_thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	cursor: zoom-in;
	transition: transform 0.3s ease;
}

.pg_thumb img:hover{
	transform: scale(1.05);
}

.pg_more_overlay{
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.52);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.pg_more_btn{
	color: #fff;
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.85);
	border-radius: 0.4em;
	padding: 0.45em 1.1em;
	font-size: 0.95em;
	font-weight: 600;
	letter-spacing: 0.03em;
	pointer-events: none;
}
/* ===== End Property Gallery ===== */

.property_small_details .taka_sign{
	width: 1.5em;
    float: none;
    position: relative;
    top: 0.2em;
}

.property_small_details h2{
	font-weight: 500;
}

.property_small_details h4{
	text-align: right;
	font-size: 1.5em;
}

.property_details_list{
	margin: 2em 0;
}

.property_details_list h1, .property_contact h1, .property_faq h1{
    padding: 0.6em 0 .4em;
}

.property_details_list h3, 
.property_contact h3, 
.faq_body h3{
    font-size: 1.6em;
    padding: 1em 0 0.4em;
}

.property_details_body{
	border-bottom: 0.1em solid #ddd;
}

.property_details_body:last-child{
	border-bottom: none;
}

.property_details_list .property_description p{
	text-transform: none;
}

.property_details_body p{
	font-size: 1.1em;
}

.property_details_body p, 
.property_contact p, 
.faq_body p{
	line-height: 2.2em;
}

.property_contact{
	margin-bottom: 2em;
}

.property_contact_title{
    margin-bottom: 1em;
}

.property_feature div{
	width: 50%;
}

.property_contact h3, 
.faq_body h3{
	padding-top: 0;
}

.property_contact .contact_part{
	width: 50%;
}

.property_contact .contact_part:first-child{
	margin-right: 5em;
}

.property_contact p, 
.faq_body p, .login_button span{
	font-size: 1.1em;
}

.faq_body p{
	margin-bottom: 1.5em;
}

.virtual_contact div:first-child{
	width: 30%;
    color: #396573;
    font-weight: 600;
}

.property_contact .action_button, .property_contact .login_button, .property_contact .contact_button{
    padding: 1em;
}

.property_contact .action_button button{
	width: 25%;
}



/*==========================================================
Style for add property page
===========================================================*/
.admin_nav, .admin_content{
    border: .15em solid #ddd;
    border-radius: 0.3em;
	font-size: 1.1em;
}

.admin_nav .backtosite i{
	transform: rotate(-145deg);
}

.admin_nav ul li a{
	padding: 1em 1.4em;
	color: #fff;
    box-shadow: inset 0em 5em 3em 0.3em #174351;
}

.admin_nav ul li:first-child a{
	border-top-left-radius: .3em;
	border-top-right-radius: .3em;
}

.admin_nav ul li:last-child a{
	border-bottom-left-radius: .3em;
	border-bottom-right-radius: .3em;
}

.row_number{
	padding: 0.15em 0.4em;
    background: #fff;
    color: #174351;
    border-radius: 50%;
    margin-left: 0.2em;
    position: relative;
    bottom: 0.5em;
}

.admin_nav ul li a:hover, #active_admin{
	background: #fff;
    box-shadow: inset 0em 1em 1em 0em #ddd;
	color: #3a7684;
}

.admin_nav ul li a:hover .row_number{
	background: #3a7684;
	color: #fff;
}

.topnav_admin{
	display: none;
}

.add_property_block .property_block_title{
	padding: 1em;
    background: #ededed;
    box-shadow: 0em 0.4em 0em #ddd;
    margin-bottom: 1em;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
}

.add_property_block{
	margin-bottom: 3.5em;
}

.add_property_block .property_block_body{
	width: 90%;
    margin: 0 auto;
	padding: 0.5em 0;
}

.add_property_block .add_property_title, 
.property_negotiable_check span{
	text-align: left;
    color: #444;
    margin-bottom: 0.4em;
}

.property_block_body input, 
.property_block_body select{
	box-shadow: 0 0 0.1em #a9a9a9;
	margin-bottom: 1em;
}

.property_block_body .property_negotiable_check{
	float: left;
}

.property_negotiable_check span{
	position: relative;
    bottom: 0.2em;
}



/*==========================================================
Style for dashboard pages
===========================================================*/
.my_dashboard_block{
	flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
	float: left;
    width: 45%;
    margin: 1em;
    padding: 1em;
    font-weight: 550;
    line-height: 2.5em;
    border: 0.1em solid #ddd;
    border-radius: 2em;
	box-shadow: -0.3em 0em 0em #000;
}

.my_dashboard_block:last-child{
	float: none;
    margin: 1em auto;
}

.my_dashboard_block .dashboard_block_body{
	float: left;
}

.my_dashboard_block .dashboard_block_body:first-child{
	width: 80%;
}

.my_dashboard_block .dashboard_block_body:last-child{
	width: 20%;
}

.dashboard_total_post{
	box-shadow: -0.3em 0em 0em #3a7684;
	color: #3a7684;
}

.dashboard_pending_post{
	box-shadow: -0.3em 0em 0em #ed143d;
	color: #ed143d;
}

.dashboard_published_post{
	box-shadow: -0.3em 0em 0em #32cd32;
	color: #32cd32;
}

.dashboard_booked_post{
	box-shadow: -0.3em 0em 0em #ff4500;
	color: #ff4500;
}

.dashboard_category{
	box-shadow: -0.3em 0em 0em #8a2be2;
	color: #8a2be2;
}

.dashboard_user{
	box-shadow: -0.3em 0em 0em #808080;
	color: #808080;
}

.dashboard_owner{
	box-shadow: -0.3em 0em 0em #0d0d44;
	color: #0d0d44;
}

.dashboard_tenant{
	box-shadow: -0.3em 0em 0em #936839;
	color: #936839;
}

.dashboard_notification{
	box-shadow: -0.3em 0em 0em #1e90ff;
	color: #1e90ff;
}

.dashboard_lower_part{
	margin: 2em auto;
    padding: 1em;
}

.dashboard_lower_part p{
	font-size: 2em;
	line-height: 1.4em;
	margin-bottom: .5em;
}



/*==========================================================
Style for admin property list page
===========================================================*/
.admin_property_table table{
	border-collapse: collapse;
}

.admin_property_table table th{
    background: #dfdfdf;
    padding: 0.5em;
}

.admin_property_table table td{
	padding: .5em;
	border-bottom: 0.1em solid #ddd;
}

.admin_property_table table tr:last-child td{
	border: none;
}

.admin_property_table table a{
	margin: .2em;
	display: inline-block !important;
	color: #333333;
    font-weight: 650;
}

.admin_property_table table a:hover{
	color: #000000;
}

.admin_property_table .published{
	font-weight: 600;
    background: #9b968e;
    width: fit-content;
    padding: 0.4em 1em;
    border-radius: 1em;
    margin: 0 auto;
    box-shadow: 0 0 0.2em #a9a9a9;
}

.property_filter{
	height: fit-content;
}

.property_filter ul li{
	border: none;
}


/*==========================================================
Style for profile page
===========================================================*/
.user_profile{
	width: 90%;
    margin: 0 auto;
    padding: 1em;
}

.profile_header .profile_image,
.profile_header .profile_label{
	width: 35%;
    margin: 0 auto;
}

.profile_header .profile_image{
	width: 15em;
	height: 15em;
    border-radius: 50%;
	margin-bottom: 1em;
}

.profile_image, 
.admin_property_table .user_img{
	padding: 0.15em;
    border: 0.1em solid #ddd;
	box-shadow: 0 0 0.15em #a9a9a9;
}

.profile_image img,
.admin_property_table .user_img{
	border-radius: 50%;
	object-fit: cover;
}

.profile_image img{
	width: 100%;
	height: 100%;
	display: block;
}

.profile_body table tr:first-child td, .profile_body table tr td:first-child, .msg_field_box{
    line-height: initial;
    text-align: left;
	font-weight: 600;
}

.profile_body table tr td {
    text-align: left !important;
}

.profile_body table tr{
	line-height: 6em;
}

.profile_body table h3{
	margin-top: 2.5em;
}

.add_cat_block{
	margin-top: 3.5em;
}

.cover_img_block{
	width: 15em;
    margin: 0 auto;
    height: 11em;
}

.cover_img_block img{
	border-radius: .3em;
}

.admin_property_table .user_img{
	width: 4em;
    height: 4em;
}

.tbl_msg tr td{
	line-height: 4em !important;
}

.tbl_msg a, {
	display: initial;
	color: #fff;
}

.msg_view_content {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	padding: 12px 14px;
	min-height: 80px;
	line-height: 1.7;
	color: #333;
	white-space: pre-wrap;
	word-break: break-word;
	width: 100%;
	box-sizing: border-box;
}

.msg_field_box:first-child{
	width: 12%;
    padding: 1em 0;
}

.msg_field_box:last-child{
	width: 90%;
}

.msg_button a{
	width: fit-content;
    float: left;
    margin: 0 auto;
    position: relative;
    left: 38%;
    color: #fff;
}

.admin_page_title .page_title{
	padding: 1em;
    border-top-left-radius: 2em;
    border-bottom-right-radius: 2em;
    border-bottom-left-radius: 0.2em;
    border-top-right-radius: 0.2em;
    background: #888888;
    box-shadow: inset 0em 5em 3em 0.3em #525252;
}

.admin_page_title h1{
	width: 85%;
    float: left;
    margin: 0 auto;
    position: relative;
    left: 7%;
}

.admin_page_title h4{
	width: 15%;
    float: left;
    text-align: center;
    text-transform: capitalize;
    line-height: 2.5em;
    background: #f9f9f9;
    border-radius: 2em;
    box-shadow: inset 0 1em 0.5em #ddd;
}

.admin_page_title a{
    color: #888888;
}

.hidemenu, .hide_dashboard_menu{
	max-height: fit-content;
	overflow: inherit;
	z-index: 100;
}





/*========================================================
Responsive style: For small screen
=========================================================*/

/*-------------- For Small devices ---------------*/
@media only screen and (max-width:355px){
	html{
		font-size: 91%;
	}
	
	.mcol_12, .mcol_3, .mcol_8, .mcol_9{
		width: 100%;
	}
	
	.topnav ul, .topnav_bars, .top_left ul, .searchform table tr td, .list .list_content, .about .about_text, .contact_body, .topnav_admin, .property_box .property_box_content, .property_contact .property_contact_body, .register .tbl_form td, .small_display_table table td, .admin_property_table table a, .profile_body table tr td, .mcol_12, .mcol_3, .mcol_8, .mcol_9, .msg_block_body, .footer-top .footer_content{
		display: block;
	}
	
	.topnav{
		overflow: hidden;
		max-height: 33px;
		transition: .5s cubic-bezier(0.68, 1.07, 0.31, 0.62) max-height;
	}
	
	.topnav_bars{
		padding: 0.2em;
	}
	
	.hidemenu{
		max-height: fit-content;
		overflow: inherit;
	}
	
	.property_dropdown{
		left: 5em;
	}
	
	.top_left, .top_right{
		font-size: 58%;
		font-weight: 545;
		width: fit-content;
	}
	
	.top_left ul{
		text-align: left;
		margin-left: 1em;
	}
	
	.top_left .top_header_list{
		line-height: 2em;
	}
	
	.centered h1 {
		font-size: 1.25em;
	}
	
	.searchform .select {
		font-size: .7em;
	}
	
	.searchform table .last_select .select{
		max-width: initial;
	}
	
	.searchform button{
		padding: 0.2em;
		position: relative;
		top: 0.25em;
	}
	
	.searchform button span, .admin_aside{
		display:none;
	}
	
	.list_item{
		width: 100%;
		margin-bottom: 1.5em;
	}
	
	.item_pricebox .item_upper_left{
		width: 42%;
	}
	
	.item_pricebox .item_wlist_icon{
		width: 14%;
	}
	
	.sub-title{
		font-size: 1.9em;
	}
	
	.contact_body .contact_part, .property_contact_body .contact_part{
		width: 95%;
	}
	
	.contact_body .contact_part:last-child{
		height: 15em;
	}
	
	.footer-top .footer_content{
		float: none;
		width: 80%;
		margin: 0 auto;
		margin-bottom: 1.4em;
	}
	
	.footer-top .footer_content h2{
		font-size: 1.3em;
	}
	
	.footer_text{
		margin: 0 auto;
		text-align: left;
		margin-bottom: 1em;
		overflow: visible;
	}
	
	.footer_content:first-child .footer_text .text_icon{
		width: 14%;
	}
	
	.footer_content:nth-child(2n) .footer_text .text_icon{
		width: 20%;
		position: relative;
		top: 0.7em;
	}
	
	.footer-top .footer_content:first-child .footer_text{
		margin-left: 10%
	}
	
	.footer-top .footer_content .footer_property{
		margin-left: 5%;
	}
	
	.property_details, .property_details_list h1, .property_description, .faq_title, .property_box_content, .property_small_details, .property_small_details h4, .profile_header .profile_label, .register .tbl_form, #example tr td:last-child, .footer-top .footer_content:last-child .footer_text, .footer-top .footer_content, .list_item{
		text-align: center;
	}
	
	.register{
		width: 85%;
		padding: 1.5em;
	}
	
	.register .tbl_form td:first-child {
		width: initial;
	}
	
	.register .tbl_form caption{
		font-size: .7em;
	}
	
	.register .tbl_form label{
		width: 100%;
		margin-bottom: 1em;
		margin-left: 0;
	}
	
	.responsive_display{
		font-size: 93%;
	}
	
	.property_category{
		height: fit-content;
	}
	
	.property_box .property_box_text, 
	.property_box .property_box_img{
		width: 100%;
	}
	
	.property_box img {
		border-radius: 0;
		border-top-left-radius: 0.4em;
		border-top-right-radius: 0.4em;
	}
	
	.property_box p:last-child,
	.prop_price{
		float: none;
	}
	
	.pagination{
		font-size: .7em;
		width: 50%;
	}
	
	.property_title h1{
		font-size: 1.32em;
	}
	
	.property_small_details{
		font-size: .75em;
	}
	
	.property_details_list h1{
		font-size: 1.5em;
	}
	
	.property_gallery{
		grid-gap: 0.3em;
	}

	.pg_wrapper{
		flex-direction: column;
	}
	.pg_main{
		flex: none;
		max-height: 240px;
	}
	.pg_main img{
		max-height: 240px;
	}
	.pg_grid{
		flex: none;
		height: 200px !important; /* override JS sync on mobile */
	}

	.property_contact .action_button button{
		width: fit-content;
	}

	.wishlist_box .wishlist_button{
		margin-left: -5em;
	}

	.property_contact_title h1,
	.faq_title h1{
		font-size: 1.5em;
		margin-bottom: 1em;
	}

	.virtual_contact:first-child div:last-child,
	.virtual_contact:last-child div:last-child{
		margin-left: 1em;
	}
	
	.admin_page_title h1{
		width: 100%;
		float: none;
		left: 0;
	}
	
	.admin_page_title h4{
		width: fit-content;
		padding: 0.1em 1em;
		line-height: 1.6em;
		float: none;
		margin: 0 auto;
		margin-top: 0.8em;
	}
	
	.my_dashboard_block{
		width: initial;
		float: none;
	}
	
	.my_dashboard_block:last-child{
		margin: 1em;
	}
	
	.my_dashboard_block .dashboard_block_body:first-child{
		width: 72%;
	}
	
	.my_dashboard_block .dashboard_block_body:last-child{
		width: 25%;
	}
	
	#example tr td:last-child{
		font-size: .59em;
	}
	
	.admin_property_table .published{
		margin-bottom: 1em;
	}
	
	.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter{
		overflow: hidden;
		margin-bottom: 1em;
	}
	
	.dataTables_wrapper label{
		width: 100%;
	}
	
	.dataTables_wrapper input, .admin_property_table table td{
		width: 95%;
	}
	
	.responsive_mcol_small{
		padding-left: 0;
		padding-right: 0;
	}
	
	.admin_property_table table td{
		border-bottom: none;
	}
	
	.overflow_x{
		overflow: scroll;
	}
	
	.admin_property_table .user_img{
		width: 2em;
		height: 2em;
	}
	
	.profile_header .profile_image{
		height: 5.4em;
	}
	
	.profile_header .profile_label{
		width: 100%;
	}
	
	.profile_body table h3{
		margin-bottom: 1.2em;
	}
	
	.msg_field_box{
		width: 100% !important;
		float: none;
	}
	
	.slick-next, .slick-prev{
		display: none;
	}
}


@media only screen and (min-width:355px) and (max-width: 772px){
	html{
		font-size: 91%;
	}
	
	.mcol_12, .mcol_3, .mcol_8, .mcol_9{
		width: 100%;
	}
	
	.topnav ul, .topnav_bars, .top_left ul, .searchform table tr td, .list .list_content, .about .about_text, .contact_body, .topnav_admin, .property_box .property_box_content, .property_contact .property_contact_body, .register .tbl_form td, .small_display_table table td, .admin_property_table table a, .profile_body table tr td, .mcol_12, .mcol_3, .mcol_8, .mcol_9, .msg_block_body, .footer-top .footer_content{
		display: block;
	}
	
	.admin_small_screen_td a{
		display: inline-block !important;
	}
	
	.topnav{
		overflow: hidden;
		max-height: 33px;
		transition: .5s cubic-bezier(0.68, 1.07, 0.31, 0.62) max-height;
	}
	
	.topnav_bars{
		padding: 0.2em;
	}
	
	.hidemenu{
		max-height: fit-content;
		overflow: inherit;
	}
	
	.property_dropdown{
		left: 45%;
	}
	
	.top_left, .top_right{
		font-size: 58%;
		font-weight: 545;
		width: fit-content;
	}
	
	.top_left ul{
		text-align: left;
		margin-left: 1em;
	}
	
	.top_left .top_header_list{
		line-height: 2em;
	}
	
	.centered h1 {
		font-size: 1.25em;
	}
	
	.searchform .select {
		font-size: .7em;
	}
	
	.searchform table .last_select .select{
		max-width: initial;
	}
	
	.searchform button{
		padding: 0.2em;
		position: relative;
		top: 0.25em;
	}
	
	.searchform button span, .admin_aside{
		display:none;
	}
	
	.item_box_upper .item_pricebox{
		bottom: 3em;
	}
	
	.list_item{
		width: 100%;
		margin-bottom: 1.5em;
	}
	
	.item_pricebox .item_upper_left{
		width: 32%;
		padding: 2%;
	}
	
	.item_pricebox .item_wlist_icon{
		width: 14%;
	}
	
	.sub-title{
		font-size: 1.9em;
	}
	
	.contact_body .contact_part, .property_contact_body .contact_part{
		width: 95%;
	}
	
	.contact_body .contact_part:last-child{
		height: 15em;
	}
	
	.footer-top .footer_content {
		float: none;
		width: 80%;
		margin: 0 auto;
		margin-bottom: 1.4em;
	}
	
	.footer-top .footer_content h2{
		font-size: 1.3em;
	}
	
	.footer_text{
		margin: 0 auto;
		text-align: left;
		margin-bottom: 1em;
		overflow: visible;
	}
	
	.footer_content:first-child .footer_text .text_icon{
		width: 12%;
	}
	
	.footer_content:nth-child(2n) .footer_text .text_icon{
		width: 20%;
		position: relative;
		top: 0.7em;
	}
	
	.footer-top .footer_content:first-child .footer_text{
		margin-left: 25%
	}
	
	.footer-top .footer_content .footer_property{
		margin-left: 20%;
	}
	
	.property_details, .property_details_list h1, .property_description, .faq_title, .property_box_content, .property_small_details, .property_small_details h4, .profile_header .profile_label, .register .tbl_form, #example tr td:last-child, .footer-top .footer_content:last-child .footer_text, .list_item, .footer-top .footer_content{
		text-align: center;
	}
	
	.register{
		width: 85%;
		padding: 1.5em;
		display: flex;
		flex-direction: column-reverse;
	}
	
	.register input[type=text], .register input[type=email], .register input[type=password], .register input[type=phone], .register textarea{
		width: 90%;
		float: none;
	}
	
	.form_container .mcol_9{
		padding-bottom: 0;
		margin-bottom: -6em;
	}
	
	.form_container .signup_bg{
		height: 22em;
		margin-top: 6em;
	}
	
	.register .tbl_form td:first-child {
		width: initial;
	}
	
	.register .tbl_form label{
		width: 100%;
		margin-bottom: 1em;
		margin-left: 0;
	}
	
	.responsive_display{
		font-size: 93%;
	}
	
	.property_category{
		height: fit-content;
	}
	
	.property_box .property_box_text, 
	.property_box .property_box_img{
		width: 100%;
	}
	
	.property_box img {
		border-radius: 0;
		border-top-left-radius: 0.4em;
		border-top-right-radius: 0.4em;
	}
	
	.property_box p:last-child,
	.prop_price{
		float: none;
	}
	
	.pagination{
		font-size: .7em;
		width: 50%;
	}
	
	.property_title h1{
		font-size: 1.32em;
	}
	
	.property_small_details{
		font-size: .75em;
	}
	
	.property_details_list h1{
		font-size: 1.5em;
	}
	
	.property_gallery{
		grid-gap: 0.3em;
	}

	.pg_wrapper{
		flex-direction: column;
	}
	.pg_main{
		flex: none;
		max-height: 240px;
	}
	.pg_main img{
		max-height: 240px;
	}
	.pg_grid{
		flex: none;
		height: 200px !important; /* override JS sync on mobile */
	}

	.property_contact .action_button button{
		width: fit-content;
	}

	.wishlist_box .wishlist_button{
		margin-left: -5em;
	}

	.property_contact_title h1,
	.faq_title h1{
		font-size: 1.5em;
		margin-bottom: 1em;
	}

	.virtual_contact:first-child div:last-child,
	.virtual_contact:last-child div:last-child{
		margin-left: 1em;
	}
	
	.admin_page_title h1{
		width: 100%;
		float: none;
		left: 0;
	}
	
	.admin_page_title h4{
		width: fit-content;
		padding: 0.1em 1em;
		line-height: 1.6em;
		float: none;
		margin: 0 auto;
		margin-top: 0.8em;
	}
	
	.my_dashboard_block{
		width: initial;
		float: none;
	}
	
	.my_dashboard_block:last-child{
		margin: 1em;
	}
	
	.my_dashboard_block .dashboard_block_body:first-child{
		width: 72%;
	}
	
	.my_dashboard_block .dashboard_block_body:last-child{
		width: 25%;
	}
	
	#example tr td:last-child{
		font-size: .59em;
	}
	
	.admin_property_table .published{
		margin-bottom: 1em;
	}
	
	.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter{
		overflow: hidden;
		margin-bottom: 1em;
	}
	
	.dataTables_wrapper label{
		width: 100%;
	}
	
	.dataTables_wrapper input, .admin_property_table table td{
		width: 95%;
		margin: 0 auto;
	}
	
	.responsive_mcol_small{
		padding-left: 0;
		padding-right: 0;
	}
	
	.admin_property_table table td{
		border-bottom: none;
	}
	
	.overflow_x{
		overflow: scroll;
	}
	
	.admin_property_table .user_img{
		width: 2em;
		height: 2em;
	}
	
	.profile_header .profile_image, .profile_image img{
		border-radius: 1em;
	}
	
	.profile_header .profile_image{
		width: 10em;
		height: 10em;
		box-shadow: 0 0 0.4em #a9a9a9;
		padding: 0;
		border: 0;
	}
	
	.profile_header .profile_label{
		width: 100%;
	}
	
	.profile_body table h3{
		margin-bottom: 1.2em;
	}
	
	.msg_button a{
		display: block;
		float: none;
		left: 0;
		margin-top: 0.8em;
	}
	
	.msg_field_box{
		width: 100% !important;
		float: none;
	}
	
	.slick-next, .slick-prev{
		display: none !important;
	}
}


/*-------------- For Medium Devices ---------------*/
@media only screen and (min-width:576px) and (max-width: 772px){	
	html{
		font-size: 95%;
	}
	
	.top_left, .top_right{
		font-size: 100%;
	}
	
	.topnav{
		max-height: 45px;
	}
	
	.topnav_bars{
		padding: 0.4em;
	}
	
	.hidemenu{
		max-height: fit-content;
	}
	
	.footer-top .footer_content{
		text-align: center;
		display: inline-block;
		float: left;
		width: 50%;
	}
	
	.footer-top .footer_content:last-child{
		width: 100%;
	}
	
	.property_small_details{
		font-size: initial;
	}
	
	.property_title h1{
		font-size: 2.2em;
	}
	
	.property_small_details, .property_small_details h4{
		text-align: inherit;
	}
	
	.property_small_details h4{
		text-align: right;
	}
	
	.property_contact_body .contact_part{
		margin: 0 auto;
		margin-top: 1.5em;
	}
	
	.virtual_contact div:last-child{
		width: 100%;
	}
	
	.contact_part:last-child{
		margin-top: 1em;
	}
	
	.register .tbl_form td{
		display: inline-block;
	}
	
	.register .tbl_form td:first-child{
		width: 30%;
	}
	
	.register .tbl_form td:last-child{
		width: 70%;
	}
	
	.register .tbl_form label{
		width: initial;
		margin-bottom: 0;
	}
	
	table.dataTable thead{
		font-size: initial;
	}
	
	.dataTables_wrapper label {
		width: initial;
	}
	
	.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter {
		overflow: inherit;
		margin-bottom: 0;
	}
	
	.admin_property_table table a{
		display: inherit;
	}
	
	#example tr td:last-child{
		font-size: initial;
	}
	
	#example tr:nth-child(2n) img{
		margin-top: 3em;
	}
	
	.slick-next, .slick-prev{
		display: none !important;
	}
}


@media only screen and (min-width: 772px) and (max-width: 1028px){
	html{
		font-size: 80%;
	}
	
	.top_left, .top_right{
		font-size: 90%;
	}
	
	.dataTables_wrapper {
		font-size: 80%;
	}
	
	.topnav{
		font-size: 90%;
	}
}


/*-------------- For Large Devices ---------------*/
@media only screen and (min-width: 1028px) and (max-width: 2052px){
	html{
		font-size: 90%;
	}
	
	.top_left{
		width: 65%;
	}
	
	.item_box_upper .item_pricebox{
		bottom: 0;
	}
}


/*-------------- For 2K & 4K Resolutions ---------------*/
@media only screen and (min-width: 2052px){
	body{
		zoom: 1.8;
	}
}


@media only screen and (min-width: 3840px){
	body{
		zoom: 2.9;
	}
}


/* ============================================== */
/* Property Details — Plan A Redesign             */
/* ============================================== */

/* Two-column layout */
.pd_layout{
	display: flex;
	gap: 28px;
	align-items: flex-start;
	padding: 10px 0 40px;
}
.pd_main{
	flex: 1 1 0;
	min-width: 0;
}
.pd_sidebar{
	width: 300px;
	flex-shrink: 0;
}
.pd_sidebar_inner{
	position: sticky;
	top: 80px;
	background: #fff;
	border: 1px solid #e0e6ef;
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 4px 16px rgba(0,0,0,.07);
}

/* Title block */
.pd_title{ font-size: 1.55em; font-weight: 700; color: #1a2844; margin-bottom: 6px; }
.pd_address{ color: #666; font-size: .93em; margin-bottom: 10px; }
.pd_badges{ display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 10px; }
.pd_badge{
	display: inline-block; padding: 3px 12px; border-radius: 20px;
	font-size: 12px; font-weight: 700; border: 1px solid transparent;
}
.pd_specs_row{
	display: flex; flex-wrap: wrap; gap: 14px;
	padding: 10px 0; border-top: 1px solid #f0f0f0; border-bottom: 1px solid #f0f0f0;
	margin-bottom: 4px; color: #555; font-size: .88em;
}
.pd_specs_row span{ display: flex; align-items: center; gap: 4px; }

/* Section wrapper */
.pd_section{
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid #eef0f5;
}
.pd_section_title{
	font-size: 1.1em; font-weight: 700; color: #1a2844;
	margin-bottom: 16px; padding-left: 10px;
	border-left: 4px solid #2c7be5;
}
.pd_sub_title{
	font-size: .95em; font-weight: 600; color: #444;
	margin: 16px 0 10px;
}

/* Equipment icon grid */
.pd_equip_grid{
	display: flex; flex-wrap: wrap; gap: 10px;
}
.pd_equip_item{
	display: flex; flex-direction: column; align-items: center; gap: 6px;
	width: 80px; padding: 12px 8px;
	border: 1px solid #dde4ee; border-radius: 10px;
	font-size: 11px; color: #2c7be5; text-align: center;
	background: #f0f5ff;
}
.pd_equip_item i{ font-size: 1.6em; }
.pd_equip_off{
	color: #bbb !important; background: #f7f7f7 !important;
	border-color: #eee !important;
}
.pd_equip_off i{ color: #ccc !important; }

/* House rules */
.pd_rules_block{ margin-top: 16px; }
.pd_rules_list{ display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 4px 0; }
.pd_rules_list li{ display: flex; align-items: center; gap: 6px; font-size: .9em; color: #444; }
.pd_rules_list li i{ color: #2c7be5; }

/* Info grid */
.pd_info_grid{
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 0;
}
.pd_info_row{
	display: flex; align-items: baseline; gap: 8px;
	padding: 9px 12px; border-bottom: 1px solid #f3f4f8;
}
.pd_info_row:nth-child(even){ background: #fafbfe; }
.pd_info_full{ grid-column: 1 / -1; }
.pd_info_label{ color: #888; font-size: .82em; white-space: nowrap; flex-shrink: 0; }
.pd_info_val{ font-weight: 500; font-size: .9em; color: #222; }

/* Property description */
.pd_description{ line-height: 1.8; color: #444; font-size: .93em; }

/* Owner note */
.pd_owner_note{
	background: #f8fafe; border-left: 3px solid #2c7be5;
	padding: 14px 16px; border-radius: 0 8px 8px 0;
	line-height: 1.8; font-size: .9em; color: #444; white-space: pre-wrap;
}

/* Negotiable tag */
.pd_negotiable{
	display: inline-block; padding: 1px 8px; border-radius: 10px;
	background: #e8f4fd; color: #2c7be5; font-size: .78em; font-weight: 600;
}

/* ---- Sidebar price ---- */
.pd_price_block{
	text-align: center; padding: 12px 0 16px;
	border-bottom: 1px solid #eef0f5; margin-bottom: 16px;
}
.pd_price_num{
	font-size: 1.9em; font-weight: 800; color: #e74c3c; letter-spacing: -.5px;
}
.pd_price_unit{ font-size: .95em; color: #888; margin-left: 2px; }

/* ---- Sidebar owner card ---- */
.pd_owner_card{
	display: flex; align-items: flex-start; gap: 12px;
	margin-bottom: 16px;
}
.pd_owner_avatar{
	width: 50px; height: 50px; border-radius: 50%; overflow: hidden;
	flex-shrink: 0; border: 2px solid #e0e6ef;
}
.pd_owner_avatar img{ object-fit: cover; width: 100%; height: 100%; }
.pd_owner_info{ display: flex; flex-direction: column; gap: 3px; }
.pd_owner_name{ font-size: .92em; font-weight: 600; color: #1a2844; }
.pd_owner_badge{
	display: inline-block; padding: 1px 7px; border-radius: 10px;
	background: #fff3e0; color: #e67e22; font-size: .72em; font-weight: 600;
	border: 1px solid #f5cba7; width: fit-content;
}
.pd_owner_since{ font-size: .77em; color: #999; display: flex; align-items: center; gap: 4px; }

/* ---- Sidebar buttons ---- */
.pd_btn_phone{
	display: flex; align-items: center; justify-content: center;
	padding: 11px 16px; border-radius: 8px; font-weight: 700; font-size: .95em;
	background: #e74c3c; color: #fff; margin-bottom: 10px;
	transition: background .2s;
}
.pd_btn_phone:hover{ background: #c0392b; color: #fff; }
.pd_btn_msg{
	display: flex; align-items: center; justify-content: center;
	padding: 11px 16px; border-radius: 8px; font-weight: 700; font-size: .95em;
	background: #2c7be5; color: #fff; margin-bottom: 14px;
	transition: background .2s;
}
.pd_btn_msg:hover{ background: #1a5fbf; color: #fff; }

/* ---- Fraud warning ---- */
.pd_fraud_warning{
	display: flex; align-items: flex-start; gap: 8px;
	background: #fff8e1; border: 1px solid #ffe082;
	border-radius: 8px; padding: 10px 12px;
	font-size: .78em; color: #7d5a00; line-height: 1.5;
}
.pd_fraud_warning i{ color: #e67e22; flex-shrink: 0; margin-top: 2px; }

/* ---- LINE button & QR modal ---- */
.pd_btn_line{
	display: flex; align-items: center; justify-content: center;
	padding: 11px 16px; border-radius: 8px; font-weight: 700; font-size: .95em;
	background: #06C755; color: #fff; margin-bottom: 14px;
	border: none; cursor: pointer; width: 100%;
	transition: background .2s;
}
.pd_btn_line:hover{ background: #05a849; }

.line_qr_box{
	background: #fff; border-radius: 16px; padding: 28px 24px 24px;
	text-align: center; position: relative; max-width: 300px; width: 90%;
	box-shadow: 0 8px 40px rgba(0,0,0,.22);
	animation: lineQrIn .18s ease;
}
@keyframes lineQrIn{ from{transform:scale(.9);opacity:0} to{transform:scale(1);opacity:1} }
.line_qr_close{
	position: absolute; top: 12px; right: 16px;
	background: none; border: none; font-size: 1.6em;
	color: #aaa; cursor: pointer; line-height: 1;
}
.line_qr_close:hover{ color: #555; }
.line_qr_header{
	display: flex; align-items: center; justify-content: center; gap: 8px;
	margin-bottom: 16px;
}
.line_qr_header span{ font-size: 1.6em; font-weight: 800; color: #06C755; }
.line_qr_img_wrap{
	border: 3px solid #06C755; border-radius: 12px; display: inline-block;
	padding: 6px; margin-bottom: 12px;
}
.line_qr_img_wrap img{ display: block; border-radius: 6px; }
.line_qr_label{ font-size: .95em; color: #222; font-weight: 600; margin-bottom: 4px; }
.line_qr_id{ font-size: .85em; color: #666; margin-bottom: 14px; }
.line_qr_link{
	display: inline-block; padding: 8px 18px; border-radius: 8px;
	background: #06C755; color: #fff; font-size: .82em; font-weight: 700;
	transition: background .2s;
}
.line_qr_link:hover{ background: #05a849; color: #fff; }

/* ---- Owner note empty state ---- */
.pd_owner_note_empty{
	display: flex; align-items: center; gap: 10px;
	background: #f8f9fb; border: 1.5px dashed #d0d7e6;
	border-radius: 8px; padding: 16px 20px;
	color: #aab; font-size: .9em;
}
.pd_owner_note_empty i{ font-size: 1.3em; color: #c5cfe0; }
.pd_owner_note_edit{
	margin-left: auto; display: inline-flex; align-items: center; gap: 5px;
	padding: 5px 12px; border-radius: 6px;
	background: #eef3fc; color: #2c7be5; font-size: .82em; font-weight: 600;
	border: 1px solid #c5d8f8; white-space: nowrap;
	transition: background .2s;
}
.pd_owner_note_edit:hover{ background: #daeaff; color: #1a5fbf; }

/* ---- Sidebar deposit row ---- */
.pd_deposit_row{
	display: flex; align-items: center; gap: 8px;
	background: #f0f5ff; border-radius: 8px; padding: 9px 12px;
	margin-bottom: 14px; font-size: .85em; color: #444;
}
.pd_deposit_row i{ color: #2c7be5; }
.pd_deposit_row strong{ color: #1a2844; }

/* Responsive — stack on mobile */
@media only screen and (max-width: 900px){
	.pd_layout{ flex-direction: column; }
	.pd_sidebar{ width: 100%; }
	.pd_sidebar_inner{ position: static; }
	.pd_info_grid{ grid-template-columns: 1fr; }
	.pd_equip_grid{ gap: 8px; }
	.pd_equip_item{ width: 70px; font-size: 10px; }
}





