/*
Theme Name: Pure Serenity Villas
Theme URI:
Author: AMS (Ruven Pelka)
Author URI: https://amswebdesign.com
Description: The Pure Serenity Villas block theme.
Requires at least: 6.8
Tested up to: 7.0
Requires PHP: 8.0
Version: 1.0.0
Template: groundbreaker
Text Domain: psv
*/


/**
 * BASE/VIEW-TRANSITION
 */

@view-transition {
	navigation: auto;
}


/**
 * BASE/HTML
 */

html {
	scroll-behavior: smooth;
}


/**
 * BASE/BODY
 */

/* body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
} */


/**
 * BASE/FORMS
 */

:root {
	--groundbreaker--input--border-radius: 0;
	--groundbreaker--submit-button--border-radius: 999px;
	--groundbreaker--submit-button--background-color: var(--wp--preset--color--custom-secondary-500);
}

input[type=submit]:hover {
	background-color: var(--wp--preset--color--primary-600);
}

[type='text'],
[type='email'],
[type='url'],
[type='password'],
[type='number'],
[type='date'],
[type='datetime-local'],
[type='month'],
[type='search'],
[type='tel'],
[type='time'],
[type='week'],
[multiple],
textarea,
select {
	margin-top: .3rem;
	background-color: var(--wp--preset--color--base-50);
}


/**
 * PLUGIN/CAROUSEL-SLIDER-BLOCK
 */

/* Navigation Arrows */

.wp-block-cb-carousel-v2.alignfull .cb-button-next,
.wp-block-cb-carousel-v2.alignfull .cb-button-prev {
  padding: 1.5rem 1.5rem;
  transition: all ease-in-out .2s;
  background-color: rgba(255, 255, 255, .7);
  backdrop-filter: blur(10px);
  aspect-ratio: 1 / 1;
  width: auto;
}

.wp-block-cb-carousel-v2.alignfull .cb-button-next {
  right: 0;
  border-top-left-radius: 99rem;
  border-bottom-left-radius: 99rem;
}
.wp-block-cb-carousel-v2.alignfull .cb-button-prev {
  left: 0;
  border-top-right-radius: 99rem;
  border-bottom-right-radius: 99rem;
}

.wp-block-cb-carousel-v2.alignfull .cb-button-next:active,
.wp-block-cb-carousel-v2.alignfull .cb-button-prev:active {
  transform: scale(1.2);
  background-color: rgba(255, 255, 255, .9);
}

@media (min-width: 780px) {
  .wp-block-cb-carousel-v2.alignfull .cb-button-next:hover,
  .wp-block-cb-carousel-v2.alignfull .cb-button-prev:hover {
    background-color: rgba(255, 255, 255, .9);
  }
}

@media (max-width: 781px) {
  .wp-block-cb-carousel-v2.alignfull .cb-button-next,
  .wp-block-cb-carousel-v2.alignfull .cb-button-prev {
    padding: .7rem .4rem !important;
  }
  .wp-block-cb-carousel-v2 .cb-button-next:after,
  .wp-block-cb-carousel-v2 .cb-button-prev:after {
    --wp--custom--carousel-block--navigation-size: 16px;
  }
}

/* Slider Images */

.wp-block-cb-carousel-v2,
.wp-block-cb-carousel-v2 .swiper,
.wp-block-cb-carousel-v2 .wp-block-image,
.wp-block-cb-carousel-v2 .wp-block-image img {
	height: 100%;
}

.wp-block-cb-carousel-v2 .wp-block-image img {
	width: 100%;
}


/**
 * PLUGIN/CONTACT-FORM-7
 */

.required-form-field-indicator {
	color: var(--wp--preset--color--primary-600);
}


/**
 * PLUGIN/OWNERREZ
 */

.ownerrez-amenities-table {
	width: 100%;
/* 	max-width: 700px; */
	margin-left: 0;
/* 	border: 1px solid red; */
	border-collapse: collapse;
}

