/*
 Theme Name:   Art Division Child theme
 Theme URI:    https://artdivision.co.uk
 Description:  A child theme for the Art Division Parent Theme
 Author:       Art Division
 Author URI:   https://artdivision.co.uk
 Template:     art-division
 Version:      1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700&family=Lato:wght@300;400;500;600;700&display=swap');

:root {
    --header-font: 'Raleway', sans-serif;
    --main-text-font: 'Lato', sans-serif;
}

html {
	scroll-behavior: smooth;
    scroll-padding-top: 180px; /* May need to adjust depending on navbar height */    
}
@media(max-width:764px){
    body {
        max-width: 100vw;
        overflow-x: hidden;
    }
}
/*--------------------------------------------------------------------
Typography
---------------------------------------------------------------------*/
h1, h2, h3{
    font-family: var(--header-font);
    font-weight: 600;
    letter-spacing: -0.4px;
}

h2{
    font-size: 42px;
    letter-spacing: -0.4px;
}

h4, h5, p, a, li{
    font-family: var(--main-text-font);
}

p, a{
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0;
}
/* --------------------------------------------------
Primary Menu Styling
-------------------------------------------------- */
#nav-top-menu {
  list-style: none;
  display: flex;
  gap: 2rem;
  margin: 0;
  padding: 0;
}

/* Ensure parent can position submenu */
#nav-top-menu > li {
  position: relative;
}
/* --------------------------------------------------
Primary Sub Menu
-------------------------------------------------- */
#nav-top-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;        /* directly below parent */
  left: 0;
  min-width: 220px;
  background: #fff;
  margin: 0;
  list-style: none;
  z-index: 999;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
/* --------------------------------------------------
Show Primary Sub Menu Hover
-------------------------------------------------- */
#nav-top-menu li.menu-item-has-children:hover > .sub-menu {
  display: block;
}
/* --------------------------------------------------
Sub Menu Items
-------------------------------------------------- */
#nav-top-menu .sub-menu li {
  width: 100%;
}

#nav-top-menu .sub-menu a {
  display: block;
  padding: 0.5rem 1rem;
  white-space: nowrap;
  color: var(--primary);
}

#nav-top-menu .sub-menu a:hover {
  background-color: var(--theme-colour);
  color: var(--white);
}

/*--------------------------------------------------------------------
Header & Nav
---------------------------------------------------------------------*/

.nav-menu-center{
    padding:10px;
}
.nav-logo-image img{
    max-width: 200px;
    height: 100%;
}
.nav-container a.nav-link{
    color: white;
    font-size: 20px;
}
.nav-container a.nav-link:hover{
    color: var(--theme-colour);
    font-size: 20px;
}
.nav-container i.nav-link{
    font-size: 24px;
    color: white;
}
.nav-container i.nav-link:hover{
    color: var(--theme-colour);
    cursor: pointer;
}
.nav-menu.nav-menu-right, .nav-menu.nav-menu-icons-container {
    justify-content: end;
}
.nav-logo-image {
    overflow: hidden;
}
.nav-logo-image-mobile img{
    max-width:150px;
    height:fit-content
}
.nav-logo-image img {
    opacity: 0;
    transform: translateY(-30%);
    animation: logoTopDownReveal 1s ease-out forwards;
    clip-path: inset(0 0 100% 0);
}
.nav-logo-image img:hover {
    transform: scale(0.9);
}

@media(max-width:764px){
    .header-centered{
        justify-content: space-between;
    }
}

@keyframes logoTopDownReveal {
    0% {
        opacity: 0;
        transform: translateY(-30%);
        clip-path: inset(0 0 100% 0);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        clip-path: inset(0 0 0 0);
    }
}

.top-nav-scrolled .nav-container .art-btn.art-btn{
    border: solid 1px var(--primary);
    background-color: transparent;
    text-transform: capitalize;
}
.top-nav-scrolled .nav-container a.nav-link{
    color: var(--primary);
    font-size: 20px;
}
.top-nav-scrolled .nav-container a.nav-link:hover{
    color: var(--theme-colour);
}
.top-nav-scrolled .nav-container i.nav-link{
    font-size: 24px;
    color: var(--primary);
}
.top-nav-scrolled .nav-container i.nav-link:hover{
    color: var(--theme-colour);
}

.art-fixed-header .nav-container .art-btn.art-btn{
    border: solid 1px var(--primary);
    background-color: transparent;
    text-transform: capitalize;
}
.art-fixed-header .nav-container a.nav-link{
    color: var(--primary);
    font-size: 20px;
}
.art-fixed-header .nav-container a.nav-link:hover{
    color: var(--theme-colour);
}
.art-fixed-header .nav-container i.nav-link{
    font-size: 24px;
    color: var(--primary);
}
.art-fixed-header .nav-container i.nav-link:hover{
    color: var(--theme-colour);
}

/*.page-template-page-default .nav-container .art-btn.art-btn{
    border: solid 1px var(--white);
    background-color: transparent;
    text-transform: capitalize;
}
.page-template-page-default .nav-container a.nav-link{
    color: var(--white);
    font-size: 20px;
}
.page-template-page-default .nav-container i.nav-link{
    font-size: 24px;
    color: var(--white);
}

.page-template-page-default .top-nav-scrolled .nav-container .art-btn.art-btn{
    border: solid 1px var(--primary-dark);
    background-color: transparent;
    text-transform: capitalize;
}
.page-template-page-default .top-nav-scrolled .nav-container a.nav-link{
    color: var(--primary-dark);
    font-size: 20px;
}
.page-template-page-default .top-nav-scrolled .nav-container a.nav-link:hover{
    color: var(--theme-colour);
}
.page-template-page-default .top-nav-scrolled .nav-container i.nav-link{
    font-size: 24px;
    color: var(--primary-dark);
}
.page-template-page-default .top-nav-scrolled .nav-container i.nav-link:hover{
    color: var(--theme-colour);
}

.header-centered .nav-menu ul {
    gap: 1.5rem;
}*/
/* =========================================================
   Hamburger Menu
   ========================================================= */
