/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.2
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

p:last-child {
  margin-bottom: 0;
}
.wp-block-image img {
	border-radius: 10px;
}
:where(figure) {
    margin: 2em 0;
	width: 100%;
}
.containerButtonParent:hover .containerButtonHeading h3 {
    color: var(--e-global-color-primary) !important;
}

/* PH Calculators */
.mortgage-calculator button,
.stamp-duty-calculator button,
.rental-yield-calculator button,
.rental-affordability-calculator button {
	margin-top: 10px;
}

/* draw a search switcher styling */
.listViewSwitcher .propertyhive-views ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.listViewSwitcher .propertyhive-views ul li {
  list-style: none;
  margin: 0;
}

.listViewSwitcher .propertyhive-views ul li a {
  display: block;
  padding: 8px 16px;
  text-decoration: none;
  font-weight: bold;
  color: #54595f;
  background-color: #F4F5F8;
}

.listViewSwitcher .propertyhive-views ul li.active a {
  color: #ffffff;
  background-color: #DC4A2A;
}

/* TrustIndex Review Styling */
.ti-tooltip img {
    height:auto !important;
}

.ti-name, .ti-review-content {
    font-family: Poppins !important;
}

.ti-review-content {
    font-weight:300;
}

.elementor-widget-address-street::after {
  content: ",";
}

.flag {
	position:relative;
	left:0px;
	top:0px;
	background: #467FF7;
	padding: 10px;
	font-weight:700;
	color:#FFF;
}

/* -- Changing the menu background on scroll effect -- */

.elementor-sticky--effects {
   background: #FFF!important; /* change the background color here*/
}

.elementor-sticky--effects .sticky-menu-items ul li a /* change the menu text color here*/ {
   color: #fff!important;
}

.elementor-sticky--effects, .sticky-menu-items ul li a {
  transition: .5s all ease-in-out;
}

.elementor-sticky--effects .elementor-icon svg {
	fill:#4680F7!important;
}

.elementor-sticky--effects .sub-arrow svg {
	fill:#1C244B!important;
}

.elementor-sticky--effects .elementor-widget-container p {
	color:#4680F7!important;
}

.elementor-sticky--effects .elementor-widget-container a {
	color:#4680F7!important;
}

.elementor-sticky--effects .elementor-nav-menu--main .elementor-item, .elementor-sticky--effects .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li:not(:last-child):after {
    border-color:#1C244B!important;
	color:#1C244B!important;
}


.elementor-sticky--effects .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before, .elementor-sticky--effects .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after {
	background-color:#1C244B!important;
}

.elementor-sticky--effects .elementor-button {
	border-color:#4680F7!important;
}

.elementor-sticky--effects .elementor-button:hover {
	color:#FFF!important;
	
}

.elementor-sticky--effects .button_valuation .elementor-button {
	color:#FFF!important;
}

.elementor-sticky--effects .button_valuation .elementor-button:hover {
	color:#4680F7!important;
	border-color:#4680F7!important;
}

.elementor-sticky--effects {
	/*border-bottom:#D3D3D3 solid;	*/
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.3);
}

/* HIDES THE DARK LOGO */
.d-logo {
 display: none;
}
/* SWITCHES LOGO ON SCROLL */
.elementor-sticky--effects .d-logo {
 display: inline-block;
}

.elementor-sticky--effects .l-logo {
 display: none;
}

.elementor-sticky--effects .menu-item a {
	color:#FFF !important;
}

#property_features ul {
        columns:2!important;
}

@media screen and (max-width:767px){
	#property_features ul {
        columns:1!important;
    }
}

#negotiator_email a {
	color:#FFF;
}

@media screen and (max-width:767px){
	.gallery-icon img {
		width:75%;
	}
}

/* * {
  outline: 1px solid red;
} */

/* Ensure there's no horizontal scrolling */
html, body {
  overflow-x: hidden;
}


/* Control styling of enquiry form on Property Detail Page */
.property-enquiry-form .control label {
	padding:10px 0 5px 0;
}

.property-enquiry-form .control input, .property-enquiry-form .control textarea, .property-enquiry-form .control select {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight:400;
}

/* Style Negotiator box on Property Detail Page */
.negotiator a:link {
	color:#FFF !important;
}

.negotiator a:hover, .negotiator a:active {
	color:#4680F7 !important;
	text-decoration:underline;
}

