/*
Theme Name: New Estate
Author: Ponvendhan
Description: A modern, lightweight WordPress theme for Lister Group - mortgages, lettings and property services.
Theme URI: http://www.ammuthemes.com/downloads/new-estate-pro/
Author URI: http://www.ammuthemes.com/
Version: 2.0.0
Tags: custom-menu, custom-logo, custom-background, right-sidebar, featured-images, theme-options, threaded-comments, e-commerce, footer-widgets
Text Domain: new-estate
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ==========================================================================
   CSS Variables
   ========================================================================== */
:root {
	--green: #1ab513;
	--green-dark: #159410;
	--green-light: #e8f8e7;
	--dark: #1a1a2e;
	--text: #444;
	--text-light: #777;
	--border: #e8e8e8;
	--bg: #f5f5f5;
	--white: #fff;
	--shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
	--shadow: 0 2px 12px rgba(0,0,0,0.08);
	--shadow-lg: 0 8px 30px rgba(0,0,0,0.12);
	--radius: 8px;
	--radius-lg: 12px;
	--transition: all 0.25s ease;
}

/* ==========================================================================
   Global
   ========================================================================== */
* {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--text);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	text-decoration: none;
	transition: var(--transition);
	color: var(--green);
}
a:hover, a:active, a:focus {
	text-decoration: none !important;
	color: var(--green-dark);
}

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

.no-pad { padding: 0 !important; }

/* ==========================================================================
   Contact Bar (green bar at very top)
   ========================================================================== */
.contact-bar {
	background: var(--green);
	color: var(--white);
	font-size: 13px;
	line-height: 36px;
}
.contact-bar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.contact-bar-left {
	display: flex;
	gap: 20px;
}
.contact-bar-left a {
	color: var(--white) !important;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.contact-bar-left a:hover {
	color: rgba(255,255,255,0.8) !important;
}
.contact-bar-left i {
	font-size: 14px;
}
.contact-bar-right {
	display: flex;
	gap: 8px;
}
.contact-bar-right .btn-factfind {
	background: rgba(255,255,255,0.2);
	color: var(--white) !important;
	padding: 3px 12px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.6;
}
.contact-bar-right .btn-factfind:hover {
	background: rgba(255,255,255,0.3);
	color: var(--white) !important;
}
.contact-bar-right .btn-tenants {
	background: transparent;
	color: var(--white) !important;
	border: 1px solid rgba(255,255,255,0.4);
	padding: 3px 12px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.6;
}
.contact-bar-right .btn-tenants:hover {
	background: rgba(255,255,255,0.15);
	color: var(--white) !important;
}

/* ==========================================================================
   Top Bar (legacy customizer bar)
   ========================================================================== */
.top-bar {
	font-size: 13px;
	background: var(--dark);
	color: rgba(255,255,255,0.7);
	border-top: 3px solid var(--green);
	padding: 0;
	height: auto;
	line-height: 38px;
}
.top-left { float: left; }
.top-right { float: right; padding: 0; display: flex; align-items: center; gap: 15px; line-height: 38px; }
.top-bar i { float: left; line-height: 38px; color: var(--green); }
.top-bar p { float: left; padding-left: 8px; line-height: 38px; margin: 0; }
.top-right div { float: left; margin-left: 15px; }
.top-right-share a {
	float: left;
	padding-left: 8px;
	color: rgba(255,255,255,0.6);
	font-size: 16px;
}
.top-right-share a:hover { color: var(--green); }

.top-bar-cta {
	display: inline-flex;
	gap: 8px;
	margin-left: 15px;
	line-height: 38px;
}
.top-bar-cta a {
	display: inline-block;
	padding: 4px 14px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.6;
	position: relative;
	top: -1px;
}
.btn-factfind {
	background: var(--green);
	color: var(--white) !important;
}
.btn-factfind:hover {
	background: var(--green-dark);
	color: var(--white) !important;
}
.btn-tenants {
	background: transparent;
	color: var(--white) !important;
	border: 1px solid rgba(255,255,255,0.3);
}
.btn-tenants:hover {
	border-color: var(--green);
	color: var(--green) !important;
}

/* ==========================================================================
   Header / Logo / Navigation
   ========================================================================== */
.logo-area {
	background: var(--white);
	padding: 0;
	box-shadow: var(--shadow-sm);
	position: relative;
	z-index: 100;
}
.site-header {
	padding: 15px 0;
	height: auto;
	min-height: 70px;
	display: flex;
	align-items: center;
}
.site-logo h1, .site-logo p {
	margin: 0;
	padding: 0;
}
.site-logo .custom-logo {
	max-height: 50px;
	width: auto;
}
.site-top { border-bottom: none; }
.logo-nav { padding: 0; display: flex; align-items: center; justify-content: flex-end; min-height: 70px; }
.logo-nav ul { float: right; margin: 0; padding: 0; }
.logo-nav ul li { list-style: none; display: inline-block; }
.logo-nav ul li a {
	font-size: 15px;
	color: var(--dark);
	padding: 8px 16px;
	font-weight: 500;
	position: relative;
}
.logo-nav ul li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 16px;
	right: 16px;
	height: 2px;
	background: var(--green);
	transform: scaleX(0);
	transition: transform 0.25s ease;
}
.logo-nav ul li a:hover {
	color: var(--green);
}
.logo-nav ul li a:hover::after {
	transform: scaleX(1);
}