#nav-hamburger-menu .nav-link{
    font-family: var(--header-font);
}

   #nav-hamburger-menu .nav-link:hover{
    color: var(--primary);
}

/*--------------------------------------------------------------------
Hero Section HOME
---------------------------------------------------------------------*/
.art-homepage-hero-img:after, .art-homepage-slider .swiper-slide picture:after {
    background: rgba(0, 0, 0, 0.45);
}
/*--------------------------------------------------------------------
Under Hero Section HOME
---------------------------------------------------------------------*/
.under-hero {
    position: relative;
    background-size: auto;
    z-index: 0; /* creates stacking context */
    padding-bottom: 120px;
}

.under-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.9); /* adjust colour if needed */
    z-index: 1;
    pointer-events: none;
}

/* Ensure content sits above overlay */
.under-hero > * {
    position: relative;
    z-index: 2;
}

.under-hero .art-module-multi{
    gap:0px;
}

.under-hero .art-module-multi-header h2{
    max-width: 1054px;
    margin-top:0px;
}
@media(max-width:764px){
.under-hero .art-module-multi-header h2{
    font-size: 35px;
}
}

.under-hero .art-module-multi-header-content p{
    max-width: 1054px;
}

.under-hero .art-module-cta-btns.art-btn-group{
    display: flex;
}
@media(max-width:764px){
.under-hero .art-module-cta-btns.art-btn-group{
    margin-left:0px;
}
}
/*--------------------------------------------------------------------
Text - Image (FULL)
---------------------------------------------------------------------*/
.content-image-text-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.content-image-text .content-image-text-container{
  background-color: var(--primary-dark);
  background-image: url('/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism.svg');
  background-size: cover;
  color: var(--white);

  position: relative;     /* needed for overlays */
  overflow: hidden;
  isolation: isolate;
}

@media(max-width:764px){
  .content-image-text .content-image-text-container{
    padding-bottom: 60px;
}
}

