/* ------------------------- Style ® Code by Dennis -------------------------------------------------- */

/* ------------------------- Loading -------------------------------------------------- */

.loading-container {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   overflow: hidden;
   z-index: 500;
   pointer-events: none;
}

.loading-container .loading-screen {
   position: relative;
   width: 100%;
   height: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   background-color: var(--color-light);
}

.loading-logo {
   width: 7em;
   display: flex;
   flex-direction: column;
   align-items: center;
   position: absolute;
   top: 50%;
   transform: translateY(0%) rotate(0.001deg);
}

.loading-logo > * {
   display: flex;
   flex-direction: column;
   align-items: center;
   width: 100%;
   overflow: hidden;
   position: relative;
   transform: translateY(0%) rotate(0.001deg);
}

.loading-logo .iconmark {
   width: 45%;
}

.loading-logo svg {
   width: 100%;
}

/* ------------------------- Page Transition -------------------------------------------------- */

.transition-screen {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: var(--color-light);
   display: flex;
   justify-content: center;
   align-items: center;
   opacity: 0;
   visibility: hidden;
   padding-top: calc(var(--nav-bar-height) - var(--gap));
   background: var(--color-light);
}

.loading-circle {
   position: absolute;
   /* top: 50%;
   left: 50%;
   transform: translate(-50%, -50%); */
   left: 50%;
   transform: translateX(-50%);
   bottom: var(--gap);
   width: calc(var(--title-size) * 0.25);
   display: flex;
   align-items: center;
   justify-content: center;
}

.loading-circle svg {
   width: 100%;
}

.loading-circle svg circle {
   stroke: var(--color-primary);
   stroke: rgba(var(--color-dark-rgb), 0.4);
   opacity: 0;
   stroke-width: 2px;
}


/* ------------------------- Tripadvisor Embed Hidden -------------------------------------------------- */

.tripadvisor-hidden {
   position: absolute; 
   opacity: 0; 
   pointer-events: none; 
   user-select: none; 
   transform: scale(0.01);
}

/* ------------------------- Navigation -------------------------------------------------- */

.main-nav-bar {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   padding: calc(var(--gap) * 0.5) var(--container-padding);
   pointer-events: all;
   display: flex;
   align-items: center;
   transition: padding var(--animation-nav);
}

.main-nav-bar .border-bottom {
   transform: translateY(1px);
   overflow: hidden;
   transition: background-color var(--animation-nav);
}

.main-nav-bar .overlay-background {
   background-color: transparent;
   transition: background-color var(--animation-nav-smooth);
}

.main-nav-bar .overlay-alt-background {
   pointer-events: none;
   background-color: transparent;
   transition: background-color var(--animation-nav-smooth);
}

main {
   transition: background-color var(--animation-nav-smooth);
}

.main-nav-bar nav {
   display: flex;
   align-items: center;
   gap: calc(var(--copy-size-m) * 1.5);
}

.main-nav-bar .row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: calc(var(--gap) * 0.6) 0;
}

/* ------------------------- Cheeseburger -------------------------------------------------- */

.main-nav-bar nav .deco-line {
   width: 1px;
   height: calc(var(--copy-size-m) * 1.2);
   display: block;
   background-color: var(--color-border-active);
   transition: background-color var(--animation-nav);;
}

.cheeseburger {
   width: calc((var(--copy-size-m) * 3) + 1em);
   height: var(--btn-height-small);
   display: flex;
   justify-content: center;
   align-items: center;
   position: relative;
   cursor: pointer;
   margin-left: calc(var(--copy-size-m) * -1.5);
}

.cheeseburger-inner {
   width: 1.5em;
   height: 1.5em;
   display: flex;
   justify-content: center;
   align-items: center;
   position: relative;
   overflow: hidden;
}

.cheeseburger .bar {
   position: absolute;
   width: 1em;
   height: 1px;
   background-color: var(--color-dark);
   transition: transform var(--animation-smooth), background-color var(--animation-nav);
   transform: translate(0%, 0em) rotate(0.001deg);
}

.cheeseburger .bar::before {
   content: "";
   position: absolute;
   left: 0;
   width: 100%;
   height: 100%;
   top: 0;
   background-color: var(--color-dark);
   transform: translateX(-150%);
}

.cheeseburger .bar:nth-child(3)::before {
   transform: translateX(-300%);
}

.cheeseburger .bar:nth-child(1) {
   transform: translate(0%, -0.25em) rotate(0.001deg);
   transition-delay: 0s;
}

.cheeseburger .bar:nth-child(3) {
   transform: translate(-50%, 0.25em) rotate(0.001deg);
   width: 0.5em;
}

.main-nav-bar:hover .cheeseburger .bar {
   transition-delay: 0.05s;
}
.main-nav-bar:hover .bar:nth-child(3) {
   transition-delay: 0.1s;
}

@media (hover: hover) { 
   @media screen and (min-width: 1025px) {

      .cheeseburger:hover .bar:nth-child(1) {
         transform: translate(150%, -0.25em) rotate(0.001deg);
      }

      .cheeseburger:hover .bar:nth-child(2) {
         transform: translate(150%, 0em) rotate(0.001deg);
      }

      .cheeseburger:hover .bar:nth-child(3) {
         transform: translate(250%, 0.25em) rotate(0.001deg);
      }

   }
}