/* Dropdown menus */
.navi li { position: relative; }
.navi li ul {
	position: absolute;
	display: none;
	top: 100%;
	left: 10px;
	z-index: 999;
	background: var(--white);
	padding: 8px 0;
	border: none;
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	width: 220px;
	margin-top: 5px;
}
.navi li ul li { padding: 0; float: left; display: block; width: 100%; }
.navi li ul li a {
	float: left;
	display: block;
	width: 100%;
	text-align: left;
	padding: 8px 20px;
	border-bottom: none;
	font-size: 14px;
}
.navi li ul li a::after { display: none; }
.navi li ul li a:hover { background: var(--green-light); color: var(--green); }
.navi li:hover > ul { display: block; }
.navi li ul li ul { position: absolute; top: 0; left: -220px !important; box-shadow: var(--shadow-lg); }

/* Mobile menu */
.slicknav_menu {
	display: none;
	margin-bottom: 0;
	background: var(--white);
	border-bottom: 1px solid var(--border);
}
.slicknav_btn { background: var(--green); border-radius: var(--radius); }
.slicknav_nav { background: var(--white); }
.slicknav_nav a { color: var(--dark); padding: 10px 15px; font-size: 14px; }
.slicknav_nav a:hover { background: var(--green-light); color: var(--green); border-radius: 0; }
.slicknav_nav .slicknav_arrow { color: var(--green); }

/* Header scroll state */
.logo-area.scrolled {
	box-shadow: var(--shadow);
	position: sticky;
	top: 0;
}

/* ==========================================================================
   Site Title
   ========================================================================== */
.site-title { font-size: 28px; font-weight: 700; }
.site-title a { color: var(--dark); }
.site-title a:hover { color: var(--green); }
.site-title h2 {
	text-align: center;
	padding-bottom: 10px;
	font-size: 22px;
	color: var(--text);
	font-weight: 600;
}
.site-title hr {
	width: 60px;
	border: none;
	border-top: 3px solid var(--green);
	margin: 0 auto;
}

/* ==========================================================================
   Frontpage Template
   ========================================================================== */
.page-template-template-frontpage .content-full { background: var(--white); }