/* Overlay wave layer A */
.content-image-text .content-image-text-container::before{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:0;
  pointer-events:none;

  background-image: url('/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism.svg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;

  opacity: 0.26;
  filter: blur(0.4px);
  transform: translate3d(-32px, 18px, 0) scale(1.20);
  animation: foxhall-wave-a 12s ease-in-out infinite;
  will-change: transform;
}

/* Overlay wave layer B */
.content-image-text .content-image-text-container::after{
  content:"";
  position:absolute;
  inset:-14%;
  z-index:0;
  pointer-events:none;

  background-image: url('/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism.svg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;

  opacity: 0.16;
  filter: blur(0.9px);
  transform: translate3d(26px, -20px, 0) scale(1.26);
  animation: foxhall-wave-b 18s ease-in-out infinite;
  will-change: transform;
}

/* Keep inner content above overlays */
.content-image-text .content-image-text-container > *{
  position: relative;
  z-index: 1;
}

@keyframes foxhall-wave-a{
  0%,100% { transform: translate3d(-32px, 18px, 0) scale(1.20); }
  50%     { transform: translate3d(32px, -18px, 0) scale(1.30); }
}

@keyframes foxhall-wave-b{
  0%,100% { transform: translate3d(26px, -20px, 0) scale(1.26); }
  50%     { transform: translate3d(-26px, 20px, 0) scale(1.34); }
}

@media (prefers-reduced-motion: reduce){
  .content-image-text .content-image-text-container::before,
  .content-image-text .content-image-text-container::after{
    animation: none;
  }
}

.content-image-text .content-image-text-container h2{
    color: var(--white);
    font-size: 46px;
}
@media(max-width:764px){
    .content-image-text .content-image-text-container h2{
    color: var(--white);
    font-size: 35px;
}
}
.content-image-text .content-image-text-container p{
    color: var(--white);
    font-size: 18px;
}
@media(max-width:764px){
.content-button {
    width: fit-content;
    }
}
/*--------------------------------------------------------------------
Why Choose Us Boxes
---------------------------------------------------------------------*/
.art-module-multi-content.art-module-multi-content-boxed {
    background: rgba(255, 255, 255, 0.4);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 10px;
    padding: 40px;
    text-align: left;
    transition: 0.4s ease;
    min-height: 100%;
}

@media(max-width:764px){
    .art-homepage-hero .is-h1 {
        margin-top:60px;
    }
}

.art-module-multi-content.art-module-multi-content-boxed i{
    font-size: 48px;
}
.art-module-multi-content.art-module-multi-content-boxed h3{
    font-size: 24px;
}
.art-module-multi-content.art-module-multi-content-boxed p{
    font-size: 18px;
}
.art-module-multi div[class*="columns-"] .art-module-multi-content.art-module-multi-content-boxed :is(h2,h3)
 {
    margin-top: 40px;
}
/*--------------------------------------------------------------------
Inner Page First Section (Hero)
---------------------------------------------------------------------*/

.page-template-page-default section.content-image-text:first-of-type h1{
    font-size:55px;
    color: white;
}

@media(max-width:764px){
    .page-template-page-default section.content-image-text:first-of-type h1{
    font-size:35px;
    color: white;
}
}

.page-template-page-default section.content-image-text:first-of-type img{
    border-radius: 20px;
}

.page-template-page-default section.content-image-text:first-of-type .content-image-text-container {
    background: none;
    color: var(--white);
}

.page-template-page-default section.content-image-text:first-of-type{
  margin-top: 0;
  padding-top: 160px;
  background-color: var(--primary-dark);
  background-image: url(/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism-grey.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;

  position: relative;
  overflow: hidden;
  isolation: isolate;
}

@media(max-width:768px){
    .page-template-page-default section.content-image-text:first-of-type{
  margin-top: 0;
  padding-top: 100px;
}
}

/* Overlay layer A (more noticeable) */
.page-template-page-default section.content-image-text:first-of-type::before{
  content:"";
  position:absolute;
  inset:-10%;              /* bigger so no edges appear */
  z-index:0;
  pointer-events:none;

  background-image: url(/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism-grey.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;

  opacity: 0.35;           /* stronger */
  filter: blur(0.4px);
  transform: translate3d(-28px, 16px, 0) scale(1.18);
  animation: foxhall-wave-a 12s ease-in-out infinite;
  will-change: transform;
}

/* Overlay layer B (adds depth, different timing) */
.page-template-page-default section.content-image-text:first-of-type::after{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:0;
  pointer-events:none;

  background-image: url(/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism-grey.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;

  opacity: 0.16;           /* secondary layer */
  filter: blur(0.9px);
  transform: translate3d(22px, -18px, 0) scale(1.22);
  animation: foxhall-wave-b 18s ease-in-out infinite;
  will-change: transform;
}

/* Keep your content above both overlays */
.page-template-page-default section.content-image-text:first-of-type > *{
  position: relative;
  z-index: 1;
}

@keyframes foxhall-wave-a{
  0%,100% { transform: translate3d(-28px, 16px, 0) scale(1.18); }
  50%     { transform: translate3d(28px, -16px, 0) scale(1.26); }
}

@keyframes foxhall-wave-b{
  0%,100% { transform: translate3d(22px, -18px, 0) scale(1.22); }
  50%     { transform: translate3d(-22px, 18px, 0) scale(1.30); }
}

@media (prefers-reduced-motion: reduce){
  .page-template-page-default section.content-image-text:first-of-type::before,
  .page-template-page-default section.content-image-text:first-of-type::after{
    animation: none;
  }
}
/* =========================================================
   Property Archive Page
   ========================================================= */

@media(max-width:764px){body.post-type-archive {
    margin-top: 0px;
}
}
   .list-view .property-postcode{
  display: none;
}
   .feature-info h4, .feature-info h5{
  font-family: var(--text-font);
}
.grid-content .feature-info h4 {
  height:unset;
  margin-bottom:10px;
}
.grid-content-inner {
    text-align: left;
    gap: 20px;
}
.art-property-search-filter-title {
    padding-bottom: 16px;
    display: none;
}
.list-view .property-more-details{
  background-color: var(--primary);
}
.grid-view .archive-grid, .page-template-page-quick-links .propertyhive-properties-shortcode {
  grid-template-columns: repeat(3, 1fr);
}
.post-type-archive-property .top-nav{
  background: white;
}
.art-property-search-filter-container{
  margin-top: 90px;
}
.art-property-search-filter-2 .art-property-search-departments a.active {
  background: var(--highlight);
  color: white;
  border-top: 4px solid var(--secondary);
}
.art-property-search-filter-2 .property-search-form {
  background: var(--highlight);
}
#art-property-archive-search-form .art-btn.art-property-search:hover {
  color: var(--highlight)!important;
  background-color: var(--primary);
}
.grid-box-card {
    box-shadow: 0px 2px 8px 0px rgb(0 0 0 / 10%);
    height: 100% 100%;
    position: relative;
    border-radius: var(--image-radius);
}
.post-type-archive .grid-box-card .property-label {
    background-color: #333333;
    top: 0;
    left: 0;
    padding: 10px;
    border-radius: 00px 0 20px 0;
    width: 35%;
}
.post-type-archive .grid-box {
    padding: 20px 10px 0;
}
.art-property-action-bar {
        padding: 10px;
}
.art-btn.art-property-search:hover{
  background-color: var(--white);
  color: var(--secondary);
}
.switch-view {
    display: flex;
    align-items: center;
    background: var(--primary);
    padding: 8px 12px;
    margin-right: 2px;
    justify-content: center;
    margin-bottom: 0;
    color: var(--white);
}
.switch-view i{
  color: var(--white);
}
.switch-view span{
  color: var(--white);
}
.switch-view:hover{
  color: var(--highlight);
}
.switch-view i:hover{
  color: var(--highlight);
}
.switch-view span:hover{
  color: var(--highlight);
}
.post-type-archive-property .top-nav{
  box-shadow: 0 4px 4px -2px rgb(0 0 0 / 10%)
}
.post-type-archive-property .art-property-search-filter-container{
  margin-top:100px;
}
@media(max-width:768px){
  .art-property-search-departments {
    padding: 0px;
}
.post-type-archive-property .art-property-search-filter-container{
  margin-top:80px;
}
}
.art-property-search-filter-2 .property-search-form {
  background-color: transparent;
}
#art-property-archive-search-form{
  border: 1px solid #DCDCDC;
}
@media(max-width:768px){
  #art-property-archive-search-form{
  border: none;
  border-radius: 0px 0px 0px 0px;
}
}
.art-property-search-filter-2 .property-search-form {
    padding: 0px;
    gap:0px;
}
.property-search-form .control > select:first-child {
    height: 100%;
    font-family: var(--text-font);
}
.art-property-search-filter-2 .property-search-form .control {
    padding: 5px;
}
.art-property-search-filter-2 
.property-search-form 
.control:not(:nth-child(2)) {
    border-left: 1px solid #DCDCDC;
}
.property_search_sold_let_option > .control-include label {
    font-weight: 700;
    width: 150px;
    padding: 10px;
}

.art-property-action-bar {
    margin-top: 15px;
}
.art-property-search-form-container{
    padding:10px;
}
@media(max-width:764px){
    .art-property-search-form-container {
    padding: 20px 20px 10px 20px;
}
body.single-property {
    margin-top: 75px;
}
}
.property-search-form .control label {
    display: flex;
    position:absolute;
    flex-direction: column;
    font-family: var(--header-font);
    margin: 0;
    margin-top: -44px;
    left:0px;
    background-color: var(--medium-grey);
    padding: 10px 10px 10px 10px;
    font-size: 12px;
    width:100%;
    font-weight: 500;
}
.art-property-search-filter-2 .art-property-search-departments a.active {
    background: var(--theme-colour);
    color: white;
    border-radius: 0px 0px 0px 0px;
    border-top:none;
}

.art-property-search-filter-2 
.art-property-search-departments a:last-child.active {
    border-radius: 0px 0px 0px 0px;
}
.art-property-search-filter-2 .art-property-search-departments {
    margin-bottom:0px;
    font-family: var(--);
    border-radius: 0px 0px 0px 0px;
    max-width:300px;
}

.art-property-action-bar .propertyhive-result-count {
    order: 2;
    font-size: 18px;
}

.art-property-action-bar .view-buttons {
    order: 1;
    margin-top:20px;
}

.art-property-action-bar .propertyhive-ordering {
    order: 3;
}

.property-advanced-search-form 
input[type="submit"].art-btn.art-property-search {
    all: unset;
    box-sizing: border-box;
    font-family: var(--header-font);
    font-size: 18px;
    height: 52px;
    padding: 10px 16px;
    width: 100%;
    min-width: unset;
    background: none;
    color: white;
    text-align: center;
    font-weight:700;
    background-color: var(--primary);
    border-left: 1px solid var(--medium-grey);
    border-radius: 0px 10px 10px 0px;
    cursor: pointer;
}

.property-advanced-search-form 
input[type="submit"].art-btn,
.property-advanced-search-form 
input[type="submit"].art-btn:hover {
    background-image: none;
    background-color: transparent;
    color: inherit;
    transition: none;
}


@media(max-width:768px){
  .property-advanced-search-form input[type="submit"]
 {
    font-size: 18px;
    width: 100%;
    padding: 0 40px;
    height: unset;
    min-width: unset;
    border-radius: 0px 0px 0px 0px;
    right: -1px;
}
.art-property-search {
    margin-top: 0px;
}
.archive-grid .grid-box {
    padding: 10px 10px 0;
    height: 100%;
}
}
.switch-view a, .switch-view i{
  color: white;
}
.switch-view:nth-child(2)  {
    border-radius: 0px 0px 0px 0px;
    color: var(--theme-colour);
}
.switch-view.active:nth-child(2)  {
    border-radius: 0px 0px 0px 0px;
    color: var(--white);
}

.switch-view:last-child {
    border-radius: 0px 0px 0px 0px;
}
.grid-view .card-archive-1 .grid-img img
 {
    border-radius: 20px 20px 0px 0px;
}
.art-btn-property-filter{
  border-top: 1px solid #DCDCDC;
  padding:10px;
  transform: 0.5s ease;
}
.art-btn-property-filter button{
  font-family: var(--text-font);
  color: var(--primary);
  font-weight: 400;
}
.art-btn-property-filter:hover button{
    color: var(--secondary);
}
.art-btn-property-filter button::before {
    content: "\f054";
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    display: inline-block;
    margin-right: 8px;
    font-size: 0.9em;
    transition: transform 0.25s ease;
}
form:has(.property-search__advanced-container.open)
.art-btn-property-filter button::before {
    content: "\f078";
}

.art-property-search-filter-2 .art-property-search-departments a{
        background: var(--medium-grey);
        font-family: var(--header-font);
        font-weight: 600;
    }

.post-type-archive .property-excerpt {
    display: none;
}
.post-type-archive .property-archive-price {
    color: var(--theme-colour);
}
@media(max-width:764px){button#art-search-filter-button {
    margin: auto;
}
}
.no-results-message{
    text-align:center;
}
.post-type-archive .control-property_type{
    min-width:fit-content;
}
/*--------------------------------------------------------------------
Calls To Action
---------------------------------------------------------------------*/
#cta-–-book-valuation{
    font-size: 46px;
}
.art-rep-cta p{
    font-size: 18px;
}
/*--------------------------------------------------------------------
Areas We Cover
---------------------------------------------------------------------*/
.art-rep-areas-we-cover p{
    font-size: 18px;
}
.art-rep-areas-we-cover .swiper{
    margin-top: 40px;
}
.art-rep-areas-we-cover .swiper img, .art-rep-areas-we-cover .swiper a{
    border-radius: 20px;
}
.art-rep-areas-we-cover .swiper .art-rep-areas-we-cover__item{
    border-radius: 20px;
}

