/* 1. Use a more-intuitive box-sizing model */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 2. Remove default margin */
* {
  margin: 0;
}

/* 3. Enable keyword animations */
@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}

body {
  /* 4. Add accessible line-height */
  line-height: 1.5;
  /* 5. Improve text rendering */
  -webkit-font-smoothing: antialiased;
}

/* 6. Improve media defaults */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

/* 7. Inherit fonts for form controls */
input, button, textarea, select {
  font: inherit;
}

/* 8. Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

h1, h2 {
  line-height: 1.2
}

h1+h2 {
  margin-top: var(--ypadding)
}

/* 9. Improve line wrapping */
p {
  text-wrap: pretty;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

/*
    10. Create a root stacking context
  */
#root, #__next {
  isolation: isolate;
}

:root {

  --space-y: 2rem;
  --space-x: 4rem;
  --text-y: 1rem;

  --section-px: 0rem;
  --section-pt: 4rem;
  --section-pt-sm: 2rem;
  --section-pt-lg: 8rem;
  --section-pb: 1rem;



  --btn-b-radius: 10px;
  --btn-b-color: black;
  --btn-color: white;
  --btn-bgr: black;
  --btn-color-hover: black;
  --btn-bgr-hover: white;
  --btn-px: 2rem;
  --btn-py: .75rem;


  --fs-xl: 30px;
  --fs-l: 27px;
  --fs-m: 21px;
  --fs-body: 18px;

}

@media screen and (width < 960px) {
  :root {
    --space-y: 1rem;
    --space-x: 1rem;
    --text-y: 1rem;

    --section-px: 0rem;

    --section-pt: 2rem;
    --section-pt-sm: 1rem;
    --section-pt-lg: 4rem;

    --section-pb: 1rem;


    --btn-px: 1.5rem;
  --btn-py: .7rem;


  --fs-xl: 24px;
  --fs-l: 22px;
  --fs-m: 19px;
  --fs-body: 16px;


  }
}


h2{
  font-size: var(--fs-l);
}
h3{
  font-size: var(--fs-m);
}
h4{
  font-size: var(--fs-body);
}
body {

  font-family: Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif;
  font-weight: 400;
  font-size: var(--fs-body)

}

.layout {
  display: grid;
  grid-template-columns: minmax(var(--space-x), 1fr) repeat(12, minmax(10px, 180px)) minmax(var(--space-x), 1fr);
}


.top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 var(--space-x);
  min-height: 120px;
}

.logo a {
  text-decoration: none;
  color: currentColor;
}

.logo {
  
  font-weight: 900;
  letter-spacing: -.005em;
}

.logo h1{
  font-size: var(--fs-xl);
}
.hero {
  min-height: 20vh;
   grid-area: 1 / 2 / 1 / 14;
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 90vh;
}
/* @media screen and (width < 960px) {
 .hero {
  min-height: 10vh;
} 
} */
.rooms {
  padding: var(--section-pt) var(--section-px) var(--section-pb);
  grid-area: 1 / 2 / 1 / 14;
}

.rooms-content {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: var(--space-x);
  margin: 0 auto;
}

@media screen and (width < 960px) {
  .rooms-content {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
  }
  .room{
    margin-top:var(--space-y)
  }
}



.room {
  text-align: left;
  min-width: calc(33% - 2em)
}
.room h2 {
  margin-top: var(--space-y);
  line-height: 1.1;
}

.room ul {
  padding: 0;
  list-style: none;

  margin-top: var(--text-y);
}

.room ul li {}


.room .fauximg {
  width: 100%;
  aspect-ratio: 4/3;
}


.room .imgwrap {
  position: relative;
}

.room .roomview {
  object-fit: cover;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}






/* 
 .room .imgwrap::before {
  background-color:    blue;
  bottom:              0;
  content:             '';
  height:              100%;
  left:                0;
  mix-blend-mode: lighten;
  position:            absolute;
  right:               0;
  top:                 0;
    aspect-ratio: 16/9;
  z-index:             1;
  opacity:.4;
  transition: all .8s ease-in-out;
} */

/* .room .imgwrap:hover .roomview {
  filter: grayscale(.5);
} */
/* .room .imgwrap:hover::before {
  opacity: 0;
} */



.all-rooms {
  padding: var(--section-pt-sm) var(--section-px) var(--section-pb);
  grid-area: 2 / 2 / 2 / 14;
}

.booking-info {
  padding: var(--section-pt-lg) var(--section-px) var(--section-pb);
  grid-area: 3 / 2 / 3 / 14;
  display: flex;
  flex-direction: column;
  gap: var(--space-x);
}

.booking-cta {
  text-align: center;
  align-self: center;
}

.cta-action {
  margin-top: var(--text-y);
}

.booking-cta ul {
  margin-top: var(--text-y);
  list-style-type: none;
  width: fit-content
}

.cancellation {
  padding: var(--section-pt-sm) var(--section-px) var(--section-pb);
  text-align: center;

  ul {
    list-style-position: outside;
    list-style-type: none;
    margin: var(--text-y) auto 0;
    width: fit-content;
    text-align: left;
    padding: 0;
  }

  p {
    margin-top: var(--text-y);
  }
}

.location {
  grid-area: 4 / 2 / 4 / 14;
  display: flex;
  justify-content: center;
  align-items: start;
  width: 100%;
  padding: var(--section-pt-lg) var(--section-px) var(--section-pb);
  gap: var(--space-x);

  a{
    color:currentColor;
    text-decoration: none;
  }
}

.map {
  width: 60%;
  max-width: 1600px;
  aspect-ratio: 16/9;
}

.address-wrap {
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

@media screen and (width < 1000px) {
  .location {
    flex-direction: column-reverse;
  }

  .map,
  .address-wrap {
    width: 100%;
  }
}

footer {
  display: flex;
  align-items: end;
  justify-content: end;
  min-height: 200px;
  padding: var(--section-pt-sm) var(--space-x);
}

.btn-book-now {
  font-weight: 700;
  display: inline-block;
  border-radius: var(--btn-b-radius);
  border: 1px solid var(--btn-b-color);
  text-decoration: none;
  padding: var(--btn-py) var(--btn-px);
  background-color: var(--btn-bgr);
  color: var(--btn-color);
  transition: all .3s ease-in-out;
}

.btn-book-now:hover {
  background-color: var(--btn-color);
  color: var(--btn-bgr);
}

.disability{
  margin-top: auto;
  padding-top:var(--text-y);
}
.address,
.parking {
  margin-top: var(--text-y);
}

.booking-widget {
  grid-area: 1 / 4 / 1 / 12;
  min-height: 90vh;
}

@media screen and (width < 1200px) {
  .booking-widget {
    grid-area: 1 / 2 / 1 / 14;
  }


}