/* --- Slider / Hero --- */
.frontpage-slider { }
.frontpage-slider img { max-height: 700px; width: 100%; object-fit: cover; }
.frontpage-noimg { background: linear-gradient(135deg, var(--dark) 0%, #16213e 100%); min-height: 400px; }
.frontpage-slide-content {
	width: 100%;
	background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.6) 100%);
}
.frontpage-slide-texts {
	color: white;
	text-align: center;
	padding: 10% 20px 12%;
}
.frontpage-slide-texts h3 {
	padding: 0 0 15px 0;
	font-size: clamp(28px, 5vw, 48px);
	color: #fff;
	font-weight: 700;
	letter-spacing: 1px;
	margin-bottom: 10px;
	text-shadow: 0 2px 20px rgba(0,0,0,0.3);
	line-height: 1.2;
}
.frontpage-slide-texts p {
	font-size: 18px;
	padding: 0 0 10px 0;
	text-align: center;
	margin: 0 auto;
	max-width: 600px;
	color: rgba(255,255,255,0.9);
	line-height: 1.7;
}
.frontpage-slide-texts a {
	background: var(--green);
	color: white !important;
	padding: 14px 40px;
	margin: 10px 0;
	border-radius: 50px;
	font-size: 15px;
	font-weight: 600;
	display: inline-block;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 15px rgba(26,181,19,0.3);
}
.frontpage-slide-texts a:hover {
	background: var(--green-dark);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(26,181,19,0.4);
}
.frontpage-link { margin-top: 30px; }

/* --- Offers Section --- */
.frontpage-offer {
	padding: 60px 0;
	/* background: var(--bg); */
}
.frontpage-offer h3 {
	text-align: center;
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--dark);
}
.frontpage-offer-row { padding: 30px 0; }

.frontpage-singleoffer {
	text-align: center;
	margin-bottom: 30px;
	min-height: 280px;
	background: var(--white);
	padding: 40px 25px;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	transition: var(--transition);
}
.frontpage-singleoffer:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-lg);
}
.frontpage-singleoffer .icon { font-size: 32px; margin-bottom: 20px; }
.frontpage-singleoffer h4 {
	color: var(--dark);
	margin-bottom: 15px;
	font-size: 22px;
	font-weight: 600;
}
.frontpage-singleoffer p {
	font-size: 15px;
	margin-bottom: 25px;
	color: var(--text-light);
	line-height: 1.7;
}
.frontpage-singleoffer a {
	border: 2px solid var(--green);
	padding: 8px 24px;
	color: var(--green);
	border-radius: 50px;
	font-weight: 600;
	font-size: 14px;
	display: inline-block;
}
.frontpage-singleoffer a:hover {
	color: var(--white);
	background: var(--green);
	border: 2px solid var(--green);
}
.frontpage-offer i {
	background: var(--green);
	width: 80px;
	height: 80px;
	line-height: 80px;
	padding: 0;
	border-radius: 50%;
	color: #fff;
	font-size: 30px;
	transition: var(--transition);
	display: inline-block;
}
.frontpage-offer i:hover {
	background: var(--dark);
	transform: scale(1.05);
}