/*--------------------------------------------------------------------
BLOG (Archive + Single)
---------------------------------------------------------------------*/
.page-template-page-blog .top-nav,
.post-template-single .top-nav,
.post-type-archive-property .top-nav{
  box-shadow: 0 4px 4px -2px rgb(0 0 0 / 10%);
}
/* Archive */
.page-template-page-blog{
    background-color: var(--medium-grey);
}
.page-template-page-blog #clients{
    background-color: white;
}
.page-template-page-blog .blog-content{
  background-color: white;
  padding: 20px;
  border-radius: 20px;
}

.page-template-page-blog .blog-container{
  border-radius: 20px;
}

.page-template-page-blog .blog-container .blog-image img {
    border-radius: 20px 20px 0px 0px;
}

.form-category select {
    background-color: transparent;
}

h2, .is-h2 {
    font-size: 45px;
    font-family: var(--header-font);
    line-height: 1.25;
    margin-top: 20px;
    margin-bottom: 30px;
}

@media(max-width:764px){
    h2, .is-h2{
    font-size: 35px;
}
}

.blog-archive{ margin-top: 100px;
    padding-bottom:60px;
}

@media(max-width:764px){
    .blog-archive{ margin-top: 0px;
    padding-bottom:60px;
}
}

.blog-content h2 a{ font-size: 25px; }