[data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .main-nav-bar nav .deco-line ,
[data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .main-nav-bar nav .deco-line  {
   background-color: var(--color-border-active-light);
}

[data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .cheeseburger .bar,
[data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .cheeseburger .bar,
[data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .cheeseburger .bar::before,
[data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .cheeseburger .bar::before {
   background-color: var(--color-white);
}

/* ------------------------- Button -------------------------------------------------- */

@media screen and (min-width: 1025px) {
   .main-nav-bar .btn-nav .text-mobile {
      display: none;
   }
}

@media screen and (max-width: 1024px) {
   .main-nav-bar .btn-nav .text-desktop {
      display: none;
   }

   .main-nav-bar nav .cheeseburger,
   .main-nav-bar .btn-nav {
      transform: translateY(0.25em);
   }

   .main-nav-bar .btn-nav .btn-click {
      height: 2em;
   }

   .main-nav-bar .btn-nav span {
      padding: 0;
   }
}


/* ------------------------- Close -------------------------------------------------- */

.close {
   width: calc((var(--copy-size-m) * 3) + 1em);
   height: var(--btn-height-small);
   display: flex;
   justify-content: center;
   align-items: center;
   position: relative;
   cursor: pointer;
   margin-left: calc(var(--copy-size-m) * -1.5);
   position: absolute;
   top: calc(var(--gap) * 1.1);
   left: var(--container-padding);
}

.close-inner {
   width: 1.1em;
   height: 1.1em;
   display: flex;
   justify-content: center;
   align-items: center;
   position: relative;
   transform: rotate(-45deg);
   overflow: hidden;
}

.close .bar {
   position: absolute;
   width: 1.1em;
   height: 1px;
   background-color: var(--color-dark);
   transition: transform var(--animation-smooth);
   transform: rotate(0.001deg) translateX(0%);
}

.close .bar::before {
   content: "";
   position: absolute;
   left: 0;
   width: 100%;
   height: 100%;
   top: 0;
   background-color: var(--color-dark);
   transform: translateX(-250%);
}

.close .bar:nth-child(1) {
   transform: rotate(90deg) translateX(0%);
   transition-delay: 0.1s;
}

@media (hover: hover) { 
   @media screen and (min-width: 1025px) { 

      .close:hover .bar:nth-child(1) {
         transform: rotate(90deg) translateX(250%);
      }

      .close:hover .bar:nth-child(2) {
         transform: rotate(0.001deg) translateX(250%);
      }
   }
}

/* ------------------------- Main Navigation Bar -------------------------------------------------- */

.main-nav-bar ul {
   display: flex;
   flex-direction: row;
   position: relative;
}

.main-nav-bar .nav-link {
   display: flex;
   transition: all var(--animation-nav) 0.1s;
}

.main-nav-bar .nav-link .nav-link-click {
   display: flex;
   flex-direction: column;
   justify-content: center;
   height: var(--btn-height-small);
   position: relative;
   cursor: pointer;
}

.main-nav-bar .nav-link .nav-link-click::before {
   content:"";
   position: absolute;
   top: 95%;
   left: 50%;
   transform: translate(-50%, 100%) rotate(0.001deg);
   opacity: 0;
   width: 4px;
   height: 4px;
   background-color: rgba(var(--color-dark-rgb), 0.8);
   border-radius: 50%;
   transition: transform var(--animation-primary), opacity var(--animation-primary), background-color var(--animation-nav);
   pointer-events: none;
}

.main-nav-bar .nav-link .nav-link-content {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
}

.main-nav-bar .nav-link .nav-link-click span {
   font-size: var(--copy-size-m);
   font-weight: 400;
   color: var(--color-dark);
   padding: 0 calc(var(--copy-size-m) * 1.5);
   margin-top: 0.05em;
   white-space: nowrap;
   text-shadow: 0px calc(var(--btn-shadow-distance) * 1.5) transparent;
   transform: translateY(0em) rotate(0.001deg);
   transition: text-shadow var(--animation-smooth), color var(--animation-nav);
   line-height: 1.1;
}

.main-nav-bar:hover .nav-link .nav-link-click span {
   transition: text-shadow var(--animation-smooth), color 0s linear;
}

[data-links-no-hover="active"] .main-nav-bar:hover .nav-link .nav-link-click span {
   transition: text-shadow var(--animation-smooth), color var(--animation-nav);
}

@media (hover: hover) { 
   @media screen and (min-width: 1025px) {

      .main-nav-bar .nav-link .nav-link-click:hover span {
         transition: all var(--animation-smooth);
         transform: translateY(calc(var(--btn-shadow-distance) * -1)) rotate(0.001deg);
         color: transparent;
         text-shadow: 0px var(--btn-shadow-distance) var(--color-dark);
      }
   }
}

.main-nav-bar .nav-link[data-link-status="active"] .nav-link-click::before {
   transform: translate(-50%, -50%) rotate(0.001deg);
   opacity: 1;
}

@media (hover: hover) { 
   @media screen and (min-width: 1025px) {


      .main-nav-bar .nav-link-ul:hover .nav-link .nav-link-click::before {
         transform: translate(-50%, 100%) rotate(0.001deg);
         opacity: 0;
      }

      .main-nav-bar .nav-link-ul .nav-link .nav-link-click:hover::before {
         transform: translate(-50%, -50%) rotate(0.001deg);
         opacity: 1;
      }

   }
}

/* Nav Link Dropdown */

.main-nav-bar ul .nav-link-absolute  {
   position: absolute;
   left: 0;
   opacity: 0;
   visibility: hidden;
}

.main-nav-bar ul .nav-link-absolute .nav-link-click::before {
   content: none;
}

.main-nav-bar .nav-link-absolute .nav-link-content {
   gap: calc(var(--copy-size-m) * 0.6);
}

.main-nav-bar .nav-link-absolute .nav-link-content span {
   padding-right: 0;
}

.main-nav-bar .nav-link .dots {
   width: 14px;
   height: calc(var(--copy-size-m) * 1);
   flex-shrink: 0;
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.main-nav-bar .nav-link .dots .dot {
   width: 3px;
   height: 3px;
   background-color: rgba(var(--color-dark-rgb), 0.8);
   border-radius: 50%;
   transition: background-color var(--animation-nav);
}

.main-nav-bar ul[data-link-status="dropdown-stay-active"] .nav-link-absolute-stay,
.main-nav-bar ul[data-link-status="dropdown-discover-active"] .nav-link-absolute-discover {
   opacity: 1;
   visibility: visible;
}

.main-nav-bar ul[data-link-status="dropdown-stay-active"] .nav-link-relative,
.main-nav-bar ul[data-link-status="dropdown-discover-active"] .nav-link-relative {
   opacity: 0;
   visibility: hidden;
}

@media (hover: hover) { 
   @media screen and (min-width: 1025px) {

      .main-nav-bar ul .icon-link-stay .icon-link-click .icon-link-content span {
         text-shadow: 0px var(--btn-shadow-distance) var(--color-white);
      }
   }
}

/* Nav Link Dropdown - Dropdown*/

.main-nav-bar .nav-link .nav-link-dropdown {
   position: absolute;
   top: 100%;
   left: 0;
   display: flex;
   opacity: 0;
   visibility: hidden;
   transform: translateY(0.5em) rotate(0.001deg);
   transition: all var(--animation-primary);
   padding-top: 0.5em;
}

[data-page-transition="active"] .main-nav-bar .nav-link-absolute {
   pointer-events: none;
}

.main-nav-bar .nav-link .nav-link-dropdown-inner {
   display: flex;
   flex-direction: column;
   gap: 0.33em;
   box-shadow: 0px 2em 2em 0px rgba(var(--color-dark-rgb),0.1);
   background-color: var(--color-white);
   padding: calc(var(--copy-size-l) * 1.4) calc(var(--copy-size-m) * 2) calc(var(--copy-size-l) * 1.25) calc(var(--copy-size-m) * 1.5);
}

.main-nav-bar .nav-link .nav-link-dropdown [data-link-status="active"] span {
   font-weight: 400;
   color: var(--color-primary);
}

@media (hover: hover) { 
   @media screen and (min-width: 1025px) {

      .main-nav-bar .nav-link:hover .nav-link-dropdown {
         opacity: 1;
         visibility: visible;
         transform: translateY(0em) rotate(0.001deg);
      }
   }
}

/* Logo */

.main-nav-bar .logo {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
}

.main-nav-bar .logo svg {
   width: 7em;
}

.main-nav-bar .logo svg path {
   fill: var(--color-dark);
   transition: fill var(--animation-nav);
}

/* Theme */

[data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .main-nav-bar .logo svg path,
[data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .main-nav-bar .logo svg path{
   fill: var(--color-white);
}

[data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .main-nav-bar .nav-link .nav-link-click span,
[data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .main-nav-bar .nav-link .nav-link-click span {
   color: var(--color-white);
}

@media (hover: hover) { 
   @media screen and (min-width: 1025px) {

      [data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .main-nav-bar .nav-link .nav-link-click:hover span,
      [data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .main-nav-bar .nav-link .nav-link-click:hover span {
         text-shadow: 0px var(--btn-shadow-distance) var(--color-white);
      }

   }
}

[data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .main-nav-bar .btn.btn-nav .btn-click,
[data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .main-nav-bar .btn.btn-nav .btn-click {
   background-color: rgba(var(--color-white-rgb), 0.2);
   backdrop-filter: blur(1em);
   -webkit-backdrop-filter: blur(1em);
}

[data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .main-nav-bar .border-bottom,
[data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .main-nav-bar .border-bottom {
   background-color: var(--color-border-light);
}

[data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .main-nav-bar .nav-link .nav-link-click::before,
[data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .main-nav-bar .nav-link .nav-link-click::before {
   background-color: var(--color-white);
}

[data-scrolling-started="false"][data-theme-nav="dark"][data-page-transition="not-active"] .main-nav-bar .nav-link .dots .dot,
[data-scrolling-started="true"][data-theme-nav="dark"][data-bg-nav="transparent"][data-page-transition="not-active"] .main-nav-bar .nav-link .dots .dot {
   background-color: var(--color-white);
}

/* Scrolling Started */

[data-scrolling-started="true"][data-page-transition="not-active"] .main-nav-bar {
   padding: calc(var(--gap) * 0) var(--container-padding);
}

[data-scrolling-started="true"] .main-nav-bar .overlay-background {
   background-color: var(--color-light);
}

[data-scrolling-started="true"][data-bg-nav="transparent"][data-page-transition="not-active"] .main-nav-bar .overlay-background {
   background-color: rgba(var(--color-black-rgb), 0.2);
   backdrop-filter: blur(0.5em);
   -webkit-backdrop-filter: blur(0.5em);
}

[data-scrolling-started="true"][data-bg-nav="white"][data-page-transition="not-active"] .main-nav-bar .overlay-alt-background,
[data-scrolling-started="true"][data-bg-nav="white"][data-page-transition="not-active"] main {
   background-color: var(--color-white);
}

@media screen and (max-width: 1024px) {

   .main-nav-bar {
      padding: calc(var(--gap) * 0) var(--container-padding);
   }

   .main-nav-bar ul,
   .main-nav-bar nav .deco-line {
      display: none;
   }
}

/* ------------------------- Side Nav - Back -------------------------------------------------- */

.overlay.side-nav-back {
   opacity: 0;
   visibility: hidden;
   transition: all var(--animation-slow);
   pointer-events: all;
   backdrop-filter: blur(0.2em);
   -webkit-backdrop-filter: blur(0.2em);
   transition-delay: 0.3s;
   background-color: rgba(var(--color-black-rgb), 0.66);
}

[data-navigation-status="active"] .side-nav-back {
   transition-delay: 0s;
   opacity: 1;
   visibility: visible;
}

/* ------------------------- Side Nav -------------------------------------------------- */

.side-nav-box {
   position: relative;
   transform: translateX(-101%) rotate(0.001deg);
   transition: transform var(--animation-slow);
   pointer-events: all;
   transition-delay: 0.1s;
   min-width: 33.333%;
}

[data-navigation-status="active"] .side-nav-box {
   transform: translateX(0%) rotate(0.001deg);  
   transition-delay: 0s;
}

@media screen and (max-width: 1024px) {
   .side-nav-box {
      width: 100%;
      min-width: 100%;
      max-width: 100%;
   }
}

.side-nav {
   height: 100%;
   background-color: var(--color-light);
   display: flex;
   flex-direction: column;
   padding-top: calc((var(--gap) * 1.1) + var(--btn-height-small));
   overflow: scroll;
   max-height: 100%;
   z-index: 2;
   position: relative;
}

.side-nav .row-links-primary {
   height: 100%;
   padding: var(--gap) var(--container-padding);
}

@media screen and (min-height: 720px) {
   .side-nav .row-links-primary {
      padding-top: 8vh;
   }
}

.side-nav .row-links-primary .col-row-eyebrow {
   padding-bottom: 1em;
}

.side-nav .row-links-primary .col,
.section-footer .col-links-primary {
   width: 100%;
}

.side-nav .row-links-primary ul,
.section-footer .col-links-primary ul  {
   display: flex;
   flex-direction: column;
   width: 100%;
}

.side-nav .row-links-primary .nav-link,
.section-footer .col-links-primary .nav-link {
   display: flex;
   width: 100%;
}

.side-nav .row-links-primary .nav-link-click,
.section-footer .col-links-primary .nav-link-click {
   display: flex;
   width: 100%;
   padding: 0.25em 0;
   transition: all var(--animation-smooth);
   position: relative;
}

.side-nav .row-links-primary ul .nav-link span,
.section-footer .col-links-primary ul .nav-link span {
   font-family: 'Kaftan Serif', serif;
   font-weight: 400;
   font-size: calc(var(--title-size) * 0.4);
   line-height: 1.2;
   color: var(--color-dark);
}

.side-nav .row-links-primary .nav-link-click::before,
.section-footer .col-links-primary .nav-link-click::before {
   content: "";
   position: absolute;
   top: 50%;
   right: 0;
   opacity: 0;
   transform: translate(100%, -50%) rotate(0.001deg);
   width: 6px;
   height: 6px;
   background-color: rgba(var(--color-dark-rgb), 0.8);
   border-radius: 50%;
   transition: transform var(--animation-primary), opacity var(--animation-primary), background-color var(--animation-nav);
   pointer-events: none;
}

.side-nav .row-links-primary .nav-link[data-link-status="active"] .nav-link-click::before,
.section-footer .col-links-primary .nav-link[data-link-status="active"] .nav-link-click::before {
   transform: translate(0%, -50%) rotate(0.001deg);
   opacity: 1;
}

@media (hover: hover) { 
   @media screen and (min-width: 1025px) {

      .side-nav .row-links-primary ul:hover .nav-link .nav-link-click::before,
      .section-footer .col-links-primary ul:hover .nav-link .nav-link-click::before {
         transform: translate(100%, -50%) rotate(0.001deg);
         opacity: 0;
      }

      .side-nav .row-links-primary ul .nav-link .nav-link-click:hover::before,
      .section-footer .col-links-primary ul .nav-link .nav-link-click:hover::before {
         transform: translate(0%, -50%) rotate(0.001deg);
         opacity: 1;
      }
   }
}

.side-nav .row-links-secondary {
   position: relative;
   flex-shrink: 0;
   padding: max(var(--gap), 6vh) var(--container-padding);
   gap: var(--gap);
}

.side-nav .row-links-secondary .col-row-more-link,
.section-footer .col-row-more-link {
   padding-top: 1.5em;
}

.side-nav .row-links-secondary .col-row-eyebrow {
   padding-bottom: 1em;
   padding-top: 0.5em;
}

.side-nav .row-links-secondary .col,
.section-footer .col-links-secondary .col-split {
   min-width: 10em;
   width: 100%;
}

.side-nav .row-links-secondary ul,
.section-footer .col-links-secondary ul {
   display: flex;
   flex-direction: column;
   gap: 0.33em;
}

.side-nav .row-rating {
   position: relative;
   flex-shrink: 0;
   padding: var(--gap) var(--container-padding);
}

.side-nav .row-rating .col {
   width: 100%;
}

.side-nav .row-rating .col-row-rating {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

@media screen and (max-width: 1024px) {

   .side-nav .row-links-primary ul .nav-link span {
      font-size: calc(var(--title-size) * 0.475);
   }

   .section-footer .col-links-primary ul .nav-link span {
      font-size: calc(var(--title-size) * 0.475);
   }

}

/* ------------------------- Side Nav - Images -------------------------------------------------- */

.side-nav-images {
   position: absolute;
   left: 100%;
   height: 100%;
   width: 66.666%;
   pointer-events: none;
}

[data-navigation-status="active"] .side-nav-images {
   transform: translateX(0%) rotate(0.001deg);  
}

.side-nav-images .single-nav-image {
   transition: transform var(--animation-slow);
   transform: translateX(-101%) rotate(0.001deg);
}

[data-navigation-status="active"] .side-nav-images .single-nav-image[data-nav-image-status="active"] {
   transform: translateX(0%) rotate(0.001deg);  
   z-index: 2;
}

@media screen and (max-width: 1024px) {
   .side-nav-images {
      display: none;
   }
}


/* ------------------------- Section - Error Header -------------------------------------------------- */

.section-error-header .col-row-title {
   padding-bottom: calc(var(--gap) * 0.5);
}

/* ------------------------- Section - Footer -------------------------------------------------- */

.section-footer {
   padding: 0;
   margin-bottom: -1px;
}

/* Row Links */

.section-footer .row-links {
   position: relative;
   display: flex;
   flex-wrap: wrap;
}

.section-footer .row-links .col-row-eyebrow {
   padding-bottom: calc(var(--gap) * 1);
}

.section-footer .row-links .col-links-primary .col-row-eyebrow {
   padding-bottom: calc(var(--gap) * 0.75);
}

.section-footer .row-links .col {
   position: relative;
   width: 33.33333%;
   padding: calc(var(--gap) * 2.25) var(--container-padding)
}

/* Styling of Primary Links found at .side-nav */

.section-footer .row-links .col-links-primary {
   padding-bottom: calc(var(--gap) * 3.5);
}

/* Styling of Secondary Links found at .side-nav */

.section-footer .row-links .col-links-secondary {
   display: flex;
   flex-direction: row;
}

.section-footer .row-links .col-row-address {
   display: flex;
   flex-direction: column;
   gap: 0.33em;
}

.section-footer .row-links .col-row-external-links {
   display: flex;
   flex-direction: column;
   gap: 0.33em;
   padding-top: 1.5em;
}

/* Row Credits */

.section-footer .row-credits {
   position: relative;
   display: flex;
   flex-wrap: wrap;
}

.section-footer .row-credits .col {
   position: relative;
   width: 33.33333%;
   padding: calc(var(--gap) * 1) var(--container-padding);
   justify-content: center;
}

.section-footer .row-credits .col-row-reviews {
   display: flex;
   align-items: center;
   justify-content: flex-start;
}

.section-footer .row-credits .col-row-socials {
   display: flex;
   flex-direction: row;
   gap: 1.25em;
}

.section-footer .row-credits .col-copyright {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   align-items: center;
}

.section-footer .row-credits .col-copyright p.inactive {
   opacity: 0.6;
}

@media screen and (max-width: 1024px) {

   .section-footer .row-links .col,
   .section-footer .row-credits .col {
      width: 50%;
   }

   .section-footer .row-links .col.col-credentials,
   .section-footer .row-credits .col.col-copyright {
      width: 100%;
   }

   .section-footer .row-links .col.col-credentials .border-left,
   .section-footer .row-credits .col.col-copyright .border-left {
      width: 100%;
      height: 1px;
   }
}

@media screen and (max-width: 720px) {
   .section-footer .row-links .col,
   .section-footer .row-credits .col {
      width: 100%;
   }

   .section-footer .row-links .border-left,
   .section-footer .row-credits .border-left {
      width: 100%;
      height: 1px;
   }

   .section-footer .row-links .col {
      padding: calc(var(--gap) * 1.5) var(--container-padding);
   }
   
   .section-footer .row-links .col-links-primary {
      padding-top: calc(var(--gap) * 2);
      padding-bottom: calc(var(--gap) * 1.5);
   }

   .section-footer .row-credits .col-reviews {
      padding-top: calc(var(--gap) * 1.25);
   }

   .section-footer .row-credits .col-socials {
      margin-top: calc(var(--gap) * -1.25);
      padding-bottom: calc(var(--gap) * 1.25);
   }

   .section-footer .row-credits .col-socials .border-left {
      display: none;
   }
}


/* Built in Pop-up - Back */

.overlay.credits-back {
   opacity: 0;
   visibility: hidden;
   transition: all var(--animation-slow);
   pointer-events: all;
   backdrop-filter: blur(0.2em);
   -webkit-backdrop-filter: blur(0.2em);
   transition-delay: 0.3s;
   background-color: rgba(var(--color-black-rgb), 0.66);
}

[data-credits-status="active"] .overlay.credits-back {
   transition-delay: 0s;
   opacity: 1;
   visibility: visible;
}

/* Built in Pop-up - Box */

.credits-box {
   position: absolute;
   transition: all var(--animation-slow);
   pointer-events: all;
   top: 121%;
   left: 50%;
   transform: translate(-50%, 0%) rotate(0.001deg);
}

[data-credits-status="active"] .credits-box {
   top: 50%;
   transform: translate(-50%, -50%) rotate(0.001deg);
}

.credits-box .credits {
   background-color: var(--color-white);
   display: flex;
   flex-direction: column;
   z-index: 2;
   position: relative;
   width: calc(14em + (var(--gap) * 2.5));
}

.credits-box .close {
   top: calc(var(--gap) * 0.5);
   left: unset;
   right: calc(var(--gap) * 0.5);
   margin-left: 0;
   width: var(--btn-height-small);
   z-index: 4;
}

.credits-box .close .bar,
.credits-box .close .bar::before {
   background-color: var(--color-white);
}

.credits-box .credits-images {
   width: 100%;
   position: relative;
   background-color: var(--color-dark);
}

.credits-box .credits-images .overlay-gradient {
   background: linear-gradient(199deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 50%);
   z-index: 3;
}

.credits-box .credits-images::before {
   content: "";
   display: block;
   padding-top: 60%;
}

.credits-box .credits-images .single-credits-image {
   opacity: 0;
   z-index: 0;
}

.credits-box .credits-images .single-credits-image.prev-active {
   opacity: 0;
   z-index: 2;
   transition: opacity 0.4s ease-in-out;
}

.credits-box .credits-images .single-credits-image.active {
   opacity: 1;
   z-index: 1;
}

.credits-box .credits-title {
   display: flex;
   padding: var(--gap);
   padding-bottom: 0;
}

.credits-box .credits-names {
   display: flex;
   flex-wrap: wrap;
   gap: calc(var(--gap) * 0.5);
   padding: var(--gap);
   padding-top: calc(var(--gap) * 0.75);
}

.credits-box .credits-names .single-name {
   display: flex;
   flex-direction: column;
   gap: 0.4em;
   width: calc(50% - (var(--gap) * 0.25));
}

@media screen and (max-width: 540px) {
   .credits-box .credits {
      max-width: calc(100vw - (var(--gap) * 2));
   }
}

/* Footer Book Now - Box */

.section-footer .row-book {
   position: relative;
   overflow: hidden;
   width: 100%;
}

.section-footer .row-book .col {
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 100%;
   padding: var(--section-padding) 0;
}

/* ------------------------- Whatsapp Box -------------------------------------------------- */

.overlay.whatsapp-back {
   opacity: 0;
   visibility: hidden;
   transition: all var(--animation-slow);
   pointer-events: all;
   backdrop-filter: blur(0.2em);
   -webkit-backdrop-filter: blur(0.2em);
   transition-delay: 0.3s;
   background-color: rgba(var(--color-black-rgb), 0.66);
}

[data-whatsapp-status="active"] .overlay.whatsapp-back {
   transition-delay: 0s;
   opacity: 1;
   visibility: visible;
}

/* Built in Pop-up - Box */

.whatsapp-box {
   position: absolute;
   transition: all var(--animation-slow);
   pointer-events: all;
   top: 120%;
   left: 50%;
   transform: translate(-50%, 0%) rotate(0.001deg);
   display: none;
}

[data-whatsapp-status="active"] .whatsapp-box {
   top: 50%;
   transform: translate(-50%, -50%) rotate(0.001deg);
}

.whatsapp-box .whatsapp {
   background-color: var(--color-white);
   display: flex;
   flex-direction: column;
   z-index: 2;
   position: relative;
   width: 15em;
   padding: 2em 1.5em;
   text-align: center;
}

.whatsapp-box .close {
   top: calc(var(--gap) * 0.33);
   left: unset;
   right: calc(var(--gap) * 0.33);
   margin-left: 0;
   width: var(--btn-height-small);
   z-index: 4;
}

.whatsapp-box .whatsapp-qr {
   width: 100%;
   position: relative;
   padding: 1em 2.25em 1.75em 2.25em;
}

.whatsapp-box .whatsapp-qr svg {
   width: 100%;
}

.whatsapp-box .whatsapp-text {
   padding-top: 0.66em;
   padding-bottom: 1em;
}

.whatsapp-box .whatsapp-text p {
   line-height: 1.3;
}

.whatsapp-box .whatsapp-btn {
   display: flex;
   justify-content: center;
}

/* WhatsApp Floating Button */

.floating-whatsapp-btn {
   position: fixed;
   right: var(--gap);
   bottom: var(--gap);
   background-color: var(--color-primary);
   border-radius: 50%;
   width: calc(var(--btn-height) * 1);
   height:calc(var(--btn-height) * 1);
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   pointer-events: all;
   overflow: hidden;
   z-index: 100;
}

.floating-whatsapp-btn svg {
   width: 40%;
   transition: opacity var(--animation-primary);
}

.floating-whatsapp-btn svg path {
   fill: var(--color-lightgray);
}

@media (hover: hover) { 
   @media screen and (min-width: 1025px) {

      .whatsapp-box {
         display: flex;
      }

      .floating-whatsapp-btn:hover svg {
         opacity: 0.75;
      }
   }
}

/* WhatsApp Link (hidden on Desktop) */

.whatsapp-link-mobile {
   display: none;
}

@media screen and (max-width: 720px) {

   .whatsapp-link-mobile {
      display: block;
   }      

   .whatsapp-link-desktop {
      display: none;
   }
}

/* ------------------------- Section - Home Header -------------------------------------------------- */

.section-home-header {
   overflow: hidden;
   padding: 0;
}

.section-home-header .row-title {
   min-height: 100vh;
   padding-top: var(--section-padding);
   align-items: flex-end;
   padding-bottom: calc(var(--gap) * 3);
}

.section-home-header .row-btn {
   padding-bottom: var(--section-padding);
}

.section-home-header .row {
   align-items: flex-end;
}

.section-home-header .col-row-deco {
   margin-top: calc(var(--gap) * -1);
}

.section-home-header .overlay-dark-gradient {   
   background: radial-gradient(circle at 50% 65%, rgba(0,0,0,1) 0%, rgba(0,0,0,0.7) 90%);
   transform: scale(2, 1);
}
   

@media (hover: none) { 
   @media screen and (max-width: 1024px) {

      .section-home-header .container {
         min-height: 100vh;
         min-height: calc(var(--vh, 1vh) * 100);
         display: flex;
         flex-direction: column;
         justify-content: flex-end;
      }

      .section-home-header .row-title  {
         padding-top: calc(var(--nav-bar-height-mobile) + var(--section-padding));
         min-height: unset;
      }

      .section-home-header .col-row-deco .deco-line-y {
         height: 5vh;
      }

      .section-home-header .row-btn {
         padding-bottom: calc(var(--gap) * 2);
      }
   }
}

/* ------------------------- Section - Home Intro -------------------------------------------------- */

.section-home-intro .col-images-left,
.section-home-intro .col-images-right {
   gap: var(--section-padding);
}

.section-home-intro .col-images-left .col-row:nth-child(1) {
   display: flex;
   justify-content: flex-end;
   padding-right: var(--gap);
}

.section-home-intro .col-images-left .col-row:nth-child(2) figure,
.section-home-intro .col-images-right .col-row:nth-child(1) figure {
   width: 80%;
}

.section-home-intro .col-images-right .col-row:nth-child(1) {
   display: flex;
   justify-content: flex-end;
}

.section-home-intro .col-images-right .col-row:nth-child(2) {
   display: flex;
   padding-left: var(--gap);
}

.section-home-intro .col-images-left .col-row:nth-child(1) figure,
.section-home-intro .col-images-right .col-row:nth-child(2) figure {
   width: 40%;
}

.section-home-intro .styled-figure {
   width: 100%;
   position: relative;
   overflow: hidden;
}

@media screen and (max-width: 1024px) {
   .section-home-intro .row.grid {
      --columns: 1;
      gap: calc(var(--gap) * 2.5) var(--grid-gap);
   }

   .section-home-intro .col-images-left,
   .section-home-intro .col-images-right {
      display: flex;
      flex-direction: row;
      align-items: center;
   }

   .section-home-intro .col-images-left .col-row,
   .section-home-intro .col-images-right .col-row {
      width: 100%;
      display: flex;
   }

   .section-home-intro .col-row-ornament {
      display: none;
   }
}

@media screen and (max-width: 720px) {


   .section-home-intro .col-images-left,
   .section-home-intro .col-images-right {
      gap: 0;
   }

   .section-home-intro .col-images-left .col-row:nth-child(1) {
      justify-content: flex-start;
      padding-right: 0;
   }
   .section-home-intro .col-images-right .col-row:nth-child(2) {
      justify-content: flex-end;
      padding-left: 0;
   }

   .section-home-intro .col-images-left .col-row:nth-child(1) figure,
   .section-home-intro .col-images-right .col-row:nth-child(2) figure {
      width: calc(100% - calc(var(--gap) * 2));
   }

   .section-home-intro .col-images-left .col-row:nth-child(2) figure,
   .section-home-intro .col-images-right .col-row:nth-child(1) figure {
      width: 100%;
   }

}
   

/* ------------------------- Section - Home Intro After -------------------------------------------------- */

.section-home-intro-after {
   padding-top: calc(var(--gap) * 1.66);
   padding-bottom: calc(var(--gap) * 1.66);
}

.section-home-intro-after .col {
   gap: 1em;
   max-width: 36em;
}

/* ------------------------- Section - Stay Slider -------------------------------------------------- */

.section-stay-slider {
   padding-top: 0;
   padding-bottom: 0;
}

/* ------------------------- Section - Image Split -------------------------------------------------- */

.section-image-split .row.grid {
   --columns: 2;
   --grid-gap: calc(var(--gap) * 4);
   align-items: center;
}

.section-image-split + .section-image-split {
   padding-top: 0;
}

@media screen and (max-width: 1024px) {
   .section-image-split .row.grid {
      --columns: 2;
      --grid-gap: calc(var(--gap) * 2);
   }
}

@media screen and (min-width: 721px) {
   .section-image-split .row.grid.flipped .col-image {
      order: 3;
   }
}

@media screen and (max-width: 720px) {
   .section-image-split .row.grid {
      --columns: 1;
      gap: calc(var(--gap) * 2) var(--grid-gap);
   }
}

/* ------------------------- Section - Text Split -------------------------------------------------- */

.section-text-split .row.grid {
   --columns: 2;
   --grid-gap: calc(var(--gap) * 2);
}

.section-text-split .row.grid .col-row-text {
   padding-top: 0.25em;
}

@media screen and (max-width: 720px) {
   .section-text-split .row.grid {
      --columns: 1;
      gap: calc(var(--gap) * 2) var(--grid-gap);
   }

   .section-text-split .row.grid .col-row-text {
      padding-top: 0em;
   }
}

/* ------------------------- Section - Stay Header -------------------------------------------------- */

.section-stay-header {
   padding-bottom: 0;
}

/* ------------------------- Section - Stay Cards (Odalar listesi - 4 sütun) -------------------------------------------------- */

.section-stay-cards {
   padding-top: calc(var(--gap) * 3);
}

.section-stay-cards .row.grid {
   --columns: 3;
   --grid-gap: var(--container-padding, 24px);
   gap: calc(var(--gap) * 3.5) var(--grid-gap);
}

.section-stay-cards .single-stay-card .card-image {
   cursor: pointer;
}

/* Otel odası tarzı kartlar */
.section-stay-cards .room-card {
   display: block;
   text-decoration: none;
   color: inherit;
   background: #fff;
   border-radius: 20px;
   overflow: hidden;
   box-shadow: 0 4px 24px rgba(50, 32, 24, 0.08);
   border: 1px solid rgba(50, 32, 24, 0.06);
   transition: transform 0.35s ease, box-shadow 0.35s ease;
   height: 100%;
   flex-direction: column;
}

.section-stay-cards .room-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 20px 48px rgba(50, 32, 24, 0.12);
}

.section-stay-cards .room-card__image-wrap {
   position: relative;
   width: 100%;
   overflow: hidden;
}

.section-stay-cards .room-card__image {
   position: relative;
   width: 100%;
   aspect-ratio: 4 / 3.2;
   overflow: hidden;
   background: #f3ede6;
}

.section-stay-cards .room-card__image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 0.5s ease;
}

.section-stay-cards .room-card:hover .room-card__image img {
   transform: scale(1.06);
}

.section-stay-cards .room-card__image::after {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, transparent 50%);
   pointer-events: none;
}

.section-stay-cards .room-card__badge {
   position: absolute;
   top: 14px;
   left: 14px;
   z-index: 2;
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: #fff;
   background: rgba(50, 32, 24, 0.75);
   padding: 8px 14px;
   border-radius: 6px;
   backdrop-filter: blur(8px);
}

.section-stay-cards .room-card__overlay {
   position: absolute;
   inset: 0;
   z-index: 2;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   background: rgba(50, 32, 24, 0.5);
   opacity: 0;
   transition: opacity 0.35s ease;
   color: #fff;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.section-stay-cards .room-card:hover .room-card__overlay {
   opacity: 1;
}

.section-stay-cards .room-card__cta-arrow {
   flex-shrink: 0;
}

.section-stay-cards .room-card__body {
   padding: 26px 24px 28px;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   text-align: left;
   gap: 10px;
}

.section-stay-cards .room-card__title {
   margin: 0;
   font-family: 'Kaftan Serif', serif;
   font-size: 1.5rem;
   font-weight: 400;
   line-height: 1.3;
   color: #322018;
}

.section-stay-cards .room-card__meta {
   margin: 0;
   font-size: 13px;
   color: rgba(50, 32, 24, 0.65);
   line-height: 1.5;
}

.section-stay-cards .room-card__footer {
   margin-top: auto;
   padding-top: 14px;
   border-top: 1px solid rgba(50, 32, 24, 0.08);
}

.section-stay-cards .room-card__price {
   font-family: 'Kaftan Serif', serif;
   font-size: 1.65rem;
   font-weight: 400;
   color: #322018;
}

.section-stay-cards .room-card__price-unit {
   font-family: inherit;
   font-size: 0.65em;
   font-weight: 400;
   color: rgba(50, 32, 24, 0.6);
}

.section-stay-cards .room-card__price--contact {
   font-size: 0.95rem;
   color: rgba(50, 32, 24, 0.7);
}

@media screen and (max-width: 991px) {
   .section-stay-cards .room-card__body {
      padding: 18px 16px 20px;
   }
   .section-stay-cards .room-card__title {
      font-size: 1.2rem;
   }
   .section-stay-cards .room-card__price {
      font-size: 1.3rem;
   }
}

@media screen and (max-width: 720px) {
   .section-stay-cards .room-card__image {
      aspect-ratio: 3 / 2;
   }
   .section-stay-cards .room-card__body {
      padding: 16px 14px 18px;
   }
   .section-stay-cards .room-card__title {
      font-size: 1.15rem;
   }
}

@media screen and (max-width: 1199px) {
   .section-stay-cards .row.grid {
      --columns: 2;
   }
}

@media screen and (max-width: 991px) {
   .section-stay-cards .row.grid {
      --columns: 2;
      gap: calc(var(--gap) * 3) var(--grid-gap);
   }
}

@media screen and (max-width: 720px) {
   .section-stay-cards .row.grid {
      --columns: 1;
      gap: calc(var(--gap) * 2) var(--grid-gap);
   }
}

/* ------------------------- Section - Packages Header -------------------------------------------------- */

.section-packages-header {
   padding-bottom: 0;
}

/* ------------------------- Section - Packages Cards -------------------------------------------------- */

.section-packages-intro {
   padding-bottom: 0;
}

/* ------------------------- Section - Packages Cards -------------------------------------------------- */

.section-packages-cards {
   padding-top: calc(var(--gap) * 3);
}

.section-packages-cards .row.grid {
   --columns: 3;
   --grid-gap: var(--container-padding);
   gap: calc(var(--gap) * 3) var(--grid-gap);
}

@media screen and (max-width: 1024px) {
   .section-packages-cards .row.grid {
      --columns: 2;
      gap: calc(var(--gap) * 1) var(--grid-gap);
   }
}

@media screen and (max-width: 720px) {
   .section-packages-cards .row.grid {
      --columns: 1;
   }
}

/* ------------------------- Section - Discover Header -------------------------------------------------- */

.section-discover-header {
   padding-bottom: 0;
}

/* ------------------------- Section - Discover Cards -------------------------------------------------- */

.section-discover-cards {
   padding-top: calc(var(--gap) * 3);
}

.section-discover-cards .row.grid {
   --columns: 3;
   --grid-gap: var(--container-padding);
   gap: calc(var(--gap) * 3) var(--grid-gap);
}

.section-discover-cards + .section-small-image {
   padding-top: 0;
   padding-bottom: 0;
}

@media screen and (max-width: 1024px) {
   .section-discover-cards .row.grid {
      --columns: 2;
      gap: calc(var(--gap) * 1) var(--grid-gap);
   }
}

@media screen and (max-width: 720px) {
   .section-discover-cards .row.grid {
      --columns: 1;
   }
}

/* ------------------------- Section - Blog Header -------------------------------------------------- */

.section-blog-header {
   padding-bottom: 0;
}

.section-blog-header

/* ------------------------- Section - Blog Cards -------------------------------------------------- */

.section-blog-cards {
   padding-top: calc(var(--gap) * 3);
}

.section-blog-cards .row.grid {
   --columns: 3;
   --grid-gap: var(--container-padding);
   gap: calc(var(--gap) * 3) var(--grid-gap);
}

.section-blog-cards + .section-small-image {
   padding-top: 0;
   padding-bottom: 0;
}

@media screen and (max-width: 1024px) {
   .section-blog-cards .row.grid {
      --columns: 2;
      gap: calc(var(--gap) * 1) var(--grid-gap);
   }
}

@media screen and (max-width: 720px) {
   .section-blog-cards .row.grid {
      --columns: 1;
   }
}

/* ------------------------- Section - Packages Single Header -------------------------------------------------- */

.section-packages-single-header {
   padding-bottom: 0;
   z-index: 2;
}

.section-packages-single-header .col-row-image {
   padding-top: calc(var(--gap) * 1.5);
}

.section-packages-single-header .styled-figure {
   width: var(--card-width);
   margin-bottom: calc((var(--card-width) * 1.333333) * -0.666);
}

.section-packages-single-header + .section-big-image .background-media {
   min-height: 90vh;
   transform-origin: bottom center;
}

@media (hover: none) { 
   @media screen and (max-width: 1024px) {
      .section-packages-single-header + .section-big-image .background-media {
         min-height: 65vh;
         min-height: calc(var(--vh, 1vh) * 65);
      }
   }
}

/* ------------------------- Section - Discover Single Header -------------------------------------------------- */

.section-discover-single-header + .section-big-image .background-media {
   min-height: 90vh;
}

@media (hover: none) { 
   @media screen and (max-width: 1024px) {
      .section-discover-single-header + .section-big-image .background-media {
         min-height: 65vh;
         min-height: calc(var(--vh, 1vh) * 65);
      }
   }
}

/* ------------------------- Section - Blog Single Header -------------------------------------------------- */

.section-blog-single-header h1 {
   font-size: calc(var(--title-size) * 0.5);
}

[data-barba-namespace="blog-single"] [data-block-index] h2 {
   font-size: calc(var(--title-size) * 0.4);
}

@media screen and (max-width: 540px) {
   .section-blog-single-header h1 {
      font-size: calc(var(--title-size) * 0.5);
   }

   [data-barba-namespace="blog-single"] [data-block-index] h2 {
      font-size: calc(var(--title-size) * 0.35);
   }
}

.section-blog-single-header + .section-big-image .background-media {
   min-height: 90vh;
}

@media (hover: none) { 
   @media screen and (max-width: 1024px) {
      .section-blog-single-header + .section-big-image .background-media {
         min-height: 65vh;
         min-height: calc(var(--vh, 1vh) * 65);
      }
   }
}

/* ------------------------- Section - Big Image -------------------------------------------------- */

.section-big-image {
   padding: 0;
   position: relative;
   overflow: hidden;
}

.section-big-image .background-media {
   width: 100%;
   position: relative;
   min-height: 90vh;
}

.section-big-image.section-big-image-text {
   padding-top: var(--section-padding);
   padding-bottom: var(--section-padding);
}

.section-big-image.section-big-image-text .background-media {
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
}

.section-big-image.section-big-image-text .col-row-btn {
   padding-top: var(--gap);
}

@media (hover: none) { 
   @media screen and (max-width: 1024px) {
      .section-big-image .background-media {
         min-height: 90vh;
         min-height: calc(var(--vh, 1vh) * 90);
      }


      .section-big-image.section-big-image-text {
         padding-top: calc(var(--section-padding) * 1.5);
         padding-bottom: calc(var(--section-padding) * 1.5);
      }
   }
}

/* ------------------------- Section - After Big Image -------------------------------------------------- */

.section-after-big-image {
   padding-top: 0;
}

.section-after-big-image .col-row-image {
   padding-bottom: var(--gap);
}

.section-after-big-image .col-row-image:last-child {
   padding-bottom: 0;
}

.section-after-big-image .styled-figure {
   width: var(--card-width);
   margin-top: calc((var(--card-width) * 1.333333) * -0.666);
}

/* ------------------------- Section - Three Images -------------------------------------------------- */

.section-three-images {
   padding-top: 0;
   padding-bottom: 0;
}

.section-three-images + .section-footer {
   margin-top: var(--section-padding);
}

.section-three-images + .section-image-split {
   margin-top: var(--section-padding);
}

.section-three-images-block .container.small .row.centered {
   padding-bottom: calc(var(--gap) * 3.25);
}

@media screen and (min-width: 721px) {
   .section-three-images.offset .col:nth-child(even),
   .section-three-images-block.offset .col:nth-child(even) {
      margin-top: var(--container-padding);
   }
}

@media screen and (max-width: 720px) {

   .section-three-images .row.grid,
   .section-three-images-block .row.grid {
      --columns: 2;
   }

   .section-three-images .col:nth-child(3),
   .section-three-images-block .col:nth-child(3) {
      display: none;
   }
}

/* ------------------------- Section - Dining Intro -------------------------------------------------- */

.section-dining-intro {
   padding-bottom: calc(var(--gap) * 3.25);
}

/* ------------------------- Section - Small Image -------------------------------------------------- */

.section-small-image {
   z-index: 2;
}

.section-small-image .col-row-image {
   padding-top: var(--gap);
}

.section-small-image .styled-figure {
   width: var(--card-width);
}

.section-small-image + .section-big-image {
   margin-top: calc((var(--card-width) * 1.333333) * -0.666);
}

/* ------------------------- Section - Menu -------------------------------------------------- */

.section-menu .row-menu-controls {
   padding-top: calc(var(--gap) * 1.5);
   padding-bottom: calc(var(--gap) * 0.75);
}

.section-menu .row-disclaimer {
   padding-top: calc(var(--gap) * 1.5);
   padding-bottom: calc(var(--gap) * 1.5);
}

.section-menu .row-disclaimer p {
   font-size: var(--copy-size-s);
   opacity: 0.6;
}

/* Filter Controls */

.section-menu .row-menu-controls .menu-controls {
   display: flex;
   gap: 1.5em;
   overflow-x: scroll;
}

.section-menu .single-menu-btn {
   display: flex;
   padding: 0.4em 0em;
   border-radius: 10em;
   position: relative;
   cursor: pointer;
   transition: padding var(--animation-primary);
}

.section-menu .single-menu-btn[data-filter-status="active"] {
   padding: 0.4em 0.9em;
}

.section-menu .single-menu-btn::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   border-radius: 10em;
   border: 1px solid var(--color-border);
   transition: opacity var(--animation-primary);
   opacity: 0;
}

.section-menu .single-menu-btn[data-filter-status="active"]::before {
   opacity: 1;
}

.section-menu .single-menu-btn span {
   font-size: var(--copy-size-m);
   opacity: 0.5;
   transition: opacity var(--animation-primary);
   color: var(--color-dark);
   white-space: nowrap;
}

.section-menu .single-menu-btn:hover span {
   opacity: 1;
}

.section-menu .single-menu-btn[data-filter-status="active"] span {
   opacity: 1;
   font-weight: 400;
}

/* Filter Items */

.section-menu [data-filter-grid] .menu-list[data-filter-status="not-active"] {
   display: none;
}

.section-menu [data-filter-grid] {
	transform: translateY(0em) rotate(0.001deg);
   transition: opacity .2s ease-out, transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.section-menu [data-filter-grid].toggle-fade-out {
	opacity: 0;
	transform: translateY(0.5em) rotate(0.001deg);;
	transition: opacity .2s ease-in, transform 0.2s cubic-bezier(0.7, 0, 0.84, 0);
}
 
.section-menu [data-filter-grid].toggle-fade-in {
	opacity: 0;
	transform: translateY(var(--gap)) rotate(0.001deg);
}

.section-menu .row-menu-grid .menu-list {
   width: 100%;
   display: flex;
   flex-wrap: wrap;
   gap: calc(var(--gap) * 0.75) var(--grid-gap);
   --grid-gap: var(--container-padding);
   --columns: 2;
}

.section-menu .row-menu-grid .single-menu-item {
   width: calc((99.99% / var(--columns)) - (var(--grid-gap) * ((var(--columns) - 1) / var(--columns))));
   display: flex;
   flex-direction: column;
   gap: 0.6em;
   position: relative;
   padding-top: calc(var(--gap) * 0.75);
}

.section-menu .row-menu-grid .single-menu-item.special {
   width: 100%;
   background-color: rgb(99, 70, 34, 0.05);
   padding: calc(var(--gap) * 0.75);
}

.section-menu .row-menu-grid .single-menu-item.special .border-top {
   display: none;
}

.section-menu .row-menu-grid .single-menu-item .col-menu-eyebrow {
   padding-top: calc(var(--gap) * 0.1);
}

.section-menu .row-menu-grid .single-menu-item.special .col-menu-eyebrow {
   display: flex;
   align-items: center;
   gap: 0.3em;
}

.section-menu .row-menu-grid .single-menu-item.special .col-menu-eyebrow svg {
   width: calc(var(--copy-size-m) * 1.1);
   margin-bottom: 0.15em;
   margin-left: calc(var(--copy-size-m) * -0.2);
}

.section-menu .row-menu-grid .single-menu-item.special .col-menu-eyebrow svg * {
   fill: var(--color-primary);
   stroke: transparent;
   stroke-width: 0px;
}

.section-menu .row-menu-grid .single-menu-item .col-menu-price {
   display: flex;
   align-items: center;
   gap: 1em;
}

.section-menu .row-menu-grid .single-menu-item .col-menu-price p {
   font-weight: 400;
   font-size: var(--copy-size-m);
}

.section-menu .row-menu-grid .single-menu-item .col-menu-price .duration {
   display: flex;
   align-items: center;
   gap: 0.25em;
   font-weight: 300;
   opacity: 0.6;
}

.section-menu .row-menu-grid .single-menu-item .col-menu-price .duration svg {
   width: calc(var(--copy-size-m) * 1.2);
   margin-bottom: 0.1em;
}

.section-menu .row-menu-grid .single-menu-item .col-menu-price .duration svg * {
   stroke: var(--color-dark);
   stroke-width: 1.5px;
}

@media screen and (max-width: 720px) {

   .section-menu .row-menu-grid .menu-list {
      --columns: 1;
   }
}

/* ------------------------- Section - Stay Single Header -------------------------------------------------- */

.section-stay-single-header {
   overflow: hidden;
   padding: 0;
}

.section-stay-single-header .overlay-dark-gradient {   
   background: radial-gradient(circle at 50% 50%, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 50%);
   transform: scale(1);
   opacity: 0.5;
}
   
.section-stay-single-header h1 {
   font-size: calc(var(--title-size) * 1);
}

.section-stay-single-header .styled-col {
   gap: calc(var(--gap) * 2);
}

@media screen and (max-width: 540px) {
   .section-stay-single-header h1 {
      font-size: calc(var(--title-size) * 0.7);
   }
}

/* ------------------------- Section - Double Slider -------------------------------------------------- */

.section-double-slider {
   padding-top: 0;
}

.section-double-slider .row-title {
   padding-bottom: calc(var(--gap) * 3);
}

.section-double-slider .row-btn {
   padding-top: calc(var(--gap) * 1.5);
}

.section-double-slider-dining {
   padding-top: var(--section-padding);
}

/* ------------------------- Pagebuilder -------------------------------------------------- */

.section-combine-no-padding + .section-combine-no-padding {
   padding-top: 0;
}

.section-combine-no-padding + .section-packages-intro::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   background-color: var(--color-border);
   height: 1px;
}

/* ------------------------- Pages - Room detail (show) -------------------------------------------------- */

.page-room-detail .container--room-detail {
   max-width: min(calc(var(--title-size) * 14), 90rem);
   margin-left: auto;
   margin-right: auto;
   padding-left: var(--container-padding);
   padding-right: var(--container-padding);
   width: 100%;
   box-sizing: border-box;
}

.room-detail-hero {
   padding-bottom: 24px;
}

.room-detail-shell {
   display: grid;
   grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.9fr);
   gap: 40px;
   align-items: start;
   width: 100%;
   min-width: 0;
   box-sizing: border-box;
}

.room-detail-shell > * {
   min-width: 0;
}

.room-hero-copy {
   max-width: 860px;
}

.room-facts {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
   gap: 16px;
   margin-top: 34px;
}

.room-fact-card,
.room-content-card,
.room-booking-card,
.room-contact-card,
.room-info-card,
.similar-room-card {
   border: 1px solid rgba(50, 32, 24, 0.08);
   border-radius: 24px;
   background: #fff;
   box-shadow: 0 20px 60px rgba(24, 18, 12, 0.06);
}

.room-fact-card {
   padding: 20px 22px;
}

.room-fact-label {
   display: block;
   margin-bottom: 8px;
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.16em;
   text-transform: uppercase;
   color: rgba(50, 32, 24, 0.55);
}

.room-fact-value {
   font-family: 'Kaftan Serif', serif;
   font-size: 22px;
   line-height: 1.2;
   color: #322018;
}

.room-gallery-card {
   position: relative;
   overflow: hidden;
   border-radius: 28px;
   background: #f3ede6;
   border: 1px solid rgba(50, 32, 24, 0.08);
   width: 100%;
}

.room-gallery-main {
   height: 620px !important;
   width: 100% !important;
   max-width: 100%;
   overflow: hidden;
   box-sizing: border-box;
}

.page-room-detail .room-gallery-main.swiper {
   height: 620px !important;
}

.room-gallery-main .swiper-slide,
.page-room-detail .room-gallery-main .swiper-slide {
   position: relative;
   overflow: hidden;
   height: 100%;
   width: 100%;
}

.room-gallery-main .swiper-slide::after {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(17, 17, 17, 0.08) 0%, rgba(17, 17, 17, 0.28) 100%);
   pointer-events: none;
}

.room-gallery-main img,
.page-room-detail .room-gallery-main img,
.room-gallery-thumbs img,
.similar-room-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   vertical-align: top;
}

.room-gallery-overlay {
   position: absolute;
   inset: auto 28px 28px 28px;
   z-index: 2;
   display: flex;
   justify-content: space-between;
   align-items: end;
   gap: 20px;
   color: #fff;
}

.room-gallery-overlay h3 {
   margin: 0 0 8px;
   color: #fff;
}

.room-gallery-overlay p {
   margin: 0;
   max-width: 520px;
   color: rgba(255, 255, 255, 0.86);
}

.room-gallery-count {
   min-width: 88px;
   padding: 14px 18px;
   border-radius: 999px;
   text-align: center;
   background: rgba(255, 255, 255, 0.16);
   backdrop-filter: blur(14px);
   -webkit-backdrop-filter: blur(14px);
   font-size: 13px;
   font-weight: 600;
   letter-spacing: 0.12em;
}

.room-gallery-controls {
   position: absolute;
   top: 24px;
   right: 24px;
   z-index: 3;
   display: flex;
   gap: 10px;
}

.room-gallery-arrow {
   width: 52px;
   height: 52px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   border: 1px solid rgba(255, 255, 255, 0.35);
   background: rgba(255, 255, 255, 0.12);
   color: #fff;
   cursor: pointer;
   transition: transform 0.25s ease, background-color 0.25s ease;
   backdrop-filter: blur(14px);
   -webkit-backdrop-filter: blur(14px);
}

.room-gallery-arrow:hover {
   transform: translateY(-2px);
   background: rgba(255, 255, 255, 0.22);
}

.room-gallery-arrow svg {
   width: 20px;
   height: 20px;
}

.room-gallery-thumbs-wrap {
   margin-top: 18px;
}

.room-gallery-thumbs {
   height: 110px;
}

.room-gallery-thumbs .swiper-slide {
   opacity: 0.55;
   transition: opacity 0.25s ease, transform 0.25s ease;
   border-radius: 18px;
   overflow: hidden;
   cursor: pointer;
}

.room-gallery-thumbs .swiper-slide-thumb-active {
   opacity: 1;
   transform: translateY(-3px);
}

.room-content-stack {
   display: grid;
   gap: 24px;
   margin-top: 28px;
}

.room-content-card {
   padding: 30px;
}

.room-content-card h3,
.room-booking-card h3,
.room-contact-card h4,
.similar-room-card h4 {
   margin-bottom: 14px;
}

.room-content-card p {
   margin-bottom: 0;
   color: rgba(50, 32, 24, 0.74);
   line-height: 1.9;
}

.room-feature-grid,
.room-highlight-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.room-feature-item,
.room-highlight-item {
   padding: 16px 18px;
   border-radius: 18px;
   background: #f8f5f0;
   color: #322018;
}

.room-feature-item {
   display: flex;
   align-items: center;
   gap: 12px;
   font-size: 14px;
   font-weight: 500;
}

.room-feature-icon {
   flex: 0 0 34px;
   width: 34px;
   height: 34px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: rgba(170, 132, 83, 0.14);
   color: #aa8453;
   font-weight: 700;
}

.room-highlight-item h5 {
   margin: 0 0 8px;
   font-size: 16px;
}

.room-highlight-item p {
   margin: 0;
   font-size: 14px;
   line-height: 1.7;
}

.room-sidebar {
   position: sticky;
   top: 110px;
   display: grid;
   gap: 20px;
   min-width: 0;
}

.room-booking-card {
   padding: 28px;
   background: linear-gradient(180deg, #fbf8f3 0%, #ffffff 100%);
   -webkit-tap-highlight-color: transparent;
   min-width: 0;
   overflow: hidden;
}

.room-booking-card .eyebrow {
   margin-bottom: 10px;
   display: inline-block;
}

.room-booking-card p {
   margin-bottom: 22px;
   color: rgba(50, 32, 24, 0.72);
   line-height: 1.8;
}

.room-booking-form {
   display: grid;
   gap: 16px;
   min-width: 0;
   overflow: hidden;
}

.room-booking-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
   min-width: 0;
   overflow: hidden;
}

.room-booking-field {
   min-width: 0;
}

.room-booking-field label {
   display: block;
   margin-bottom: 8px;
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.14em;
   text-transform: uppercase;
   color: rgba(50, 32, 24, 0.55);
}

.room-booking-field input,
.room-booking-field select {
   width: 100%;
   min-width: 0;
   max-width: 100%;
   min-height: 56px;
   border-radius: 16px;
   border: 1px solid rgba(50, 32, 24, 0.1);
   background: #fff;
   padding: 0 16px;
   color: #322018;
   font-size: 15px;
   -webkit-tap-highlight-color: transparent;
   box-sizing: border-box;
}

.room-booking-field input:focus,
.room-booking-field select:focus {
   outline: 2px solid rgba(10, 99, 101, 0.4);
   outline-offset: 0;
}

.room-booking-field select {
   appearance: none;
}

.room-booking-field input[type="date"] {
   width: 100%;
   min-width: 0;
   max-width: 100%;
   box-sizing: border-box;
}

.room-booking-submit {
   width: 100%;
   min-height: 48px;
   padding: 0 20px;
   border: 0;
   border-radius: var(--border-radius);
   cursor: pointer;
   background-color: var(--color-butterflygreen-900);
   color: #fff;
   font-size: var(--copy-size-m);
   font-weight: 400;
   -webkit-tap-highlight-color: transparent;
   tap-highlight-color: transparent;
   transition: background-color var(--animation-nav);
}

.room-booking-submit:focus,
.room-booking-submit:active {
   outline: none;
   -webkit-tap-highlight-color: transparent;
}

.room-booking-submit:hover {
   background-color: var(--color-butterflygreen-700);
}

.room-booking-form {
   -webkit-tap-highlight-color: transparent;
}

.room-booking-note {
   margin-top: 14px;
   font-size: 13px;
   color: rgba(50, 32, 24, 0.58);
}

.room-contact-card {
   padding: 24px 26px;
}

.room-info-card {
   padding: 24px 26px;
}

.room-info-note {
   display: flex;
   align-items: center;
   gap: 10px;
   margin: 14px 0 0;
   font-size: 0.9rem;
   color: rgba(50, 32, 24, 0.75);
}

.room-info-icon {
   color: var(--primary, #2d5a3d);
   font-weight: 600;
}

.room-contact-list {
   display: grid;
   gap: 14px;
   margin-top: 18px;
}

.room-contact-item {
   display: flex;
   gap: 14px;
   align-items: flex-start;
}

.room-contact-item strong {
   display: block;
   margin-bottom: 4px;
   font-size: 13px;
   color: rgba(50, 32, 24, 0.55);
   text-transform: uppercase;
   letter-spacing: 0.08em;
}

.room-contact-item a,
.room-contact-item span {
   color: #322018;
   text-decoration: none;
   line-height: 1.6;
}

.room-contact-icon {
   width: 42px;
   height: 42px;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: #f8f5f0;
   color: #aa8453;
   flex: 0 0 42px;
}

.room-empty-gallery {
   min-height: 520px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 40px;
   text-align: center;
   color: rgba(50, 32, 24, 0.55);
   background: linear-gradient(135deg, #f5efe7 0%, #fdfbf8 100%);
   border-radius: 28px;
   border: 1px solid rgba(50, 32, 24, 0.08);
}

@media (max-width: 1199px) {
   .room-detail-shell {
      grid-template-columns: minmax(0, 1fr);
      gap: 32px;
   }
   .room-sidebar {
      position: static;
      order: 2;
      min-width: 0;
      max-width: 100%;
   }
   .room-booking-grid {
      grid-template-columns: 1fr;
   }
   .room-gallery-main,
   .page-room-detail .room-gallery-main {
      height: 520px !important;
   }
   .room-content-stack {
      margin-top: 24px;
      gap: 20px;
   }
}

@media (max-width: 991px) {
   .room-detail-hero {
      padding-bottom: 20px;
   }
   .room-detail-hero .container,
   .page-room-detail .container--room-detail {
      padding-left: var(--container-padding, 24px);
      padding-right: var(--container-padding, 24px);
   }
   .room-booking-grid {
      grid-template-columns: 1fr;
   }
   .room-hero-copy .col-row-title.medium h1 {
      font-size: clamp(1.75rem, 4.5vw, 2.25rem);
   }
   .room-facts {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 24px;
   }
   .room-fact-card {
      padding: 16px 18px;
   }
   .room-fact-value {
      font-size: 18px;
   }
   .room-gallery-main,
   .page-room-detail .room-gallery-main {
      height: 460px !important;
   }
   .room-gallery-card {
      border-radius: 20px;
   }
   .room-gallery-overlay {
      inset: auto 20px 20px 20px;
      gap: 16px;
   }
   .room-gallery-overlay h3 {
      font-size: 1.25rem;
   }
   .room-gallery-overlay p {
      font-size: 0.9rem;
      max-width: 100%;
   }
   .room-gallery-count {
      min-width: 72px;
      padding: 10px 14px;
      font-size: 12px;
   }
   .room-gallery-thumbs {
      height: 90px;
      margin-top: 14px;
   }
   .room-gallery-thumbs .swiper-slide {
      border-radius: 14px;
   }
   .room-content-card,
   .room-booking-card,
   .room-contact-card {
      padding: 24px;
      border-radius: 20px;
   }
   .room-content-card h3,
   .room-booking-card h3,
   .room-contact-card h4 {
      font-size: 1.25rem;
   }
   .room-booking-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
   }
   .room-feature-grid,
   .room-highlight-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
   }
   .room-highlight-item h5 {
      font-size: 0.95rem;
   }
   .room-highlight-item p,
   .room-feature-item {
      font-size: 13px;
   }
   .room-contact-icon {
      width: 38px;
      height: 38px;
      flex: 0 0 38px;
   }
}

@media (max-width: 767px) {
   .room-detail-hero {
      padding-bottom: 16px;
   }
   .room-detail-shell {
      gap: 24px;
   }
   .page-room-detail .container--room-detail {
      padding-left: var(--container-padding, 20px);
      padding-right: var(--container-padding, 20px);
   }
   .room-hero-copy .col-row-title.medium h1 {
      font-size: clamp(1.5rem, 6vw, 1.85rem);
      line-height: 1.25;
   }
   .room-hero-copy .col-row-text.styled-content.large p {
      font-size: 0.95rem;
      line-height: 1.65;
   }
   .room-facts {
      grid-template-columns: 1fr;
      gap: 10px;
      margin-top: 20px;
   }
   .room-fact-card {
      padding: 14px 16px;
   }
   .room-fact-value {
      font-size: 1.25rem;
   }
   .room-fact-label {
      font-size: 10px;
   }
   .room-gallery-main,
   .page-room-detail .room-gallery-main {
      height: 380px !important;
   }
   .room-gallery-card {
      border-radius: 16px;
   }
   .room-gallery-overlay {
      inset: auto 14px 14px 14px;
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
   }
   .room-gallery-overlay h3 {
      font-size: 1.1rem;
   }
   .room-gallery-overlay p {
      font-size: 0.85rem;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
   }
   .room-gallery-count {
      min-width: 64px;
      padding: 8px 12px;
      font-size: 11px;
   }
   .room-gallery-controls {
      top: 12px;
      right: 12px;
      gap: 8px;
   }
   .room-gallery-arrow {
      width: 44px;
      height: 44px;
   }
   .room-gallery-arrow svg {
      width: 18px;
      height: 18px;
   }
   .room-gallery-thumbs-wrap {
      margin-top: 12px;
   }
   .room-gallery-thumbs {
      height: 76px;
   }
   .room-content-stack {
      margin-top: 20px;
      gap: 16px;
   }
   .room-content-card,
   .room-booking-card,
   .room-contact-card {
      padding: 20px;
      border-radius: 16px;
   }
   .room-content-card h3,
   .room-booking-card h3,
   .room-contact-card h4 {
      font-size: 1.15rem;
      margin-bottom: 12px;
   }
   .room-booking-grid,
   .room-feature-grid,
   .room-highlight-grid {
      grid-template-columns: 1fr;
      gap: 12px;
   }
   .room-booking-field input,
   .room-booking-field select {
      min-height: 50px;
      font-size: 16px;
      min-width: 0;
   }
   .room-booking-field input[type="date"]::-webkit-clear-button,
   .room-booking-field input[type="date"]::-webkit-inner-spin-button,
   .room-booking-field input[type="date"]::-webkit-calendar-picker-indicator {
      display: none;
   }
   .room-booking-submit {
      font-size: 0.9rem;
   }
   .room-booking-note {
      font-size: 12px;
      margin-top: 12px;
   }
   .room-contact-card {
      padding: 20px;
   }
   .room-contact-item {
      gap: 12px;
   }
   .room-contact-icon {
      width: 36px;
      height: 36px;
      flex: 0 0 36px;
   }
   .room-empty-gallery {
      min-height: 360px;
      padding: 24px 20px;
      border-radius: 16px;
   }
   .room-empty-gallery h3 {
      font-size: 1.1rem;
   }
   .room-empty-gallery p {
      font-size: 0.9rem;
   }
}

@media (max-width: 480px) {
   .room-detail-hero .container,
   .page-room-detail .container--room-detail {
      padding-left: 16px;
      padding-right: 16px;
   }
   .room-booking-field input,
   .room-booking-field select {
      padding: 0 12px;
      font-size: 16px;
      min-height: 48px;
      min-width: 0;
      width: 100%;
   }
   .room-booking-field input[type="date"] {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
   }
   .room-gallery-main,
   .page-room-detail .room-gallery-main {
      height: 320px !important;
   }
   .room-gallery-overlay {
      inset: auto 12px 12px 12px;
   }
   .room-gallery-overlay h3 {
      font-size: 1rem;
   }
   .room-gallery-count {
      min-width: 56px;
      padding: 6px 10px;
      font-size: 10px;
   }
   .room-gallery-arrow {
      width: 40px;
      height: 40px;
   }
   .room-content-card,
   .room-booking-card,
   .room-contact-card {
      padding: 18px;
   }
   .room-fact-value {
      font-size: 1.1rem;
   }
   .room-empty-gallery {
      min-height: 300px;
   }
}

@media (hover: none) and (pointer: coarse) {
   .room-gallery-arrow {
      min-width: 48px;
      min-height: 48px;
   }
}

/* ------------------------- Pages - Karakazan (restoran) -------------------------------------------------- */

.section-karakazan-header {
   padding-bottom: 1.5rem;
}

.section-karakazan-intro .karakazan-intro-grid {
   --columns: 2;
   --grid-gap: calc(var(--gap) * 3);
   gap: calc(var(--gap) * 3) var(--grid-gap);
   align-items: center;
}

.section-karakazan-intro .karakazan-intro-content {
   max-width: 100%;
}

.section-karakazan-intro .karakazan-intro-image {
   width: 100%;
}

.section-karakazan-intro .karakazan-intro-image .styled-figure,
.section-karakazan-intro .karakazan-intro-image picture,
.section-karakazan-intro .karakazan-intro-image img {
   width: 100%;
   border-radius: 20px;
   overflow: hidden;
}

.section-karakazan-intro .karakazan-intro-image img {
   object-fit: cover;
   display: block;
}

.section-karakazan-gallery {
   padding-top: calc(var(--gap) * 2.5);
}

.karakazan-gallery-head {
   text-align: center;
   margin-bottom: calc(var(--gap) * 2.5);
}

.karakazan-gallery-head h2 {
   margin: 0.5em 0 0;
}

.karakazan-card-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 24px;
   list-style: none;
   margin: 0;
   padding: 0;
}

.karakazan-card {
   background: #fff;
   border-radius: 20px;
   overflow: hidden;
   box-shadow: 0 4px 24px rgba(50, 32, 24, 0.08);
   border: 1px solid rgba(50, 32, 24, 0.06);
   transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.karakazan-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 20px 48px rgba(50, 32, 24, 0.12);
}

.karakazan-card__image {
   position: relative;
   aspect-ratio: 4 / 3;
   overflow: hidden;
   background: #f3ede6;
}

.karakazan-card__image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 0.5s ease;
}

.karakazan-card:hover .karakazan-card__image img {
   transform: scale(1.06);
}

.karakazan-card__image::after {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(to top, rgba(0, 0, 0, 0.35) 0%, transparent 55%);
   pointer-events: none;
}

.karakazan-card__badge {
   position: absolute;
   bottom: 14px;
   left: 14px;
   z-index: 2;
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: #fff;
   background: rgba(50, 32, 24, 0.8);
   padding: 8px 14px;
   border-radius: 6px;
   backdrop-filter: blur(8px);
}

@media screen and (max-width: 1199px) {
   .karakazan-card-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
   }
}

@media screen and (max-width: 991px) {
   .section-karakazan-intro .karakazan-intro-grid {
      --columns: 1;
      gap: calc(var(--gap) * 2);
   }
   .section-karakazan-intro .karakazan-intro-image {
      order: -1;
   }
   .karakazan-card-grid {
      gap: 16px;
   }
}

@media screen and (max-width: 720px) {
   .karakazan-card-grid {
      grid-template-columns: 1fr;
      gap: 16px;
   }
   .karakazan-card__image {
      aspect-ratio: 3 / 2;
   }
}

/* ------------------------- Pages - Gallery (performans) -------------------------------------------------- */

.section-gallery-header {
   padding-bottom: 1rem;
}

.section-gallery-grid {
   padding-top: calc(var(--gap) * 2);
}

.gallery-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 20px;
   list-style: none;
   margin: 0;
   padding: 0;
}

.gallery-grid__item {
   display: block;
   text-decoration: none;
   color: inherit;
   border-radius: 16px;
   overflow: hidden;
   background: #f3ede6;
   box-shadow: 0 2px 16px rgba(50, 32, 24, 0.06);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-grid__item:hover {
   transform: translateY(-4px);
   box-shadow: 0 12px 32px rgba(50, 32, 24, 0.1);
}

.gallery-grid__thumb {
   display: block;
   aspect-ratio: 4 / 3;
   overflow: hidden;
}

.gallery-grid__thumb img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   vertical-align: top;
}

.gallery-load-more {
   margin-top: calc(var(--gap) * 2.5);
   text-align: center;
}

.gallery-load-more .btn {
   min-width: 200px;
}

.gallery-loader {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 12px;
   padding: 1rem;
   color: rgba(50, 32, 24, 0.6);
   font-size: 0.9rem;
}

.gallery-loader__spinner {
   width: 24px;
   height: 24px;
   border: 2px solid rgba(50, 32, 24, 0.15);
   border-top-color: var(--color-primary, #322018);
   border-radius: 50%;
   animation: gallery-spin 0.8s linear infinite;
}

@keyframes gallery-spin {
   to { transform: rotate(360deg); }
}

.section-gallery-map {
   padding-top: calc(var(--gap) * 3);
   padding-bottom: calc(var(--gap) * 4);
}

.section-gallery-map .container {
   max-width: var(--container-width, 1200px);
   margin: 0 auto;
   padding-left: var(--container-padding, 24px);
   padding-right: var(--container-padding, 24px);
}

.gallery-map-desc {
   margin: 0.5em 0 0;
   font-size: 1rem;
   color: rgba(50, 32, 24, 0.7);
}

.gallery-map-head {
   text-align: center;
   margin-bottom: calc(var(--gap) * 2);
}

.gallery-map-head h2 {
   margin: 0.5em 0 0;
}

.gallery-map-sitemap-link {
   margin-top: 0.75em;
   margin-bottom: 0;
}

.gallery-map-sitemap-link a {
   text-decoration: underline;
}

.gallery-map-root {
   width: 100%;
   min-height: 480px;
   border-radius: 20px;
   overflow: hidden;
   background: #eae5df;
}

/* Diğer Görseller slider (20'den sonra) */
.section-gallery-slider {
   padding-top: calc(var(--gap) * 3);
   padding-bottom: calc(var(--gap) * 4);
}

.gallery-extra-slider-wrap {
   position: relative;
   min-height: 280px;
}

.gallery-extra-swiper {
   overflow: hidden;
}

.gallery-extra-swiper .swiper-slide {
   height: 260px;
}

.gallery-extra-swiper .swiper-slide img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.gallery-extra-swiper .swiper-button-prev,
.gallery-extra-swiper .swiper-button-next {
   color: #322018;
}

.gallery-extra-swiper .swiper-pagination-bullet-active {
   background: #322018;
}

.gallery-lightbox {
   position: fixed;
   inset: 0;
   z-index: 9999;
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(0, 0, 0, 0.92);
   padding: 2rem;
}

.gallery-lightbox[hidden] {
   display: none !important;
}

.gallery-lightbox__close {
   position: absolute;
   top: 1.5rem;
   right: 1.5rem;
   width: 48px;
   height: 48px;
   border: 0;
   background: rgba(255, 255, 255, 0.15);
   color: #fff;
   font-size: 1.75rem;
   line-height: 1;
   cursor: pointer;
   border-radius: 50%;
   transition: background 0.2s ease;
}

.gallery-lightbox__close:hover {
   background: rgba(255, 255, 255, 0.25);
}

.gallery-lightbox__inner {
   max-width: 95vw;
   max-height: 90vh;
   display: flex;
   align-items: center;
   justify-content: center;
}

.gallery-lightbox__inner img {
   max-width: 100%;
   max-height: 90vh;
   width: auto;
   height: auto;
   object-fit: contain;
}

@media screen and (max-width: 1199px) {
   .gallery-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
   }
}

@media screen and (max-width: 991px) {
   .gallery-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
   }
}

@media screen and (max-width: 575px) {
   .gallery-grid {
      grid-template-columns: 1fr;
      gap: 12px;
   }
   .gallery-map-root {
      min-height: 360px;
   }
}

/* ------------------------- Site Haritası (HTML sitemap) ------------------------- */
.section-sitemap-links {
   padding-top: calc(var(--gap) * 2);
   padding-bottom: calc(var(--gap) * 3);
}

.sitemap-groups {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
   gap: calc(var(--gap) * 2);
   max-width: 900px;
   margin: 0 auto;
}

.sitemap-group__title {
   font-size: 1rem;
   font-weight: 600;
   margin: 0 0 0.75em;
   text-transform: uppercase;
   letter-spacing: 0.05em;
   color: var(--color-text, #1a1a1a);
}

.sitemap-group__list {
   list-style: none;
   padding: 0;
   margin: 0;
}

.sitemap-group__list li {
   margin-bottom: 0.5em;
}

.sitemap-group__list a {
   text-decoration: none;
}

.sitemap-xml {
   margin-top: calc(var(--gap) * 2);
   text-align: center;
}

/* ------------------------- About page -------------------------------------------------- */
.section-about-hero {
   padding: calc(var(--gap) * 5) 0 calc(var(--gap) * 4);
   text-align: center;
}

.about-hero-inner {
   max-width: 640px;
   margin: 0 auto;
}

.about-hero__eyebrow {
   display: inline-block;
   font-size: 0.7rem;
   font-weight: 600;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   color: var(--color-text, #322018);
   opacity: 0.8;
   margin-bottom: 0.75rem;
}

.about-hero__title {
   font-size: clamp(2rem, 5vw, 3rem);
   font-weight: 400;
   line-height: 1.2;
   margin: 0;
   color: var(--color-text, #322018);
   letter-spacing: -0.02em;
}

.about-hero__intro {
   font-size: 1.05rem;
   line-height: 1.6;
   color: rgba(50, 32, 24, 0.85);
   margin: 1rem 0 0;
   max-width: 520px;
   margin-left: auto;
   margin-right: auto;
}

.about-hero__line {
   width: 56px;
   height: 3px;
   background: #322018;
   margin: calc(var(--gap) * 1.5) auto 0;
   border-radius: 2px;
}

/* About CTA strip */
.section-about-cta {
   padding: calc(var(--gap) * 4) 0;
}

.about-cta-inner {
   text-align: center;
   max-width: 560px;
   margin: 0 auto;
}

.about-cta__title {
   font-size: clamp(1.35rem, 2.5vw, 1.65rem);
   font-weight: 400;
   margin: 0 0 0.75rem;
   color: var(--color-text, #322018);
}

.about-cta__text {
   font-size: 1rem;
   line-height: 1.6;
   color: rgba(50, 32, 24, 0.8);
   margin: 0 0 1.5rem;
}

.about-cta__buttons {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem;
   justify-content: center;
}

.about-cta__buttons .btn {
   text-decoration: none;
}

/* Bloklar: kendi grid yapısı (row/col çakışması yok) */
.section-about-block {
   padding: calc(var(--gap) * 4) 0;
}

.section-about-block--2 {
   background-color: rgba(234, 229, 223, 0.25);
}

.about-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: calc(var(--gap) * 3.5);
   align-items: center;
}

.about-grid__content {
   min-width: 0;
}

.about-grid__media {
   min-width: 0;
}

.about-block-content__inner {
   max-width: 520px;
}

.about-grid--flipped .about-block-content__inner {
   margin-left: auto;
}

.about-block__eyebrow {
   display: inline-block;
   font-size: 0.7rem;
   font-weight: 600;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: var(--color-text, #322018);
   opacity: 0.7;
   margin-bottom: 0.5rem;
}

.about-block__title {
   font-size: clamp(1.5rem, 3vw, 2rem);
   font-weight: 400;
   line-height: 1.3;
   margin: 0 0 1.25rem;
   color: var(--color-text, #322018);
}

.about-block__text {
   font-size: 1rem;
   line-height: 1.72;
   color: rgba(50, 32, 24, 0.88);
   margin-bottom: 1.5rem;
}

.about-block__text p {
   margin: 0 0 1em;
}

.about-block__text p:last-child {
   margin-bottom: 0;
}

.about-block__cta {
   display: inline-block;
   text-decoration: none;
}

.about-block__cta .btn-click {
   transition: transform 0.2s ease, opacity 0.2s ease;
}

.about-block__cta:hover .btn-click {
   transform: translateY(-2px);
   opacity: 0.9;
}

.about-block-image {
   position: relative;
}

.about-block-image__frame {
   position: relative;
   border-radius: 20px;
   overflow: hidden;
   box-shadow: 0 20px 56px rgba(50, 32, 24, 0.12);
   aspect-ratio: 4 / 3;
   background: #eae5df;
}

.about-block-image__img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 0.5s ease;
}

.about-block-image__frame:hover .about-block-image__img {
   transform: scale(1.03);
}

@media screen and (max-width: 1024px) {
   .about-grid {
      gap: calc(var(--gap) * 2);
   }
   .about-block-content__inner {
      max-width: 100%;
   }
   .about-grid--flipped .about-block-content__inner {
      margin-left: 0;
   }
}

@media screen and (max-width: 720px) {
   .section-about-hero {
      padding: calc(var(--gap) * 3.5) 0 calc(var(--gap) * 2);
   }
   .section-about-block {
      padding: calc(var(--gap) * 3) 0;
   }
   .about-grid {
      grid-template-columns: 1fr;
      gap: calc(var(--gap) * 2);
   }
   .about-grid--flipped .about-grid__media {
      order: -1;
   }
   .about-block-image__frame {
      aspect-ratio: 16 / 10;
      border-radius: 16px;
   }
}

/* ------------------------- Sustainability page -------------------------------------------------- */
.section-sustainability-header {
   padding-bottom: 1.5rem;
}

.section-sustainability-reports {
   padding-top: calc(var(--gap) * 2);
   padding-bottom: calc(var(--gap) * 3);
}

.sustainability-reports-head {
   text-align: center;
   margin-bottom: calc(var(--gap) * 2.5);
}

.sustainability-reports-head h2 {
   margin: 0.5em 0 0;
}

.sustainability-report-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
   gap: calc(var(--gap) * 2);
   list-style: none;
   margin: 0;
   padding: 0;
}

.sustainability-report-card-wrap {
   list-style: none;
}

.sustainability-report-card {
   display: flex;
   flex-direction: column;
   align-items: center;
   padding: calc(var(--gap) * 2);
   text-align: center;
   background: #fff;
   border: 1px solid rgba(50, 32, 24, 0.08);
   border-radius: 20px;
   min-height: 100%;
   text-decoration: none;
   color: inherit;
   transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.sustainability-report-card:hover {
   border-color: rgba(50, 32, 24, 0.15);
   box-shadow: 0 12px 40px rgba(50, 32, 24, 0.1);
   transform: translateY(-4px);
}

.sustainability-report-card__icon {
   width: 56px;
   height: 56px;
   margin-bottom: 1rem;
   color: #322018;
   flex-shrink: 0;
}

.sustainability-report-card__icon svg {
   width: 100%;
   height: 100%;
   display: block;
}

.sustainability-report-card__title {
   font-size: 1.15rem;
   font-weight: 600;
   margin: 0 0 1rem;
   color: var(--color-text, #322018);
}

.sustainability-report-card__cta {
   margin-top: auto;
}

.sustainability-empty {
   text-align: center;
   padding: calc(var(--gap) * 3) 1rem;
}

@media screen and (max-width: 575px) {
   .sustainability-report-grid {
      grid-template-columns: 1fr;
      gap: calc(var(--gap) * 1.5);
   }
}

/* ---------- Contact page: cards and form (typography & button aligned with site) ---------- */
.contact-cards {
   display: flex;
   flex-wrap: wrap;
   gap: 2rem;
}

.contact-info-card,
.contact-form-card {
   flex: 1 1 40%;
   min-width: 300px;
   padding: 2rem;
   background: var(--color-white);
   border-radius: 10px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.contact-form-card {
   flex: 1 1 50%;
}

.contact-info-card__title,
.contact-form-card__title {
   font-family: 'Kaftan Serif', serif;
   font-size: 2rem;
   margin: 0 0 1.5rem;
   color: var(--color-dark, #322018);
}

.contact-info-card__intro {
   margin-bottom: 2rem;
   color: var(--color-dark, #322018);
}

.contact-info-item {
   margin-bottom: 1.5rem;
}

.contact-info-item:last-child {
   margin-bottom: 0;
}

.contact-info-item__label {
   display: block;
   font-family: 'Kaftan Serif', serif;
   font-size: 1.2rem;
   margin-bottom: 0.2rem;
   color: var(--color-primary);
}

.contact-info-item__link,
.contact-info-item__text {
   color: var(--color-dark, #322018);
   font-size: 1.1rem;
   line-height: 1.5;
}

.contact-info-item__link {
   text-decoration: none;
   transition: color 0.3s ease;
}

.contact-info-item__link:hover {
   color: var(--color-primary);
}

.contact-form {
   display: flex;
   flex-direction: column;
   gap: 1rem;
}

.contact-form__row {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem;
}

.contact-form__input,
.contact-form__textarea {
   flex: 1 1 45%;
   min-width: 0;
   padding: 1rem;
   border: 1px solid var(--color-border, rgba(50, 32, 24, 0.15));
   border-radius: 10px;
   outline: none;
   background: transparent;
   font-family: inherit;
   font-size: 1rem;
   color: var(--color-dark, #322018);
}

.contact-form__textarea {
   width: 100%;
   min-height: 120px;
   resize: vertical;
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
   color: rgba(50, 32, 24, 0.5);
}

.contact-form__submit {
   align-self: flex-start;
   margin-top: 0.5rem;
   cursor: pointer;
   text-decoration: none;
   /* Butonun arkasında kötü görünen tarayıcı varsayılanını kaldır */
   background: transparent;
   padding: 0;
   border: none;
   outline: none;
   min-width: 0;
   box-shadow: none;
}

.contact-form__submit:focus {
   outline: none;
   box-shadow: none;
}

.contact-form__submit .btn-click {
   transition: transform 0.2s ease, opacity 0.2s ease;
}

.contact-form__submit:hover .btn-click {
   transform: translateY(-2px);
   opacity: 0.9;
}