/* --- Call to Action --- */
.call2action {
	background: linear-gradient(135deg, var(--green) 0%, #0d8a08 100%);
	padding: 50px 0;
	text-align: center;
}
.call2action h3 {
	color: white;
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 20px;
}
.call2action a {
	color: #fff;
	border: 2px solid rgba(255,255,255,0.8);
	padding: 12px 35px;
	font-size: 16px;
	border-radius: 50px;
	font-weight: 600;
	display: inline-block;
}
.call2action a:hover {
	background: var(--white);
	color: var(--green);
	border-color: var(--white);
}

/* --- Content Section --- */
.frontpage-content { padding: 60px 0; }
.frontpage-content img { max-width: 100%; height: auto; border-radius: var(--radius); }
.frontpage-content .frontpage-content-area { background: var(--white); padding: 20px 0; }
.frontpage-content h3 {
	text-align: center;
	padding-bottom: 20px;
	font-size: 30px;
	font-weight: 700;
}
.frontpage-content h3 a { color: var(--dark); }
.frontpage-content h3 a:hover { color: var(--green); }
.frontpage-content p {
	font-size: 16px;
	line-height: 1.8;
	color: var(--text);
}
.frontpage-content .content-left { margin-bottom: 30px; }
.frontpage-content .content-right { margin-bottom: 30px; }

/* --- Latest Posts --- */
.frontpage-latestposts {
	padding: 60px 0;
	background: var(--bg);
}
.frontpage-latestposts h3 {
	text-align: center;
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 40px;
	color: var(--dark);
}
.frontpage-gridposts {
	background: var(--white);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow);
	margin-bottom: 30px;
	transition: var(--transition);
}
.frontpage-gridposts:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-lg);
}
.frontpage-gridposts img { width: 100%; height: auto; }
.frontpage-gridposts h4 { padding: 0 20px; margin-top: 15px; }
.frontpage-gridposts h4 a {
	color: var(--dark);
	font-size: 18px;
	line-height: 1.4;
	font-weight: 600;
}
.frontpage-gridposts h4 a:hover { color: var(--green); }
.frontpage-gridposts p {
	line-height: 1.7;
	font-size: 14px;
	margin-bottom: 15px;
	padding: 0 20px;
	color: var(--text-light);
}
.frontpage-gridposts-icons {
	color: var(--text-light);
	font-size: 13px;
	margin-bottom: 10px;
	padding: 0 20px;
}
.frontpage-gridposts-readmore {
	background: var(--green);
	color: white !important;
	padding: 8px 20px;
	border-radius: 50px;
	font-size: 13px;
	font-weight: 600;
	display: inline-block;
	margin: 0 20px 20px;
}
.frontpage-gridposts-readmore:hover {
	background: var(--green-dark);
	color: white;
}

.homepage-widget-area .widget_properties_map { padding: 0; }
.homepage-widget-area .widget_properties_map .map-wrapper { padding: 0; margin: 0; }

/* ==========================================================================
   Blog Index
   ========================================================================== */
.content-area { padding: 40px 0; }
.index-single-post {
	margin-bottom: 40px;
	background: var(--white);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow);
	transition: var(--transition);
}
.index-single-post:hover { box-shadow: var(--shadow-lg); }
.index-single-post img { width: 100%; height: auto; }
.index-single-post-content { margin: 0; padding: 5px; }
.index-meta {
	width: 100px;
	height: auto;
	background: var(--green);
	color: white;
	float: left;
	border-radius: var(--radius);
	margin: 15px;
	overflow: hidden;
}
.index-meta .index-date-meta { border-bottom: 1px solid rgba(255,255,255,0.2); }
.index-meta .index-date {
	color: white;
	font-size: 14px;
	border-right: 1px solid rgba(255,255,255,0.2);
	width: 40px;
	text-align: center;
	float: left;
	padding: 8px;
}
.index-meta .index-month {
	color: white;
	font-size: 11px;
	text-align: center;
	padding: 8px;
}
.index-date-comment { font-size: 16px; text-align: center; padding: 10px; }
.index-date-comment a { color: white; }
.index-date-comment a:hover { color: white; }
.index-title-content {
	padding: 15px 20px;
	float: left;
	width: 80%;
	margin: 0;
}
.index-title-content h1, .index-title-content h2 {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	padding-bottom: 10px;
	color: var(--dark);
}
.index-title-content a:hover { text-decoration: none; }
.index-title-content p {
	line-height: 1.7;
	color: var(--text);
	font-size: 15px;
}
.index-pagination {
	margin: 30px 0;
	text-align: center;
}
.index-pagination .page-numbers {
	background: var(--white);
	padding: 10px 16px;
	color: var(--text);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	margin: 0 3px;
	font-weight: 500;
	display: inline-block;
}
.index-pagination .current {
	background: var(--green);
	color: var(--white);
}
.archive-head {
	background: var(--white);
	text-align: center;
	margin: 0 0 30px 0;
	padding: 20px;
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
}