@media(max-width:764px){
body.page-template-page-blog {
    margin-top: 100px;
}
}

/* Single */
.post-template-single .container-blog.single_block{ padding-top: 40px; }

.post-template-single .blog-link {
  margin-top: 20px;
}

.post-template-single p{
    font-size: 18px;
}

.post-template-single h2{
    font-size:35px;
}

.schema-faq.wp-block-yoast-faq-block .schema-faq-question {
    font-size: 20px;
}

.home_read_time{ display: none; }

@media(max-width:765px){.art-blog-module .art-container{
  padding-left:10px;
  padding-right:10px;
}
}
/*--------------------------------------------------------------------
Single Property
---------------------------------------------------------------------*/
#agent{
    margin-top: -120px!important;
}

.single-property p{
    font-size: 18px;
}

.single-property .top-section-media-list button, .single-property .top-section-media-list a{
    background-color: transparent;
    border:none;
    color: var(--primary);
}

.single-property .top-section-media-list button:hover, .single-property .top-section-media-list a:hover{
    color: var(--theme-colour);
}
#book-a-viewing, .shortlist-container, .single-property .narrow-modern-cta{
    background-image: url('/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism-grey.svg');
}

#book-a-viewing .agent_container{
    font-family: var(--main-text-font);
}

.single-property .art-btn.art-btn{
    text-align:center;
}
/* Make each calculator card a vertical flex container */
.narrow-modern-calculator > div {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Push the button to the bottom */
.narrow-modern-calculator .art-btn {
  margin-top: auto;
}

.narrow-modern-calculator .liquid.art-btn.art-btn{
    background-color: var(--theme-colour);
    color: white;
    text-align:center;
}

.mortgage-calculator .liquid.art-btn.art-btn{
    width: 100%;
}
.single-property #book-a-viewing .art-btn.liquid::after {
  content: " >>";
  margin-left: 8px;
}
.single-property .art-btn.liquid::after {
  content: " >>";
  margin-left: 8px;
}



/*--------------------------------------------------------------------
Testimonials
---------------------------------------------------------------------*/

.art-rep-testimonials{
    padding-top:0px;
    padding-bottom:0px;
}

.art-rep-testimonials .parallax-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
}

.art-rep-testimonials .swiper-pagination-bullet {
    background-color:white;
}

@media(max-width:764px){
    .art-rep-testimonials{
    padding-top:60px;
    padding-bottom: 60px;
}
}

.art-rep-testimonials-cards .swiper-slide.slider-testimonial-item {
    background-image: url('/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism.svg');
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 10px;
    padding: 40px;
    text-align: left;
    transition: 0.4s ease;
    min-height: 100%;
}
.art-rep-testimonials p{
    font-size: 18px;
}

/* Let Swiper keep full control of widths */
.art-rep-testimonials-cards--slider .swiper-wrapper {
  align-items: stretch;
}

/* DO NOT flex the slide itself */
.art-rep-testimonials-cards--slider .swiper-slide {
  height: auto;
}