/* Button Styles */
.buttonTwo .elementor-button {
    background-color: var(--e-global-color-86b4fcd);
    color: var(--e-global-color-accent);
}
.buttonTwo .elementor-button:hover,
.buttonTwo .elementor-button:focus {
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-c696dce);
}

.buttonThree .elementor-button {
    background-color: var(--e-global-color-86b4fcd);
    color: var(--e-global-color-c696dce);
    border-color: var(--e-global-color-c696dce);
}
.buttonThree .elementor-button:hover,
.buttonThree .elementor-button:focus {
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-c696dce);
    border-color: var(--e-global-color-accent);
}
.buttonFour .elementor-button:hover,
.buttonFour .elementor-button:focus {
	background-color: var(--e-global-color-86b4fcd);
    color: var(--e-global-color-c696dce);
    border-color: var(--e-global-color-c696dce);
}

/* Glass backgrounf blur style*/
.glassBox {
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* property image remove default styles */
.flexslider {
	border: 0;
	margin: 0;
	padding: 0;
}
/* property image lightbox */
.fancybox-button {
    border: 0 !important;
}
.fancybox-button:hover svg {
    color: white;
}
.fancybox-button--close {
    background-color: transparent !important;
    padding: 0 !important;
}
.fancybox-button--close svg {
    color: white;
    width: 24px;
    height: 24px;
}

/* arrange a viewing form */
.fancybox-close-small {
    background-color: transparent !important;
    border: 0 !important;
    padding: 10px !important;
}
.fancybox-close-small svg,
.fancybox-close-small:hover svg {
    color: black;
    width: 24px;
    height: 24px;
}

/* Property search bar */
.property-search-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 20px;
}

.property-search-form .control {
  padding: 0 !important;
}

.property-search-form.clear::after {
  display: none;
}

.property-search-form .control-department {
  width: 100%;
  display: flex;
  gap: 20px;
  margin-bottom: 40px;
}

.property-search-form .control-department label {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 20px !important;
  font-weight: 800 !important;
  padding-bottom: 15px;
  color: var(--e-global-color-81fdbb4);
  transition: color 0.2s ease;
}

.property-search-form .control-department input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.property-search-form .control-department label::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--e-global-color-primary);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.property-search-form .control-department label:has(input[type="radio"]:checked) {
  color: var(--e-global-color-primary);
}

.property-search-form .control-department label:has(input[type="radio"]:checked)::after {
  opacity: 1;
}

.property-search-form .control:not(.control-department) {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.property-search-form .control[style*="display: table-cell"] {
  display: flex !important;
}

.property-search-form select,
.propertyhive-ordering select,
[class$="-calculator"] select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 6px 28px 20px 0;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 4px top 16px / 10px;
  border: none;
  border-bottom: 1px solid var(--e-global-color-primary);
  border-radius: 0;
  color: var(--e-global-color-text);
  font-size: 16px;
  opacity: 0.8;
  cursor: pointer;
  outline: none;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}

.property-search-form select:hover,
.property-search-form select:focus {
  opacity: 1;
  border-color: var(--e-global-color-primary);
}

.property-search-form input[type="submit"] {
  flex: 0 0 auto;
  align-self: flex-start;
}

.elementor .propertyImages img {
    border-radius: 10px;
}

@media (max-width: 767px) {
  .property-search-form {
    flex-direction: column;
    gap: 0;
  }

  .property-search-form .control-department {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    margin-bottom: 40px !important;
  }

  .property-search-form .control:not(.control-department) {
    width: 100%;
    flex: 0 0 auto;
    margin-bottom: 40px;
  }

  .property-search-form input[type="submit"] {
    width: 100%;
  }
}

/* ==========================================================================
   Sylvester Properties — Full Details + Summary
   Lighter revision: no nested boxes, brand accent, spacing does the work.

   Markup reference:
   .description > h4 + .description-contents > p.room
                                                 > strong.name
                                                 > span.dimension
   .summary     > h4 + .summary-contents
   ========================================================================== */

/* Mapped to Elementor's Global Colors so the styling follows the kit.
   NOTE: these must be declared on `body`, not `:root` — Elementor defines
   its globals on body.elementor-kit-128, so :root sits above them and
   cannot see them. Hex values are fallbacks only.

   --e-global-color-accent    #DC4A2A  brand terracotta
   --e-global-color-103e9e3   #19320E  dark heading green
   --e-global-color-text      #54595F  body grey
   --e-global-color-14ef391   #C8D5DC  pale blue-grey (rules)
   --e-global-color-764183d   #F9FAFD  near-white (chips)
   --e-global-color-secondary #F3F5F8  light grey                        */