/* ==========================================================================
   Single Post
   ========================================================================== */
.single-post .content-full { }
.single-index { background: transparent; }
.single-content p {
	line-height: 1.8;
	font-size: 16px;
	margin: 20px 0;
	color: var(--text);
}
.single-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius);
}
.single-content h1, .single-content h2, .single-content h3 {
	color: var(--dark);
	font-weight: 600;
	margin-top: 30px;
}
.single-post .single-entry, .page .single-entry {
	background: var(--white);
	padding: 30px;
	margin-bottom: 30px;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
}
.single-post .single-entry img { height: auto; }

.index-title-contents h1 {
	padding: 10px 0 30px 0;
	font-size: 28px;
	font-weight: 700;
	color: var(--dark);
}
.single-content h2, .single-content h1 {
	padding: 15px 0 0 0;
	margin-left: 0;
}

.single-share-word { float: left; line-height: 50px; font-size: 16px; font-weight: 600; color: var(--dark); }
.single-share-icons { float: right; }
.single-share-icons a {
	color: var(--text-light);
	padding: 10px 0;
	border: 1px solid var(--border);
	margin-right: 5px;
	font-size: 20px;
	float: left;
	width: 50px;
	text-align: center;
	border-radius: var(--radius);
	transition: var(--transition);
}
.single-share-icons a:hover {
	background: var(--green);
	border-color: var(--green);
	color: white;
}
.single-postnav .previous-post { text-align: right; }
.single-tags span { float: left; line-height: 40px; font-weight: 600; color: var(--dark); }
.single-tags a {
	padding: 4px 12px;
	margin: 5px 5px;
	background: var(--green);
	color: #fff;
	float: left;
	border-radius: 50px;
	font-size: 13px;
}
.single-tags a:hover { background: var(--green-dark); }
.single-author { margin: 30px 0; }
.author-name {
	float: left;
	background: var(--bg);
	width: 200px;
	border-radius: var(--radius) var(--radius) 0 0;
	text-align: center;
	padding: 10px 0 0 0;
	font-weight: 600;
}
.author-content {
	background: var(--bg);
	min-height: 150px;
	float: left;
	border-radius: var(--radius);
}
.author-content img { width: 82px; height: 82px; border-radius: 50%; }
.author-img {
	float: left;
	padding: 25px 20px;
	border-right: 1px solid var(--border);
	margin-right: 20px;
}
.author-bio { padding: 20px; }
.author-bio p { font-size: 15px; line-height: 1.7; padding-top: 10px; }

/* ==========================================================================
   Comments
   ========================================================================== */