/* Stretch the card inside the slide */
.art-rep-testimonials-cards--slider .slider-testimonial-item {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Fill available height so footer sits at the bottom */
.art-rep-testimonials-cards--slider .testimonial-item-content {
  flex-grow: 1;
}

.page-template-page-testimonials-two section.content-image-text:first-of-type h1{
    font-size:55px;
    color: white;
}

@media(max-width:764px){
    .page-template-page-testimonials-two section.content-image-text:first-of-type h1{
    font-size:35px;
    color: white;
}
}

.page-template-page-testimonials-two section.content-image-text:first-of-type img{
    border-radius: 20px;
}

.page-template-page-testimonials-two section.content-image-text:first-of-type .content-image-text-container {
    background: none;
    color: var(--white);
}

.page-template-page-testimonials-two section.content-image-text:first-of-type{
  margin-top: 0;
  padding-top: 140px;

  background-color: var(--primary-dark);
  background-image: url(/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism-grey.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;

  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* Overlay layer A (more noticeable) */
.page-template-page-testimonials-two section.content-image-text:first-of-type::before{
  content:"";
  position:absolute;
  inset:-10%;
  z-index:0;
  pointer-events:none;

  background-image: url(/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism-grey.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;

  opacity: 0.35;
  filter: blur(0.4px);
  transform: translate3d(-28px, 16px, 0) scale(1.18);
  animation: foxhall-wave-a 12s ease-in-out infinite;
  will-change: transform;
}

/* Overlay layer B (adds depth, different timing) */
.page-template-page-testimonials-two section.content-image-text:first-of-type::after{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:0;
  pointer-events:none;

  background-image: url(/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism-grey.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;

  opacity: 0.16;
  filter: blur(0.9px);
  transform: translate3d(22px, -18px, 0) scale(1.22);
  animation: foxhall-wave-b 18s ease-in-out infinite;
  will-change: transform;
}

/* Keep your content above both overlays */
.page-template-page-testimonials-two section.content-image-text:first-of-type > *{
  position: relative;
  z-index: 1;
}

@keyframes foxhall-wave-a{
  0%,100% { transform: translate3d(-28px, 16px, 0) scale(1.18); }
  50%     { transform: translate3d(28px, -16px, 0) scale(1.26); }
}

@keyframes foxhall-wave-b{
  0%,100% { transform: translate3d(22px, -18px, 0) scale(1.22); }
  50%     { transform: translate3d(-22px, 18px, 0) scale(1.30); }
}

@media (prefers-reduced-motion: reduce){
  .page-template-page-testimonials-two section.content-image-text:first-of-type::before,
  .page-template-page-testimonials-two section.content-image-text:first-of-type::after{
    animation: none;
  }
}
 .testimonials-page-two.pd-top{
    padding-top:120px;
 }

@media(max-width:768px){
 .art-rep-testimonials-cards--slider .swiper-nav-buttons {
    gap: 15px;
}
}
/*--------------------------------------------------------------------
Book A Valuation Page
---------------------------------------------------------------------*/
body.page-template-page-valuation-side-image {
    margin-top: 140px;
}
@media(max-width:768px){
    body.page-template-page-valuation-side-image {
    margin-top: 80px;
}
}

.page-template-page-valuation-side-image .page-image-sidebar{
    background-color: var(--medium-grey);
    margin-bottom:40px;
}

.page-template-page-valuation-side-image{
    background-color: var(--medium-grey);
}

.page-template-page-valuation-side-image #clients{
    background-color: white;
}

.page-image-sidebar .valuation-box {
    background-color: var(--white);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.page-image-sidebar .valuation-box p {
    text-align: center;
    font-size: 18px;
}

.page-template-page-valuation-side-image h1{
    font-family: var(--header-font);
    font-size:55px;
}

@media(max-width:764px){
    .page-template-page-valuation-side-image h1{
    font-family: var(--header-font);
    font-size:35px;
}
}

/*--------------------------------------------------------------------
Property Slider
---------------------------------------------------------------------*/

.art-property-slider .grid-box-home .grid-img-home{
    border-radius:20px;
}

.art-property-slider .grid-box-home .grid-img-home img{
    border-radius:20px;
}

.feature-info-home{
    display: flex;
    flex-direction: column;
}

.art-property-slider .feature-info-home .property-archive-title{
    order: 2;
}
.art-property-slider .feature-info-home p{
    order: 1;
    font-size: 32px;
    color: var(--theme-colour);
    height: fit-content;
}

.art-property-slider .art-btn.liquid::after {
  content: " >>";
  margin-left: 8px;
}

/*--------------------------------------------------------------------
Art Blog Module
---------------------------------------------------------------------*/

.art-blog-module p{
    font-size: 18px;
}
.art-blog-module .swiper{
    margin-top:40px;
}

.art-blog-module .swiper .swiper-slide img{
    border-radius: 20px 20px 0px 0px;
}
.art-blog-module .swiper .swiper-slide.blog-container{
    border-radius: 20px 20px 20px 20px;
}
.art-blog-module .swiper .blog-image{
    border-radius: 20px 20px 0px 0px;
}
.art-blog-module .swiper .blog-content{
    border-radius: 20px 20px 20px 20px;
}
/*--------------------------------------------------------------------
Team Member Module
---------------------------------------------------------------------*/
.art-rep-team .swiper-slide img{
    border-radius:20px;
}

.iso-team-members{
  position: relative;
  height:fit-content!important;
}

.iso-team-members > .iso-team-member{
  transform: translateX(15%); /* usually NOT correct by itself */
  position:static!important;
}


@media(max-width:764px){
    .iso-team-members > .iso-team-member{
  transform: translateX(0%); /* usually NOT correct by itself */
}
}

.team-container-inner{
  box-shadow:
    0 10px 24px rgba(0,0,0,0.10),
    0 2px 6px rgba(0,0,0,0.08);
}
/*--------------------------------------------------------------------
Register As Buyer Page
---------------------------------------------------------------------*/
.page-id-444{
    margin-top:0px;
}
.art-form-two {
    margin: auto;
}
.page-id-444 section.page-content {
    max-width: none;
    margin: 0 auto;
}
/* Scope only this form */
#gform_wrapper_12 {
  --gf-radius: 8px; /* slightly rounded, not pill-like */
}

/* Form container */
#gform_wrapper_12 .gform_body {
  background: rgba(255, 255, 255, 0.75); /* semi-transparent white */
  padding: 32px;
  border-radius: 14px;

  /* soft elevation */
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);

  /* glass effect */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  /* optional subtle border for definition */
  border: 1px solid rgba(255, 255, 255, 0.4);
}


/* Field spacing */
#gform_wrapper_12 .gfield {
  margin-bottom: 20px;
}

/* Inputs, selects, textarea */
#gform_wrapper_12 input[type="text"],
#gform_wrapper_12 input[type="email"],
#gform_wrapper_12 input[type="tel"],
#gform_wrapper_12 select,
#gform_wrapper_12 textarea {
  border-radius: 8px;
  border: 1px solid #d6dbe3;
  padding: 14px 16px;
  font-size: 15px;
  background-color: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Focus state */
#gform_wrapper_12 input:focus,
#gform_wrapper_12 select:focus,
#gform_wrapper_12 textarea:focus {
  border-color: var(--gf-color-primary);
  box-shadow: 0 0 0 3px rgba(32, 76, 229, 0.15);
  outline: none;
}

