/*
 Theme Name:   Hidden Valley
 Theme URI:    https://www.hiddenvalleyinn.com/
 Description:  Custom theme made by Ora
 Author:       Ora Belize
 Author URI:   https://orabelize.com
 Template:     generatepress
 Version:      1.1
*/

/* TOKENS */

/* Fluid Typography */ 

/* @link https://utopia.fyi/type/calculator?c=360,14,1.2,1240,16,1.25,10,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --step--2: clamp(0.6076rem, 0.5944rem + 0.0588vw, 0.64rem);
  --step--1: clamp(0.7292rem, 0.7002rem + 0.1288vw, 0.8rem);
  --step-0: clamp(0.875rem, 0.8239rem + 0.2273vw, 1rem);
  --step-1: clamp(1.05rem, 0.9682rem + 0.3636vw, 1.25rem);
  --step-2: clamp(1.26rem, 1.1363rem + 0.55vw, 1.5625rem);
  --step-3: clamp(1.512rem, 1.3315rem + 0.802vw, 1.9531rem);
  --step-4: clamp(1.8144rem, 1.5579rem + 1.14vw, 2.4414rem);
  --step-5: clamp(2.1773rem, 1.8195rem + 1.59vw, 3.0518rem);
  --step-6: clamp(2.6127rem, 2.121rem + 2.1854vw, 3.8147rem);
  --step-7: clamp(3.1353rem, 2.4672rem + 2.9693vw, 4.7684rem);
  --step-8: clamp(3.7623rem, 2.8631rem + 3.9966vw, 5.9605rem);
  --step-9: clamp(4.5148rem, 3.3138rem + 5.3378vw, 7.4506rem);
  --step-10: clamp(5.4178rem, 3.8242rem + 7.0826vw, 9.3132rem);
}

/* Fluid Spacing */

:root {
  --space-3xs: clamp(0.3125rem, 0.3125rem + 0vw, 0.3125rem);
  --space-2xs: clamp(0.5625rem, 0.5369rem + 0.1136vw, 0.625rem);
  --space-xs: clamp(0.875rem, 0.8494rem + 0.1136vw, 0.9375rem);
  --space-s: clamp(1.125rem, 1.0739rem + 0.2273vw, 1.25rem);
  --space-m: clamp(1.6875rem, 1.6108rem + 0.3409vw, 1.875rem);
  --space-l: clamp(2.25rem, 2.1477rem + 0.4545vw, 2.5rem);
  --space-xl: clamp(3.375rem, 3.2216rem + 0.6818vw, 3.75rem);
  --space-2xl: clamp(4.5rem, 4.2955rem + 0.9091vw, 5rem);
  --space-3xl: clamp(6.75rem, 6.4432rem + 1.3636vw, 7.5rem);

  /* One-up pairs */
  --space-3xs-2xs: clamp(0.3125rem, 0.1847rem + 0.5682vw, 0.625rem);
  --space-2xs-xs: clamp(0.5625rem, 0.4091rem + 0.6818vw, 0.9375rem);
  --space-xs-s: clamp(0.875rem, 0.7216rem + 0.6818vw, 1.25rem);
  --space-s-m: clamp(1.125rem, 0.8182rem + 1.3636vw, 1.875rem);
  --space-m-l: clamp(1.6875rem, 1.3551rem + 1.4773vw, 2.5rem);
  --space-l-xl: clamp(2.25rem, 1.6364rem + 2.7273vw, 3.75rem);
  --space-xl-2xl: clamp(3.375rem, 2.7102rem + 2.9545vw, 5rem);
  --space-2xl-3xl: clamp(4.5rem, 3.2727rem + 5.4545vw, 7.5rem);

  /* Custom pairs */
  --space-s-l: clamp(1.125rem, 0.5625rem + 2.5vw, 2.5rem);
}

/* Fluid Sizing */
:root {
  --hero-feature: clamp(600px, 88svh, 1080px);
}

/* GLOBAL */