.ownerrez-amenities-table > tbody > tr {
	border-top: 1px solid var(--wp--preset--color--base-200);
}

.ownerrez-amenities-table > tbody > tr:first-child {
	border-top: 0;
}

.ownerrez-amenities-table th,
.ownerrez-amenities-table td {
	padding: 1rem;
}

.ownerrez-amenities-table th {
	font-family: var(--wp--preset--font-family--noto-serif);
	color: var(--wp--preset--color--base-950);
	padding-left: 0;
}

.ownerrez-amenities-table-category-name {
	text-align: left;
	font-weight: 600;
}

.ownerrez-amenities-list-item {
	display: inline;
	font-weight: 500;
}

.ownerrez-amenities-list-item::after {
	content: " · ";
	color: var(--wp--preset--color--base-400);
}

.ownerrez-amenities-list-item:last-child::after {
    content: "";
}


/** 
 * THEME/ANIMATE-DOWN-ARROW
 */

.animate-down-arrow {
    animation: bounceDown 2s infinite;
}

/* Keyframe Animation */
@keyframes bounceDown {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
        opacity: 0.8;
    }
    40% {
        transform: translateY(10px);
        opacity: 1;
    }
    60% {
        transform: translateY(5px);
        opacity: 0.9;
    }
}

/* Accessibility: Turn off animation if requested by user settings */
@media (prefers-reduced-motion: reduce) {
    .animate-down-arrow {
        animation: none;
    }
}


/** 
 * THEME/OVERLAP-IMAGES
 */

.overlap-images {
	position: relative;
}

.overlap-images .wp-block-image:nth-child(1) {
	padding-right: var(--wp--preset--spacing--scale-6);
}

.overlap-images .wp-block-image:nth-child(2) {
	position: absolute;
	bottom: -50px;
	right: 0px;
	max-width: 80%;
}


/** 
 * THEME/FULL-WIDTH-IMAGES
 */

.w-full-images img {
	width: 100%;
}


/** 
 * THEME/VILLA-AMENITIES-SECTIONS
 */

@media (min-width: 782px) {
	.villa-amenities-sections {
		--villa-amenities-sections-offset: var(--wp--preset--spacing--scale-20);
	}

	.villa-amenities-sections > .wp-block-columns:not(:first-child),
	.villa-amenities-sections > .wp-block-media-text:not(:first-child) {
		margin-top: calc( var(--villa-amenities-sections-offset) * -1 ) !important;
	}

	.villa-amenities-sections > .wp-block-columns .wp-block-column:has(.wp-block-separator),
	.villa-amenities-sections > .wp-block-media-text .wp-block-media-text__content {
		margin-top: var(--villa-amenities-sections-offset) !important;
		margin-bottom: var(--villa-amenities-sections-offset) !important;
		min-height: 700px;
		align-items: center;
	    display: flex;
	}

	.villa-amenities-sections > .wp-block-columns:first-child .wp-block-column:has(.wp-block-separator),
	.villa-amenities-sections > .wp-block-media-text:first-child .wp-block-media-text__content {
		margin-top: 0 !important;
	}
	.villa-amenities-sections > .wp-block-columns:last-child .wp-block-column:has(.wp-block-separator),
	.villa-amenities-sections > .wp-block-media-text:last-child .wp-block-media-text__content {
		margin-bottom: 0 !important;
	}
}


/** 
 * THEME/WAVE-OVERLAY
 */

.wp-block-cover:has(.wave-overlay) {
	position: relative;
}

.wave-overlay {
    position: absolute;
    width: 100%;
/* 	height: 98px; */
    left: 0;
    bottom: 0;
    transform: rotate(180deg);
    height: 98px;
/*     scale(-1, -1); */
/* 	transform: translateX(0) rotate(180deg); */
	min-width: stretch;
}