.comment-title p { float: left; font-size: 20px; padding: 0 10px 0 0; font-weight: 600; }
.comment-title hr { margin: 16px 0; border-color: var(--border); }
.comment-box input {
	width: 100%;
	height: 44px;
	padding: 10px 16px;
	margin-left: 0;
	margin-bottom: 15px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	font-size: 14px;
	transition: var(--transition);
}
.comment-box input:focus {
	border-color: var(--green);
	outline: none;
	box-shadow: 0 0 0 3px rgba(26,181,19,0.1);
}
.comment-box textarea, .comment-textbox textarea {
	width: 100%;
	min-height: 150px;
	margin-bottom: 15px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 12px 16px;
	font-size: 14px;
	transition: var(--transition);
}
.comment-box textarea:focus, .comment-textbox textarea:focus {
	border-color: var(--green);
	outline: none;
	box-shadow: 0 0 0 3px rgba(26,181,19,0.1);
}
.comment-form input[type="submit"] {
	padding: 12px 30px;
	background: var(--green);
	border: none;
	box-shadow: none;
	color: white;
	font-size: 16px;
	font-weight: 600;
	border-radius: 50px;
	cursor: pointer;
	transition: var(--transition);
}
.comment-form input[type="submit"]:hover {
	background: var(--green-dark);
}
.comments ol { list-style: none; padding: 0; }
.comment {
	margin: 15px 0 25px 0;
	padding: 20px;
	background: var(--bg);
	border-radius: var(--radius);
}
.comment-author img {
	float: left;
	border: 3px solid var(--white);
	padding: 0;
	border-radius: 50%;
	box-shadow: var(--shadow-sm);
}
.comment-content { margin-left: 85px; }
.comment-meta a {
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	font-style: normal;
	color: var(--dark);
	padding: 0;
}
.comment-meta p { color: var(--text-light); font-size: 13px; }
.comment-text { margin: 10px 0 15px 0; }
.comment-reply-link { text-decoration: none; color: var(--green) !important; font-weight: 500; }
.comment-reply-link:hover { color: var(--green-dark) !important; }
.comments ol ul li, .comments ol li ul li { list-style: none; }
.comments .w-title { font-size: 20px; font-weight: 600; }
.comment-notes, .logged-in-as { font-size: 13px !important; color: var(--text-light); }
.comment-notes .required, .comment-box .required { color: #e74c3c; }
.bypostauthor { background: var(--green-light); padding: 15px; border: none; border-left: 3px solid var(--green); border-radius: var(--radius); }

/* ==========================================================================
   Single Property
   ========================================================================== */
.single-property .content-full { }
.single-property .single-entry { }
.single-property .property-detail-subtitle {
	margin: 25px 0;
	font-size: 22px;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--dark);
}
.single-property .property-overview { border: none; padding: 0; margin: 0; }
.single-property .property-overview dl {
	column-count: 2;
	column-gap: 40px;
	background: var(--bg);
	padding: 20px;
	margin-top: 10px;
	border-radius: var(--radius);
}
.single-property .property-overview dd { text-align: right; }
.single-property .similar-properties {
	background: var(--bg);
	margin: 40px 0;
	padding: 20px;
	border-radius: var(--radius);
}
.single-property .subproperties {
	background: var(--bg);
	margin: 40px 0;
	padding: 20px;
	border-radius: var(--radius);
}
.single-property .property-gallery-index a {
	background-color: var(--green);
	border-radius: 50%;
	height: 12px;
	width: 12px;
}
.single-property .property-gallery-preview img { height: auto; max-height: 400px; border-radius: var(--radius); }
.property-badge {
	background: var(--green);
	left: 0;
	top: 0;
	color: #fff;
	border-radius: 0 0 var(--radius) 0;
	font-weight: 600;
	padding: 4px 12px;
}
.single-property .comment-reply-title { margin: 0; }
.single-property .comment-notes { margin: 0; }
.single-property .logged-in-as { margin: 5px 0; }
.single-property .comment-form-comment { margin: 10px 0; }

/* ==========================================================================
   Sidebar
   ========================================================================== */
.sidebar .widget {
	margin-bottom: 30px;
	padding: 25px;
	background: var(--white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
}
.sidebar .widget a { color: var(--text); }
.sidebar .widget a:hover { color: var(--green); }
.sidebar .widget-title, .sidebar .w-title {
	font-size: 18px;
	color: var(--dark);
	margin-bottom: 20px;
	font-weight: 600;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--green);
}
.sidebar .widget ul { margin: 0; padding: 0; }
.sidebar .widget ul li {
	list-style: none;
	border-bottom: 1px solid var(--border);
	padding: 10px 0;
	font-size: 14px;
}
.sidebar .widget ul li:last-child { border-bottom: none; }
.sidebar .widget ul li h3 { font-size: 15px !important; padding-left: 0; margin: 0; }
.sidebar .widget a:hover { text-decoration: none; }

/* ==========================================================================
   Footer
   ========================================================================== */