/* General Typesetting */

body {
  font-size: var(--step-0);
}

h1 {
  font-size: var(--step-6);
}

h2 {
  font-size: var(--step-5);
}

h3 {
  font-size: var(--step-4);
}

h4, h5, h6 {
  font-size: var(--step-3);
}

p,
li {
  max-inline-size: 70ch;
}

h1 {
  max-inline-size: 25ch;
}

h2,h3 {
  max-inline-size: 45ch;
}

/* General Interactive States */

:focus-visible {
  outline: 2px solid var(--contrast);
  outline-offset: 4px;
}

:target {
  scroll-margin-block-start: 2ex;
}

.eyebrow + :target {
  scroll-margin-block-start: 3ex;
}

::selection {
  color: var(--base-3);
  background: var(--contrast);
}

[hidden] {
  display: none !important;
}

/* UTILITIES */

/* Utility Classes */

.wrapper {
  margin-inline: auto;
  inline-size: 85rem;
  inline-size: clamp(16rem, 95vw, 85rem);
  padding-inline: 1rem;
  position: relative;
}

.wrapper[data-size="narrow"] {
	inline-size: 62rem;
	inline-size: clamp(16rem, 95vw, 62rem);
	padding-inline: 0;
}

.wrapper[data-flush] {
	padding-inline: 0;
}

.grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-placement, auto-fill), minmax(var(--grid-min-item-size, 16rem), 1fr));
  gap: var(--space-s, 1em);
}


.flow > * + * {
  margin-block-start: var(--flow-space, 1em);
}

.masonry {
  --gutter: 1em;
  --flow-space: var(--space-s);
  --switcher-target-container-width: 25rem;
}

.masonry img {
  width: 100%;
}

.switcher {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gutter, 1em);
  align-items: var(--switcher-vertical-alignment, flex-start);
}

.switcher > * {
  flex-grow: 1;
  flex-basis: calc(
    (var(--switcher-target-container-width, 40rem) - 100%) * 999
  );
}

.rounded {
	border-radius: 2rem;
	overflow: hidden; 
}

.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  block-size: 0;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  inline-size: 1px;
  white-space: nowrap;
}

.breakout-button {
    position: relative;
}

.breakout-button a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.breakout-button a:is(:focus-visible)::after {
	outline: 2px solid var(--contrast);
}

.breakout-button a:is(:hover, :focus) {
	outline: none;
}

/* Custom Classes */

/* Transparent Header with Gradient Fade */

.gb-site-header {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0.2) 50%,
    rgba(0, 0, 0, 0) 100%
  );
}

/* Background Video */

.background-video {
    position: absolute;
    inset: 0;
}

.background-video-content {
    position: relative;
    z-index: 1;
}

video[poster] {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* Text Shadow */

.text-shadow {
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* BG Noise */

.bg-noise {
    background-image: url('/wp-content/uploads/2026/02/noise-pattern.svg');
    background-repeat: repeat;
    background-size: 350px 350px;
}

/* General Animations */

.floating {
	position: relative;
	animation: float 3s ease-in-out infinite;
}

@keyframes float {
	0% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-20px);
	}

	100% {
		transform: translateY(0);
	}
}

.mist-drift {
  animation: mist-drift 22s ease-in-out infinite alternate;
}

@keyframes mist-drift {
  0%   { background-position: 0% center; }
  100% { background-position: 8% center; }
}

/* Site Specific Classes */

/* GSAP Animations */

.scroll-fade-text {
    will-change: transform, opacity;
}

.fade-space,
.fade-out,
.parallax,
.fade-in {
    will-change: transform;
}

.map-circle {
  border-radius: 52% 48% 51% 49% / 49% 51% 48% 52%;
}

.room-collection-wilderness.gb-loop-item:nth-child(even) .gb-element-9ca6442b {
    order: 2;
}

.room-collection-wilderness.gb-loop-item:nth-child(even) .gb-element-c24408da {
    order: 1;
}