/* Select dropdown arrow alignment fix */
#gform_wrapper_12 select {
  background-position: right 16px center;
}

/* Checkbox & radio containers */
#gform_wrapper_12 .gchoice {
  padding: 10px 12px;
  border-radius: 8px;
  transition: background 0.2s ease;
}

#gform_wrapper_12 .gchoice:hover {
  background: rgba(32, 76, 229, 0.05);
}

/* Field labels */
#gform_wrapper_12 .gfield_label {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 6px;
}

/* Submit button */
#gform_wrapper_12 .gform_footer {
  margin-top: 28px;
}

/* Privacy statement */
#gform_wrapper_12 .form-privacy-statement {
  font-size: 13px;
  color: #6b7280;
}

/* Validation errors */
#gform_wrapper_12 .gfield_error input,
#gform_wrapper_12 .gfield_error select,
#gform_wrapper_12 .gfield_error textarea {
  border-color: #dc2626;
}

#gform_wrapper_12 .validation_message {
  font-size: 13px;
  color: #dc2626;
}
.page-id-444 .gform-theme--foundation .gform_fields {
    grid-row-gap: 20px;
    row-gap: 10px;
}
.page-id-444 .ginput_container_select .gf_placeholder{
    color: black;
}

.page-id-444 .art-module-multi{
    margin-top: 0;
    padding-top: 60px;
    background-color: var(--primary-dark);
    background-image: url(/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism-grey.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.page-id-444 .art-module-multi p{
    color: white;
}
.page-id-444 .art-module-multi h2{
    color: white;
}
#gform_submit_button_12{
    padding:20px;
    width:30%;
    background-color: var(--theme-colour);
}
#gform_submit_button_12:hover{
    border: none;
}

/*--------------------------------------------------------------------
Contact Us
---------------------------------------------------------------------*/
.page-id-307 .hero-module-image img {
    max-height: 400px;
}

.page-id-307 .contact-bg{
    background-color: transparent;
}

.page-id-307 .contact_block p{
    color: var(--primary);
}

.page-id-307 .contact_block h4{
    color: var(--primary);
    font-weight: 700;
}

.page-id-307 .contact_block a{
    color: var(--primary);
}

.page-id-307 .contact_block a:hover{
    color: var(--theme-colour);
}

.page-id-307 .contact-three-contact.art-btn-group .art-btn.art-btn:nth-of-type(even){
    color: var(--primary);
    border: 1px solid var(--primary);
}

.page-id-307 .contact-three-contact.art-btn-group .art-btn.art-btn:nth-of-type(even):hover{
    color: var(--white);
}
.contact-five.list-item{
    border:1px solid var(--medium-grey);
    padding:0px 0px 40px 0px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.contact-five.list-item h3{
    font-size: 30px;
    color: white;
    background-color: var(--primary);
    margin-top:0px;
    margin-bottom: 20px;
    padding: 20px;
}
@media(max-width:764px){
    .contact-five.list-item{
    padding:0px 20px 40px 20px;
}
.contact-five.list-item h3{
    margin-top:-20px;
}
}
.contact-five.list-item p{
    font-size: 18px;
}
.contact-five.list-item a{
    font-size: 18px;
}
.contact-five .art-btn.art-btn{
    background-color: transparent;
    border: 1px solid var(--primary);
    color: var(--primary);
}
.contact-five .art-btn.art-btn:hover{
    color: var(--white);
}
/*--------------------------------------------------------------------
Footer
---------------------------------------------------------------------*/

.footer h3{
    font-size: 24px;
    text-transform: uppercase;
    color: var(--theme-colour);
}
.footer p, .footer dt, .footer dd, .footer ul li a{
    color: white;
}
.footer a{
    color: white;
}
.footer ul li a, .footer .textwidget p, .footer .textwidget p a {
    font-size: 18px;
}
.footer-middle-bar{
    background-image: url('/wp-content/themes/art-division-child/assets/images/foxhall-subtle-prism-grey.svg');
}
.footer-middle-container{
    background-color: var(--primary-dark);
}
.footer-bottom p, .footer-bottom a, .footer-bottom ul li a{
    color: var(--primary-dark);
}
.footer .wp-block-image img{
    max-width: 200px;
}
.footer .wp-block-image{
    margin-top:40px;
}
.footer .art-block-social-links-container{
    margin-top: 100px;
}
.footer-middle h3.widget-title {
    padding-top:50px;
}
.footer .wp-block-image {
    margin-top: 30px;
}
.footer-area-four .art-block-offices-container h3{
    padding:0px;
    margin:0px;
    margin-bottom: 10px;
    font-size: 18px;
    height:fit-content;
}
.footer-area-four .art-block-offices-container{
    margin-bottom: 40px;
}
.footer-area-four .wp-block-heading{
    padding-top:30px;
}
.footer-area-four .art-block-office dl {
  display: flex;
  flex-direction: column;
}
.footer-area-four .art-block-office-email {
  order: 99;
}
section.footer-area-four:nth-of-type(2){
    margin-top:117px;
}

/*--------------------------------------------------------------------
Search Filter
---------------------------------------------------------------------*/

@media(max-width:991px){/* --- Fix layout/overlap for this specific search form --- */
#art-property-archive-search-form.property-search-form {
  display: flex !important;          /* override "display: table" */
  flex-wrap: wrap;
  gap: 0px;
  width: 100%;
  padding: 20px;
  background: var(--medium-grey);
  border-radius: 14px;
}

.property-search-form .control label {
    position:static;
    font-family: var(--header-font);
    margin: 0;
    margin-top: 0px;
    left:0px;
    background-color: var(--medium-grey);
    padding: 10px 10px 10px 10px;
    font-size: 12px;
    width:100%;
    font-weight: 500;
}

button#art-search-filter-button {
    padding: 12px;
    display: flex;
    gap: 10px;
    margin-top:20px;
    border: 1px solid #d5d5d5;
    color: var(--text);
    background: transparent;
    width: 100%;
}