.footer {
	background: var(--dark);
	padding: 50px 0 30px;
	color: rgba(255,255,255,0.5);
}
.footer a {
	color: rgba(255,255,255,0.6);
	float: none;
	display: table;
	font-size: 14px;
	padding: 5px 0;
	transition: var(--transition);
}
.footer a:hover { color: var(--green); text-decoration: none; }
.footer h3 { color: var(--white); font-size: 18px; font-weight: 600; }
.footer-h3 { padding-bottom: 15px; }
.footer-h3 hr { border: none; border-top: 2px solid var(--green); width: 40px; float: left; margin: 0; }
.footer p { color: rgba(255,255,255,0.4); line-height: 1.7; font-size: 14px; }
.footer ul { margin: 0; padding: 0; }
.footer ul li, .footer ol li { list-style: none; }
.footer .widget_recent_entries li, .footer .widget_recent_comments li {
	border-bottom: 1px solid rgba(255,255,255,0.08);
	padding: 10px 0 5px 0;
}
.footer .w-title {
	color: var(--green);
	border-bottom: 1px solid rgba(255,255,255,0.08);
	padding-bottom: 10px;
	font-weight: 600;
}
.footer .widget { margin-bottom: 30px; }
.footer .textwidget { line-height: 1.7; }
.footer button, .footer input[type="submit"] {
	background: var(--green);
	border: none;
	padding: 8px 20px;
	color: white;
	border-radius: var(--radius);
	cursor: pointer;
}
.footer button:hover, .footer input[type="submit"]:hover {
	background: var(--green-dark);
}

/* Footer bottom bar */
.footer-bottom {
	background: rgba(0,0,0,0.2);
	padding: 15px 0;
	text-align: center;
	font-size: 13px;
	color: rgba(255,255,255,0.35);
	margin-top: 30px;
}
.footer-bottom a { color: var(--green); display: inline; float: none; padding: 0; }
.footer-bottom-links { margin-top: 5px; }
.footer-bottom-links a { margin: 0 10px; font-size: 12px; display: inline; }

/* ==========================================================================
   WordPress Requirements
   ========================================================================== */