.wave-overlay svg {
	width: 125%;
	fill: white;
    transform: translateX(-17%) rotateY(180deg);
}

@media (max-width: 781px) {
	.wave-overlay svg {
		width: 300%;
	}
}


/** 
 * WP-BLOCKS/BUTTON
 */

.wp-block-button__link {
	transition: all ease-in-out .2s;
}

.wp-block-button:not([class*="is-style"]) .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary-600);
}


/**
 * WP-BLOCKS/IMAGE
 */

.wp-block-image .wp-element-caption {
	margin-top: 0;
	margin-bottom: 0;
	padding: var(--wp--preset--spacing--scale-3);
	background-color: var(--wp--preset--color--base-100);
	text-align: center;
	font-size: var(--wp--preset--font-size--sm);
}


/**
 * WP-BLOCKS/LIST
 */

ul.wp-block-list {
	padding-left: .5em;
}

ul.wp-block-list:not([class*="is-style"]) {
	list-style-type: "\2022";
}

ul.wp-block-list li {
	padding-inline-start: 1ch;
}

ul.wp-block-list li::marker {
	color: var(--wp--preset--color--primary-500);
}


/**
 * WP-BLOCK/NAVIGATION
 */

/* Active item */

.main-nav .wp-block-navigation-item > a {
	transition: all ease-in-out .2s;
	opacity: .7;
}

.main-nav .wp-block-navigation-item > a:hover,
.main-nav .wp-block-navigation-item.current-menu-item > a,
.main-nav .wp-block-navigation-item.current-menu-item > a,
.main-nav .wp-block-navigation-item > a.current-menu-ancestor {
	opacity: 1;
}

/* Sub-Menu */

.main-nav .wp-block-navigation-submenu:not(.is-menu-open) .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--base-300) !important;
	padding: 1rem 0;
	/*   min-width: max-content !important; */
	min-width: 250px !important;
}

.main-nav .wp-block-navigation-submenu:not(.is-menu-open) .wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
	color: var(--wp--preset--color--primary-500);
	padding: .5rem 1.8rem;
	text-transform: none;
	font-size: .9rem;
	font-weight: 500;
	transition: all 0.3s ease;
}

.main-nav .wp-block-navigation-submenu:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item > a {
	opacity: 1 !important;
}

.main-nav .wp-block-navigation-submenu:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item.current-menu-item > a,
.main-nav .wp-block-navigation-submenu:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary-500) !important;
	text-decoration: underline;
	text-underline-offset: 7px;
	text-decoration-thickness: 2px;
}


/**
 * WP-BLOCK/MOBILE-NAVIGATION
 */

.mobile-nav > .wp-block-navigation-item > a,
.mobile-nav .wp-block-navigation__responsive-container-close {
  color: var(--wp--preset--color--primary-500) !important;
}

.mobile-nav .wp-block-navigation-item > a {
  font-weight: 600;
}

.mobile-nav .wp-block-navigation-item.current-menu-item > a {
  border-bottom: 2px solid;
}

/* Mobile Sub-Menus */

.mobile-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  padding-bottom: 4rem;
}

.mobile-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  padding-top: .6rem;
}

.mobile-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu .wp-block-navigation-item {
  padding: .3rem 0;
}

.mobile-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
  color: var(--wp--preset--color--primary-500) !important;
/*   font-size: .95rem; */
  font-weight: 400;
  text-transform: none;
  padding: 0;
}

.mobile-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {}


/** 
 * WP-BLOCK-STYLES/BUTTON/ALTERNATIVE
 */

.wp-block-button.is-style-alternative .wp-block-button__link {
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--base-0);
}

.wp-block-button.is-style-alternative .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary-600);
	background-color: var(--wp--preset--color--base-0);
}


/**
 * WP-BLOCK-STYLES/BUTTON/OUTLINE
 */

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	color: var(--wp--preset--color--base-0) !important;
	background-color: var(--wp--preset--color--primary-500);
	border-color: var(--wp--preset--color--primary-500);
}

