/*
Theme Name: SRNTY Child
Theme URI: https://threekg.com/
Description: Child theme for the SRNTY WordPress theme.
Author: 3KG
Template: cozystay
Version: 1.0.0
Text Domain: cozystay-child
*/

/*
 * Add your custom CSS below.
 */

.cozystay-optimized-video-background {
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.cozystay-optimized-video-background__media {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #000;
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.cozystay-optimized-video-background__media.has-first-frame-placeholder {
	background-color: #000;
}

.cozystay-optimized-video-background__media video {
	height: 100%;

	opacity: 0;
	object-fit: cover;
	object-position: center center;
	position: absolute;
	top: 0;
	transition: opacity 0.35s ease;
	width: 100%;
}

.cozystay-optimized-video-background__media.is-ready video {
	opacity: 1;
}

.cozystay-optimized-video-background > *:not(.cozystay-optimized-video-background__media) {
	position: relative;
	z-index: 1;
}

.elementor-widget-image-carousel,
.elementor-widget-loop-carousel {
	--cozystay-carousel-peek-size: 48px;
}

.elementor-widget-image-carousel.cozystay-image-carousel-ratio-yes .elementor-image-carousel-wrapper .swiper-slide-image {
	aspect-ratio: var(--cozystay-image-carousel-aspect-ratio, 16 / 9);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.elementor-widget-image-carousel.elementor-carousel-peek-previous > .elementor-widget-container,
.elementor-widget-image-carousel.elementor-carousel-peek-next > .elementor-widget-container,
.elementor-widget-image-carousel.elementor-carousel-peek-both > .elementor-widget-container,
.elementor-widget-loop-carousel.elementor-carousel-peek-previous > .elementor-widget-container,
.elementor-widget-loop-carousel.elementor-carousel-peek-next > .elementor-widget-container,
.elementor-widget-loop-carousel.elementor-carousel-peek-both > .elementor-widget-container {
	overflow: hidden;
}

.elementor-widget-image-carousel.elementor-carousel-peek-previous .elementor-image-carousel-wrapper:not([dir="rtl"]),
.elementor-widget-loop-carousel.elementor-carousel-peek-previous .elementor-loop-container:not([dir="rtl"]),
.elementor-widget-image-carousel.elementor-carousel-peek-next .elementor-image-carousel-wrapper[dir="rtl"],
.elementor-widget-loop-carousel.elementor-carousel-peek-next .elementor-loop-container[dir="rtl"] {
	--cozystay-carousel-peek-left: var(--cozystay-carousel-peek-size);
	--cozystay-carousel-peek-right: 0px;
}

.elementor-widget-image-carousel.elementor-carousel-peek-next .elementor-image-carousel-wrapper:not([dir="rtl"]),
.elementor-widget-loop-carousel.elementor-carousel-peek-next .elementor-loop-container:not([dir="rtl"]),
.elementor-widget-image-carousel.elementor-carousel-peek-previous .elementor-image-carousel-wrapper[dir="rtl"],
.elementor-widget-loop-carousel.elementor-carousel-peek-previous .elementor-loop-container[dir="rtl"] {
	--cozystay-carousel-peek-left: 0px;
	--cozystay-carousel-peek-right: var(--cozystay-carousel-peek-size);
}

.elementor-widget-image-carousel.elementor-carousel-peek-both .elementor-image-carousel-wrapper,
.elementor-widget-loop-carousel.elementor-carousel-peek-both .elementor-loop-container {
	--cozystay-carousel-peek-left: var(--cozystay-carousel-peek-size);
	--cozystay-carousel-peek-right: var(--cozystay-carousel-peek-size);
}

.elementor-widget-image-carousel.elementor-carousel-peek-previous .elementor-image-carousel-wrapper,
.elementor-widget-image-carousel.elementor-carousel-peek-next .elementor-image-carousel-wrapper,
.elementor-widget-image-carousel.elementor-carousel-peek-both .elementor-image-carousel-wrapper,
.elementor-widget-loop-carousel.elementor-carousel-peek-previous .elementor-loop-container,
.elementor-widget-loop-carousel.elementor-carousel-peek-next .elementor-loop-container,
.elementor-widget-loop-carousel.elementor-carousel-peek-both .elementor-loop-container {
	box-sizing: border-box;
	margin-left: var(--cozystay-carousel-peek-left, 0px);
	margin-right: var(--cozystay-carousel-peek-right, 0px);
	max-width: calc(100% - var(--cozystay-carousel-peek-left, 0px) - var(--cozystay-carousel-peek-right, 0px));
	overflow: visible !important;
	width: calc(100% - var(--cozystay-carousel-peek-left, 0px) - var(--cozystay-carousel-peek-right, 0px));
}

.elementor-widget-image-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar,
.elementor-widget-image-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	user-select: none;
	z-index: 11;
}

.elementor-widget-image-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar.cozystay-swiper-scrollbar-hidden,
.elementor-widget-image-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar.cozystay-swiper-scrollbar-hidden,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar.cozystay-swiper-scrollbar-hidden,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar.cozystay-swiper-scrollbar-hidden {
	display: none;
}

.elementor-widget-image-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar-track,
.elementor-widget-image-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar-track,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar-track,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar-track {
	background: #e7ddd086;
	cursor: pointer;
	height: 6px;
	position: relative;
	touch-action: none;
	width: 100%;
}

.elementor-widget-image-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar-thumb,
.elementor-widget-image-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar-thumb,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar-thumb,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar-thumb {
	background: #E7DDD0;
	cursor: grab;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
}

.elementor-widget-image-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar.is-dragging .cozystay-swiper-scrollbar-thumb,
.elementor-widget-image-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar.is-dragging .cozystay-swiper-scrollbar-thumb,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-yes .cozystay-swiper-scrollbar.is-dragging .cozystay-swiper-scrollbar-thumb,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-active .cozystay-swiper-scrollbar.is-dragging .cozystay-swiper-scrollbar-thumb {
	cursor: grabbing;
	transition: none;
}

.elementor-widget-image-carousel.elementor-carousel-scrollbar-yes .swiper-pagination,
.elementor-widget-image-carousel.elementor-carousel-scrollbar-active .swiper-pagination,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-yes .swiper-pagination,
.elementor-widget-loop-carousel.elementor-carousel-scrollbar-active .swiper-pagination {
	bottom: 16px;
}



/* ===== SRNTY Elementor 4 / Atom builder compatibility ===== */
.site-header-main .elementor-section-full_width,
.site-footer-main .elementor-section-full_width,
.site-header-main .e-con-full,
.site-footer-main .e-con-full,
.site-header-main .cs-section-content-fullwidth,
.site-footer-main .cs-section-content-fullwidth,
.custom_blocks-template-default .e-con-full,
.custom_blocks-template-default .cs-section-content-fullwidth,
.single-custom_blocks .e-con-full,
.single-custom_blocks .cs-section-content-fullwidth {
	position: relative;
	width: 100vw;
	max-width: 100vw !important;
	left: calc(50% - 50vw);
}

.site-header-main .e-con.cs-section-content-fullwidth,
.site-footer-main .e-con.cs-section-content-fullwidth,
.custom_blocks-template-default .e-con.cs-section-content-fullwidth,
.single-custom_blocks .e-con.cs-section-content-fullwidth {
	width: 100vw;
	max-width: 100vw !important;
}

.site-header-main .e-con.cs-section-content-fullwidth > .e-con-inner,
.site-footer-main .e-con.cs-section-content-fullwidth > .e-con-inner,
.custom_blocks-template-default .e-con.cs-section-content-fullwidth > .e-con-inner,
.single-custom_blocks .e-con.cs-section-content-fullwidth > .e-con-inner,
.site-header-main .e-con-full.cs-section-content-fullwidth,
.site-footer-main .e-con-full.cs-section-content-fullwidth,
.custom_blocks-template-default .e-con-full.cs-section-content-fullwidth,
.single-custom_blocks .e-con-full.cs-section-content-fullwidth {
	padding-left: var(--side-padding);
	padding-right: var(--side-padding);
}



/* ===== SRNTY global typography and responsive pass ===== */
:root {
	--srnty-mobile-padding: 16px;
	--srnty-tablet-padding: 24px;
	--srnty-font-family: "Jost", Arial, sans-serif;

	--srnty-font-body: clamp(14.52px, 0.8712rem + 0.11616vw, 15.488px);
	--srnty-font-small: clamp(11.616px, 0.6776rem + 0.11616vw, 12.584px);

	--srnty-font-h1: clamp(32.912px, 1.936rem + 1.5004vw, 54.208px);
	--srnty-font-h2: clamp(29.04px, 1.6456rem + 0.968vw, 40.656px);
	--srnty-font-h3: clamp(24.2px, 1.4036rem + 0.5324vw, 30.976px);
	--srnty-font-h4: clamp(20.328px, 1.1616rem + 0.3388vw, 25.168px);
	--srnty-font-h5: clamp(17.424px, 1.0164rem + 0.21296vw, 21.296px);
	--srnty-font-h6: clamp(15.488px, 0.9196rem + 0.11616vw, 17.424px);
}

body,
button,
input,
select,
textarea {
	font-family: var(--srnty-font-family);
}

body {
	font-size: var(--srnty-font-body) !important;
	line-height: 1.55;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title,
.e-heading-base,
.cs-title,
.cs-subtitle,
.cs-title-text,
.elementor-widget-text-editor,
.e-paragraph-base {
	font-family: var(--srnty-font-family) !important;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	white-space: normal;
}

h1,
.elementor h1,
h1.cs-title {
	font-size: var(--srnty-font-h1) !important;
	line-height: 1.08 !important;
	letter-spacing: -0.025em;
}

h2,
.elementor h2,
h2.cs-title {
	font-size: var(--srnty-font-h2) !important;
	line-height: 1.12 !important;
	letter-spacing: -0.02em;
}

h3,
.elementor h3,
h3.cs-title {
	font-size: var(--srnty-font-h3) !important;
	line-height: 1.16 !important;
	letter-spacing: -0.015em;
}

h4,
.elementor h4,
h4.cs-title {
	font-size: var(--srnty-font-h4) !important;
	line-height: 1.2 !important;
}

h5,
.elementor h5,
h5.cs-title {
	font-size: var(--srnty-font-h5) !important;
	line-height: 1.25 !important;
}

h6,
.elementor h6,
h6.cs-title {
	font-size: var(--srnty-font-h6) !important;
	line-height: 1.3 !important;
}

.elementor-widget-heading,
.elementor-widget-heading .elementor-widget-container,
.elementor-widget-text-editor,
.elementor-widget-text-editor .elementor-widget-container,
.elementor-widget-cs_title,
.elementor-widget-cs_title .elementor-widget-container,
.cs-title-wrap {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.cs-title-text,
.cs-title-text p,
.cs-title-text li,
.e-paragraph-base {
	font-size: var(--srnty-font-body) !important;
	line-height: 1.55 !important;
}

.cs-subtitle,
.item-subtitle {
	font-size: var(--srnty-font-small) !important;
	line-height: 1.35 !important;
	letter-spacing: 0.08em;
}

.elementor-button,
.button,
button,
input,
select,
textarea {
	font-size: clamp(13px, 0.76rem + 0.12vw, 14px);
	line-height: 1.4;
}

/* Ensure images and embeds never overflow */
img, video, iframe, .elementor-widget-image img {
  max-width: 100%;
  height: auto;
}

/* Better tap targets for mobile nav/CTA */
@media (max-width: 1024px) {
  .site-header a,
  .elementor-button,
  button,
  input[type='button'],
  input[type='submit'] {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .site-header .menu a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

/* Homepage hero + sections spacing tune for mobile */
@media (max-width: 767px) {
  body.home .elementor-section,
  body.home .elementor-container,
  body.home .elementor-column,
  body.home .elementor-widget-wrap {
    max-width: 100%;
  }

  body.home .elementor-top-section {
    padding-left: var(--srnty-mobile-padding) !important;
    padding-right: var(--srnty-mobile-padding) !important;
  }

  body.home .elementor-button {
    width: 100%;
    max-width: 100%;
    text-align: center;
  }

  body.home .elementor-widget-image-carousel,
  body.home .elementor-widget-loop-carousel {
    --cozystay-carousel-peek-size: 12px;
  }
}

/* Tablet: keep clean margins and avoid crowded columns */
@media (min-width: 768px) and (max-width: 1024px) {
  body.home .elementor-top-section {
    padding-left: var(--srnty-tablet-padding) !important;
    padding-right: var(--srnty-tablet-padding) !important;
  }

  body.home .elementor-column {
    margin-bottom: 16px;
  }
}

/* ===== SRNTY responsive pass 2 (Homepage focused) ===== */
@media (max-width: 1024px) {
  body.home .site-header,
  body.home header,
  body.home .cozystay-header,
  body.home .elementor-location-header {
    position: sticky;
    top: 0;
    z-index: 999;
    backdrop-filter: saturate(140%) blur(6px);
  }

  body.home .site-header .menu a,
  body.home .cozystay-header .menu a,
  body.home .elementor-nav-menu a {
    font-size: 14px;
    line-height: 1.35;
    letter-spacing: .2px;
  }
}

@media (max-width: 767px) {
  body.home .elementor-widget-container,
  body.home .elementor-text-editor,
  body.home .elementor-heading-title {
    margin-bottom: 10px;
  }

  body.home .elementor-button,
  body.home .cozystay-button,
  body.home a.elementor-button-link {
    width: 100% !important;
    min-height: 46px;
    border-radius: 10px;
    font-weight: 600;
  }

  body.home .elementor-widget-image-carousel .swiper-slide,
  body.home .elementor-widget-loop-carousel .swiper-slide {
    padding-inline: 4px;
  }

  body.home .elementor-widget-image-carousel .swiper-slide-image,
  body.home .elementor-widget-loop-carousel img {
    border-radius: 12px;
  }

  body.home .elementor-column {
    width: 100% !important;
  }

  body.home .elementor-spacer .elementor-spacer-inner {
    height: min(36px, 6vh) !important;
  }

}

@media (min-width: 768px) and (max-width: 1024px) {
  body.home .elementor-column {
    width: 50%;
  }

  body.home .elementor-column.elementor-col-100,
  body.home .elementor-column[data-col="100"] {
    width: 100%;
  }

  body.home .elementor-button {
    min-height: 44px;
    padding-inline: 18px;
  }
}

.cozystay-child-smooth-scroll-enabled {
  scroll-behavior: auto;
}

.cozystay-child-preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cozystay-child-preloader-bg, #fff);
  color: var(--cozystay-child-preloader-text, #161616);
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.cozystay-child-preloader.is-hiding {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.cozystay-child-preloader__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--cozystay-child-preloader-caption-gap, 18px);
  padding: 24px;
  text-align: center;
}

.cozystay-child-preloader__svg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.cozystay-child-preloader__svg svg {
  display: block;
  width: clamp(72px, 12vw, 132px);
  height: auto;
  max-width: min(180px, 60vw);
  max-height: 180px;
}

.cozystay-child-preloader__spinner {
  display: block;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border: 2px solid rgba(185, 157, 117, 0.22);
  border-top-color: var(--cozystay-child-preloader-accent, #b99d75);
  border-radius: 50%;
  animation: cozystay-child-preloader-spin 0.9s linear infinite;
  transform-origin: center;
  will-change: transform;
}

.cozystay-child-preloader__text {
  font-family: var(--heading-font);
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1.2;
}

.cozystay-child-preloader__caption-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}

@keyframes cozystay-child-preloader-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cozystay-child-preloader {
    transition: none;
  }

  .cozystay-child-preloader__spinner {
    animation: none;
  }
}


.mixpicker__prev, .mixpicker__next, .mixpicker__close {
    font-family: 'mixpicker-icons' !important;
    text-decoration: none !important;
}