.wp-caption { background: var(--bg); padding: 5px; border: 1px solid var(--border); border-radius: var(--radius); max-width: 100%; }
.wp-caption-text { font-size: 13px !important; margin: 5px 0 0 !important; text-align: center; color: var(--text-light); }
.alignright { float: right; margin: 5px 0 15px 20px; border-radius: var(--radius); }
.alignleft { float: left; margin: 5px 20px 15px 0; border-radius: var(--radius); }
.aligncenter { margin: 20px auto; display: block; border-radius: var(--radius); }
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}
.screen-reader-text:focus {
	background-color: var(--white);
	border-radius: var(--radius);
	box-shadow: 0 0 2px 2px rgba(0,0,0,0.6);
	clip: auto !important;
	color: var(--green);
	display: block;
	font-size: 14px;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
.gallery-caption { }
.sticky {
	border: 2px solid var(--green);
	border-radius: var(--radius-lg);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1200px) {
	.index-title-content { width: 78%; }
}

@media (max-width: 991px) {
	.cat-bar { text-align: center; }
	.frontpage-slide-texts { padding: 8% 15px 10%; }
	.frontpage-offer { padding: 40px 0; }
	.frontpage-latestposts { padding: 40px 0; }
	.single-post .single-entry, .page .single-entry { padding: 20px; }
}

@media (max-width: 767px) {
	.index-title-content { width: 100%; padding-left: 0; }
	.index-meta { display: none; }
	.single-share-word { display: none; }
	.single-share-icons { text-align: center; float: none; }
	.single-share-icons a { margin-bottom: 5px; }
	.frontpage-slide-texts h3 { font-size: 26px; }
	.frontpage-singleoffer { min-height: auto; margin-bottom: 20px; }
	.call2action { padding: 35px 15px; }
	.call2action h3 { font-size: 24px; }
	.footer { padding: 35px 0 20px; }
	.footer [class*="col-md-4"] { margin-bottom: 25px; }
	.top-bar-cta { display: none; }
	.top-right-share { display: none; }
	.top-right { float: none; justify-content: center; }
	.site-header { flex-direction: column; text-align: center; }
}

@media (max-width: 620px) {
	.top-right-share { display: none; }
	.top-right { float: none; }
	.top-bar { text-align: center; height: auto; line-height: 1.5; padding: 8px 0; }
	.top-left { float: none; }
	.top-right div { float: none; margin: 0; display: inline-block; }
	.contact-bar-inner { flex-direction: column; text-align: center; gap: 4px; }
	.contact-bar-left { flex-direction: column; gap: 2px; align-items: center; }
	.contact-bar { line-height: 1.6; padding: 8px 0; }
}

@media only screen and (min-width: 1px) and (max-width: 1170px) {
	.site-head { display: none; }
	#menu { display: none; }
	.slicknav_menu { display: block; }
	.cat-bar { text-align: center; }
	.content-align-center input[type="text"] { width: 200px !important; }
	.credit-footer p { text-align: center !important; }
}

/* Mobile CTA buttons (shown on mobile when contact bar buttons hidden) */
.mobile-cta-buttons {
	display: none;
	padding: 10px 15px;
	background: var(--bg);
	text-align: center;
	gap: 10px;
}
.mobile-cta-buttons a {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 50px;
	font-size: 14px;
	font-weight: 600;
}
.mobile-cta-buttons .btn-factfind {
	background: var(--green);
	color: var(--white) !important;
}
.mobile-cta-buttons .btn-factfind:hover {
	background: var(--green-dark);
	color: var(--white) !important;
}
.mobile-cta-buttons .btn-tenants {
	background: var(--dark);
	color: var(--white) !important;
}
.mobile-cta-buttons .btn-tenants:hover {
	background: #2a2a4e;
	color: var(--white) !important;
}
@media (max-width: 767px) {
	.mobile-cta-buttons { display: flex; justify-content: center; }
	.contact-bar-right { display: none; }
}

/* ==========================================================================
   Brand Color Overrides - kill any remaining blue from Bootstrap/old theme
   ========================================================================== */
.btn-primary,
.label-primary,
.badge-primary,
.progress-bar,
.panel-primary > .panel-heading,
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus,
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover {
	background-color: var(--green) !important;
	border-color: var(--green) !important;
}
a,
.btn-link,
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
	color: var(--green);
}
a:hover, a:focus {
	color: var(--green-dark);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
	background-color: var(--green-dark) !important;
	border-color: var(--green-dark) !important;
}

/* Force green on all theme accent elements */
.frontpage-slide-texts a,
.frontpage-offer i,
.call2action,
.frontpage-gridposts-readmore,
.index-meta,
.index-pagination .current,
.comment-form input[type="submit"],
.single-tags a,
.property-badge,
.single-property .property-gallery-index a,
.footer button,
.footer input[type="submit"] {
	background-color: var(--green) !important;
}
.frontpage-singleoffer a:hover {
	background: var(--green) !important;
	color: var(--white) !important;
	border-color: var(--green) !important;
}
.frontpage-slide-texts a:hover,
.frontpage-gridposts-readmore:hover,
.comment-form input[type="submit"]:hover,
.single-tags a:hover,
.footer button:hover,
.footer input[type="submit"]:hover {
	background-color: var(--green-dark) !important;
}
.single-share-icons a:hover {
	background: var(--green) !important;
	border-color: var(--green) !important;
}
.footer .w-title {
	color: var(--green) !important;
}
.footer-h3 hr,
.site-title hr,
.sidebar .widget-title,
.sidebar .w-title {
	border-color: var(--green) !important;
}
.top-bar {
	border-top-color: var(--green) !important;
}
.navi li ul {
	border-bottom-color: var(--green) !important;
}