.wp-block-button.is-style-outline .wp-block-button__link.has-base-0-color:hover {
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--base-0);
	border-color: var(--wp--preset--color--base-0);
}


/**
 * WP-BLOCK-STYLES/BUTTONS/FULL-WIDTH-ON-MOBILE
 */

@media (max-width: 600px) {
	.wp-block-buttons.is-style-full-width-on-mobile .wp-block-button {
		width: 100%;
	}
}


/**
 * WP-BLOCK-STYLES/COLUMNS/STACK-ON-TABLET
 */

@media (max-width: 1024px) {
	.wp-block-columns.is-style-stack-on-tablet {
		flex-wrap: wrap !important;
	}

	.wp-block-columns.is-style-stack-on-tablet > .wp-block-column {
		flex-basis: 100% !important;
		margin-left: 0 !important;
	}
}


/**
 * WP-BLOCK-STYLES/COLUMNS/SWITCH-COLUMNS-ON-MOBILE
 */

@media (max-width: 781px) {
	/* .is-style-switch-columns-on-mobile {
		display: flex;
		flex-direction: column;
		row-gap: var(--wp--style--block-gap, 1.5em);
	} */

	.is-style-switch-columns-on-mobile > .wp-block-column:nth-child(2) {
		order: -1;
	}
}


/**
 * WP-BLOCK-STYLES/COLUMNS/TWO-COLUMNS-ON-MOBILE
 */

@media (max-width: 781px) {
	/* Allow the columns to wrap into a second row */
	.wp-block-columns.is-style-two-columns-on-mobile {
		display: flex;
		flex-wrap: wrap !important; 
		gap: var(--wp--style--block-gap);
	}

	/* Force each column to be exactly 50% wide on mobile */
	.wp-block-columns.is-style-two-columns-on-mobile > .wp-block-column {
		flex-basis: calc(50% - (var(--wp--style--block-gap) / 2)) !important;
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
	}
}


/**
 * WP-BLOCK-STYLES/COVER/NO-MIN-HEIGHT-ON-MOBILE
 */