body {
    --syl-accent:  var( --e-global-color-accent,   #dc4a2a );
    --syl-heading: var( --e-global-color-103e9e3,  #19320e );
    --syl-body:    var( --e-global-color-text,     #54595f );
    --syl-line:    var( --e-global-color-14ef391,  #c8d5dc );
    --syl-chip:    var( --e-global-color-764183d,  #f9fafd );

    /* No global equivalent for a muted tone — lightened from the text colour */
    --syl-muted:   #8b939b;
}


/* --------------------------------------------------------------------------
   1. Section headings
   The tab bar already says "Details", so this is a quiet label, not a banner.
   -------------------------------------------------------------------------- */

.description > h4,
.summary > h4 {
    margin: 0 0 1.1rem;
    padding: 0;
    border: 0;
    color: var(--syl-muted);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}


/* --------------------------------------------------------------------------
   2. Full Details — rooms separated by rhythm, not boxes
   -------------------------------------------------------------------------- */

.description .room {
    margin: 0;
    padding: 1.1rem 0;
    background: none;
    border: 0;
    border-top: 1px solid var(--syl-line);
    border-radius: 0;
    box-shadow: none;
    color: var(--syl-body);
    font-size: .95rem;
    line-height: 1.75;
}

.description .room:first-child {
    border-top: 0;
    padding-top: 0;
}

/* Room name — accent colour carries the branding instead of a border */
.description .room .name {
    display: inline-block;
    margin-bottom: .15rem;
    color: var(--syl-heading);
    font-size: 1rem;
    font-weight: 700;
}

/* Dimensions — quiet, and clearly secondary to the name */
.description .room .dimension {
    display: inline-block;
    margin-left: .3rem;
    padding: .1rem .5rem;
    background: var(--syl-chip);
    border-radius: 3px;
    color: var(--syl-muted);
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .03em;
    vertical-align: 2px;
    white-space: nowrap;
}

.description .room br {
    line-height: .5;
}


/* --------------------------------------------------------------------------
   3. Important information — collapsed, de-emphasised
   -------------------------------------------------------------------------- */

.property-notes {
    margin: 1.25rem 0 0;
    border-top: 1px solid var(--syl-line);
}

.property-notes__toggle {
    padding: .9rem 0;
    color: var(--syl-body);
    cursor: pointer;
    font-size: .85rem;
    font-weight: 600;
    list-style: none;
    transition: color .18s ease;
}

.property-notes__toggle:hover {
    color: var(--syl-accent);
}

.property-notes__toggle::-webkit-details-marker { display: none; }

.property-notes__toggle::after {
    content: "";
    display: inline-block;
    width: .4rem;
    height: .4rem;
    margin-left: .45rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s ease;
}

.property-notes[open] .property-notes__toggle::after {
    transform: rotate(-135deg) translateY(-2px);
}

.property-notes__body {
    padding: 0 0 1.25rem;
    color: var(--syl-body);
    font-size: .875rem;
    line-height: 1.7;
}

.property-notes__body h5 {
    margin: 1rem 0 .25rem;
    color: var(--syl-heading);
    font-size: .875rem;
    font-weight: 700;
}

.property-notes__body h5:first-child { margin-top: 0; }

.property-notes__body p,
.property-notes__body ul { margin: 0 0 .5rem; }

.property-notes__body ul { padding-left: 1.1rem; }

.property-notes__body li { margin-bottom: .1rem; }


/* --------------------------------------------------------------------------
   4. Summary — it already sits in a container, so no second frame
   -------------------------------------------------------------------------- */

.summary {
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}

.summary-contents {
    color: var(--syl-body);
    font-size: .95rem;
    line-height: 1.75;
}


/* --------------------------------------------------------------------------
   5. Mobile
   -------------------------------------------------------------------------- */

@media (max-width: 640px) {
    .description .room {
        font-size: .92rem;
    }
    .description .room .dimension {
        display: block;
        width: max-content;
        margin: .2rem 0 0;
        vertical-align: baseline;
    }
}

.propertyhive-draw-a-search-controls a#ph_draw_a_search_draw {
    background: #DC4B29 !important;
}

/* Sylvester Properties — make the photo gallery prev/next arrows more noticeable.
   Targets Property Hive's Fancybox v3 lightbox (the "Picture No. x" viewer).
*/

.fancybox-navigation .fancybox-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	opacity: 1 !important; /* always visible, not just faded in on hover */
	background: transparent; /* the circle below does the work instead */
}

.fancybox-navigation .fancybox-button div {
	width: 48px;
	height: 48px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #dc4a2a; /* Sylvester Properties accent colour */
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.fancybox-navigation .fancybox-button svg {
	width: 22px;
	height: 22px;
}

.fancybox-navigation .fancybox-button,
.fancybox-navigation .fancybox-button:link,
.fancybox-navigation .fancybox-button:visited {
	color: #fff; /* white arrow so it stands out against the accent circle */
}

.fancybox-navigation .fancybox-button:hover div {
	background: #b93d20; /* darker on hover */
	transform: scale(1.08);
}

@media (max-width: 767px) {
	.fancybox-navigation .fancybox-button div {
		width: 40px;
		height: 40px;
	}
}

/* Sylvester Properties — make the photo gallery prev/next arrows more noticeable.
   Covers BOTH gallery components Property Hive uses:
   1) The FlexSlider strip that sits directly on the property page
      (the one visitors actually see first — invisible by default,
      only fades in at 70% opacity on hover of the whole slider).
   2) The Fancybox v3 fullscreen lightbox ("Picture No. x" viewer) you
      get when you click through an image.

   Install: Appearance > Customize > Additional CSS (loads last, no file
   editing needed). Alternatively add as a snippet in WPCode / Code Snippets.
*/

/* ---------- 1. Main FlexSlider strip on the property page ---------- */

.flex-direction-nav a {
	opacity: 1 !important; /* always visible, not just on hover of the slider */
	width: 44px;
	height: 44px;
	margin-top: -22px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: #dc4a2a; /* Sylvester Properties accent colour */
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
	transition: background-color 0.2s ease, transform 0.2s ease;
	font-size: 0; /* hide the raw "Previous"/"Next" link text FlexSlider relies on for accessibility */
	line-height: 0;
	color: transparent;
}

.flex-direction-nav a:before {
	font-size: 22px; /* the chevron icon gets its own size, independent of the hidden text above */
	line-height: 1;
	color: #fff; /* white chevron so it stands out against the accent circle */
	text-shadow: none;
}

.flex-direction-nav .flex-prev,
.flexslider:hover .flex-direction-nav .flex-prev {
	left: 14px !important;
}

.flex-direction-nav .flex-next,
.flexslider:hover .flex-direction-nav .flex-next {
	right: 14px !important;
}

.flex-direction-nav a:hover {
	background: #b93d20; /* darker on hover */
	transform: scale(1.08);
}

.flex-direction-nav .flex-disabled {
	opacity: 0 !important; /* keep hiding the arrow when there's nowhere to go */
}

@media (max-width: 767px) {
	.flex-direction-nav a {
		width: 36px;
		height: 36px;
		margin-top: -18px;
	}
	.flex-direction-nav a:before {
		font-size: 18px;
	}
}

/* ---------- 2. Fullscreen Fancybox lightbox ---------- */

.fancybox-navigation .fancybox-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	opacity: 1 !important; /* always visible, not just faded in on hover */
	background: transparent; /* the circle below does the work instead */
}

.fancybox-navigation .fancybox-button div {
	width: 48px;
	height: 48px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #dc4a2a; /* Sylvester Properties accent colour */
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.fancybox-navigation .fancybox-button svg {
	width: 22px;
	height: 22px;
}

.fancybox-navigation .fancybox-button,
.fancybox-navigation .fancybox-button:link,
.fancybox-navigation .fancybox-button:visited {
	color: #fff; /* white arrow so it stands out against the accent circle */
}

.fancybox-navigation .fancybox-button:hover div {
	background: #b93d20; /* darker on hover */
	transform: scale(1.08);
}

@media (max-width: 767px) {
	.fancybox-navigation .fancybox-button div {
		width: 40px;
		height: 40px;
	}
}

/* Property Hive enquiry form: success message */
.propertyhive-enquiry-form .alert-success,
.property-enquiry-form .alert-success,
.propertyhive-form-response .alert-success,
.propertyhive-form-response.success,
.ph-form-success,
.property-enquiry-form .propertyhive-success {
    color: #DC4A2A !important;       /* green; swap for a Sylvester brand colour */
    font-weight: 700 !important;
    background: #eaf7ee;
    border: 1px solid #DC4A2A;
    border-left-width: 5px;
    border-radius: 4px;
    padding: 14px 18px;
    margin: 15px 0;
    font-size: 1.05em;
}