button#art-search-filter-button:active, button#art-search-filter-button:hover {
    background: var(--theme-colour);
    color: white;
}

/* Each field block */
#art-property-archive-search-form .control {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 0px;                    /* responsive columns */
  min-width: 200px;
}

/* Inputs/selects */
#art-property-archive-search-form input[type="text"],
#art-property-archive-search-form select {
  width: 100%;
  height: 44px;
  padding: 10px 12px;
  border: 1px solid #DCDCDC;
  border-radius: 10px;
  background: #fff;
  line-height: 1.2;
}

/* Labels */
#art-property-archive-search-form label {
  margin: 0;
  font-size: 14px;
  line-height: 1.2;
}

/* Department radios: keep them tidy + not wrapping into chaos */
#art-property-archive-search-form .control-department {
  flex: 1 1 100%;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  border: 1px solid #DCDCDC;
  border-radius: 12px;
  background: #fff;
}

#art-property-archive-search-form .control-department label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

/* Sold/let + submit area: stop the weird grid max-height clipping */
#art-property-archive-search-form .property_search_sold_let_option {
  display: flex !important;
  flex: 1 1 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-height: none !important;
  padding-top: 6px;
}

/* Include checkbox group */
#art-property-archive-search-form .control-include {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

#art-property-archive-search-form .control-include label {
  margin: 0;
}

/* Make the button behave and not overlap */
#art-property-archive-search-form input.art-property-search[type="submit"] {
  width: auto;
  min-width: 160px;
  height: 44px;
  border-radius: 12px;
  margin: 0;
  white-space: nowrap;
}
}

/* Mobile: stack cleanly */
@media (max-width: 768px) {
  #art-property-archive-search-form.property-search-form {
    padding: 16px;
  }

  #art-property-archive-search-form .control {
    flex: 1 1 100%;
    min-width: 0;
    margin-bottom:0px;
    border:none;
  }

  #art-property-archive-search-form .property_search_sold_let_option {
    flex-direction: column;
    align-items: stretch;
  }

  #art-property-archive-search-form input.art-property-search[type="submit"] {
    width: 100%;
  }
  a.art-department-link{
    border:1px solid #dcdcdc;
  }
  .property-search-art-btn-group{
    justify-content:space-evenly;
  }
  .property-search-art-btn-group .art-btn.art-btn{
    width:100%;
  }
}

/*--------------------------------------------------------------------
Page Loader
---------------------------------------------------------------------*/
/* Full screen overlay */
#page-loader{
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #fff;     /* change if you want */
  z-index: 99999;

  opacity: 1;
  visibility: visible;
  transition: opacity .35s ease, visibility .35s ease;
}

#page-loader.hidden{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


.loader {
  width: 40px;
  height: 20px;
  background: var(--theme-colour);
  position: relative;
  animation: l9-0 1.5s infinite linear;
}
.loader:before,
.loader:after {
   content:"";
   position: absolute;
   background: inherit; 
   bottom: 100%;
   width: 50%;
   height: 100%;
   animation: inherit;
   animation-name: l9-1;
}
.loader:before {
  left: 0;
  transform-origin: bottom left;
  --s:-1;
}
.loader:after {
  right: 0;
  transform-origin: bottom right;
}
@keyframes l9-0 {
   0%,10%   {transform:translateY(0%)    scaleY(1)}
   49.99%   {transform:translateY(-50%)  scaleY(1)}
   50%      {transform:translateY(-50%)  scaleY(-1)}
   90%,100% {transform:translateY(-100%) scaleY(-1)}
}
@keyframes l9-1 {
   10%,90% {transform: rotate(0deg)}
   50%     {transform: rotate(calc(var(--s,1)*180deg))}
}

/*--------------------------------------------------------------------
Cookie Policy
---------------------------------------------------------------------*/

.privacy-policy{
    margin-top:150px;
}

.art-cookie-inner .art-btn.art-cookie-button {
    min-width: 100px;
    text-align:center;
}

/*--------------------------------------------------------------------
GForm Entry Error
---------------------------------------------------------------------*/

body .gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {
    background: transparent;
    border: none;
    font-size: 14.992px;
    margin-block-start: 8px;
    padding: 0px;
}