@media (max-width: 781px) {
	.wp-block-cover.is-style-no-min-height-on-mobile, 
	.wp-block-cover.is-style-no-min-height-on-mobile .wp-block-cover-image {
		min-height: auto !important;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/CENTER-ON-MOBILE
 */

@media (max-width: 781px) {
	
	.is-style-center-on-mobile > * {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	
	.wp-block-group.is-style-center-on-mobile {
		text-align: center;
	}
	
	.wp-block-group.is-style-center-on-mobile h1,
	.wp-block-group.is-style-center-on-mobile h2,
	.wp-block-group.is-style-center-on-mobile h3,
	.wp-block-group.is-style-center-on-mobile h4,
	.wp-block-group.is-style-center-on-mobile h5,
	.wp-block-group.is-style-center-on-mobile h6,
	.wp-block-group.is-style-center-on-mobile p {
		text-align: center !important;
	}

	.wp-block-group.is-style-center-on-mobile .wp-block-buttons {
		justify-content: center !important;
	}

	.wp-block-group.is-style-center-on-mobile .wp-block-image {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center;
	}

	.wp-block-group.is-style-center-on-mobile .wp-block-image img {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.wp-block-group.is-style-center-on-mobile ul.wp-block-list,
	.wp-block-group.is-style-center-on-mobile ol.wp-block-list {
		text-align: center;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}
	
	.wp-block-group.is-style-center-on-mobile .wp-block-social-links {
		justify-content: center;
	}
	
	.wp-block-group.is-style-center-on-mobile .wp-block-group:has(p) {
		align-items: center;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/GLOBAL-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
	.wp-block-group.is-style-global-padding-on-mobile {
		padding-left: var(--wp--style--root--padding-left) !important;
		padding-right: var(--wp--style--root--padding-right) !important;
		padding-top: var(--wp--style--block-gap) !important;
		padding-bottom: var(--wp--style--block-gap) !important;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/GLOBAL-HORIZONTAL-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
	.wp-block-group.is-style-global-padding-x-on-mobile {
		padding-left: var(--wp--style--root--padding-left) !important;
		padding-right: var(--wp--style--root--padding-right) !important;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/GLOBAL-VERTICAL-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
	.wp-block-group.is-style-global-padding-y-on-mobile {
		padding-top: var(--wp--style--block-gap) !important;
		padding-bottom: var(--wp--style--block-gap) !important;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/NO-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
	.wp-block-group.is-style-no-padding-on-mobile {
		padding: 0 !important;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/NO-HORIZONTAL-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
	.wp-block-group.is-style-no-padding-x-on-mobile {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/NO-VERTICAL-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
	.wp-block-group.is-style-no-padding-y-on-mobile {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/OVERLAP-ON-DESKTOP
 * WP-BLOCK-STYLES/COLUMNS/OVERLAP-ON-DESKTOP
 */

@media (min-width: 780px) {
	.is-style-overlap-on-desktop {
		margin-top: calc( var(--wp--preset--spacing--scale-16) * -1 ) !important;
		margin-bottom: calc( var(--wp--preset--spacing--scale-16) * -1 ) !important;
	}
}


/**
 * WP-BLOCK-STYLES/GROUP/SCREEN-READER-ONLY
 */

.is-style-screen-reader-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border-width: 0;
}


/**
 * WP-BLOCK-STYLES/LIST/ARROWS
 */

ul.wp-block-list.is-style-arrows {
	list-style-type: "\25B8";
}

ul.wp-block-list.is-style-arrows li::marker {
	color: var(--wp--preset--color--primary-500);
}


/**
 * WP-BLOCK-STYLES/MEDIA-TEXT/REVERSE-ORDER-ON-MOBILE
 */

@media (max-width: 600px) {
	.is-style-reverse-order-on-mobile.wp-block-media-text.is-stacked-on-mobile {
		display: grid !important;
		grid-template-areas: 
			"media-text-content"
			"media-text-media" !important;
	}

	.is-style-reverse-order-on-mobile.wp-block-media-text .wp-block-media-text__media {
		grid-area: media-text-media;
	}

	.is-style-reverse-order-on-mobile.wp-block-media-text .wp-block-media-text__content {
		grid-area: media-text-content;
	}
}


/** 
 * WP-BLOCK-STYLES/PARAGRAPH/HIDDEN-LINKS
 */

.is-style-hidden-links a {
	color: inherit;
	text-decoration: none !important;
}

.is-style-hidden-links a:hover {
	text-decoration: underline !important;
}


/** 
 * WP-BLOCK-STYLES/PARAGRAPH/NO-LINK-UNDERLINE
 */

.is-style-no-link-underline a {
	text-decoration: none !important;
}

.is-style-no-link-underline a:hover {
	text-decoration: underline !important;
}


/** 
 * WP-BLOCK-STYLES/PARAGRAPH/SUB-HEADING
 */

.wp-block-paragraph.is-style-sub-heading { 
/* 	font-family: var(--wp--preset--font-family--noto-serif); */
	color: var(--wp--preset--color--primary-500); 
/* 	color: var(--wp--preset--color--base-950); */
	font-size: var(--wp--preset--font-size--xs); 
	font-weight: 600; 
	letter-spacing: .074em;
	text-transform: uppercase;
}


/** 
 * WP-BLOCK-STYLES/SEPARATOR/NARROW-LINE
 */

.wp-block-separator.is-style-narrow-line {
	border-top: 4px solid;
	max-width: 70px !important; 
}

.wp-block-separator.is-style-narrow-line:not(.aligncenter) {
	margin-left: 0;
}