
/* Selimiye visual interaction layer — static Cloudflare build, mobile safe */
:root{--motion-ease:cubic-bezier(.22,.8,.2,1)}
html{scroll-behavior:smooth}
body{overflow-x:hidden}

/* Hero: sharper rendering + visible Ken Burns motion without changing layout */
.hero-media{contain:paint;isolation:isolate}
.hero-media-layer{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-origin:center center;will-change:opacity,transform;background-repeat:no-repeat}
.hero-media-layer.active{animation:selimiyeHeroKenBurns 9s var(--motion-ease) both}
.hero-media-layer.single{animation:selimiyeHeroKenBurns 12s ease-in-out infinite}
@keyframes selimiyeHeroKenBurns{0%{transform:scale(1.025) translate3d(0,0,0)}50%{transform:scale(1.065) translate3d(-.35%,.15%,0)}100%{transform:scale(1.025) translate3d(0,0,0)}}
.hero-dots{position:absolute;right:22px;bottom:22px;z-index:4;display:flex;gap:7px}
.hero-dot{width:8px;height:8px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(255,255,255,.25);padding:0;cursor:pointer;transition:transform .25s ease,background .25s ease}
.hero-dot.active{background:#fff;transform:scale(1.25)}

/* Review columns inspired by the supplied TestimonialsColumn component. */
.review-section{overflow:hidden}
.review-grid{align-items:start}
.review-card.review-column-card{padding:20px;overflow:hidden}
.review-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;height:560px;overflow:hidden;margin-top:16px;mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent)}
.review-column{min-width:0;overflow:hidden}
.review-column-track{display:flex;flex-direction:column;gap:12px;padding-bottom:12px}
.review-column-track-static{animation:reviewFloat 5s ease-in-out infinite;animation-delay:calc(var(--review-index,0) * -1.2s);will-change:transform}
.review-column-card-item{background:#fffdf8;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(23,51,58,.07);min-width:0}
.review-column-card-item p{margin:9px 0 0;color:var(--muted);line-height:1.6;font-size:13px}
.review-column-card-item .review-person{display:flex;align-items:center;gap:10px;margin-top:14px}
.review-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#17333a;color:#fff;font-size:12px;font-weight:700;flex:none}
.review-person strong{display:block;font-size:12px}
.review-person span{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.review-empty{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:13px}
@keyframes reviewColumnLoop{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.review-column:hover .review-column-track{animation-play-state:paused}

/* Scroll reveal: lightweight equivalent of the supplied scroll-animation idea. */
[data-scroll-reveal]{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .7s ease,transform .7s var(--motion-ease)}
[data-scroll-reveal].is-visible{opacity:1;transform:none}
.scroll-stage{perspective:1000px}
[data-scroll-card]{transform-origin:center top;transition:transform .12s linear;will-change:transform}

/* Gallery: the ENTIRE photo area is a swipe target, not only a top strip. */
.room-gallery-main{touch-action:pan-y!important;overscroll-behavior:contain;cursor:grab}
.room-gallery-main.dragging{cursor:grabbing}
.room-gallery-stack{touch-action:pan-y!important;pointer-events:none}
.room-gallery-drag-surface{display:none!important}
.room-gallery-card{transition:transform .38s var(--motion-ease),opacity .3s ease,box-shadow .3s ease;pointer-events:none}
.room-gallery-main .room-gallery-prev,.room-gallery-main .room-gallery-next{touch-action:manipulation}
.room-gallery-hint{transition:opacity .3s ease}
.room-gallery-main.swipe-active .room-gallery-hint{opacity:.35}
@media(max-width:760px){
  .hero-media-layer.active{animation-duration:10s}
  .hero-dots{right:14px;bottom:14px}
  .review-columns{grid-template-columns:1fr;height:500px}
  .review-column:nth-child(2),.review-column:nth-child(3){display:none}
  .review-column-track{--review-duration:20s!important}
  .review-column:hover .review-column-track{animation-play-state:running}
  .room-gallery-main{height:66vh;min-height:360px;cursor:grab}
  .room-gallery-card{width:min(78vw,360px);height:min(57vh,500px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-media-layer.active,.hero-media-layer.single{animation:none!important}
  [data-scroll-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .review-column-track{animation:none!important}
}

/* Safe page transitions for a static site; no dependency on React/Next. */
html.site-transition-ready{opacity:1}
html.site-transition-leaving{opacity:0;transition:opacity .26s ease}
@media(prefers-reduced-motion:reduce){html.site-transition-leaving{transition:none!important}}


/* Mobile reliability overrides */
html,body{opacity:1!important;visibility:visible!important;overflow-x:hidden!important;width:100%;max-width:100%;}
.review-column-track-static .review-column-card-item{animation:reviewCardIn .55s ease both;}
.review-column-track-static .review-column-card-item:nth-child(2){animation-delay:.08s}
.review-column-track-static .review-column-card-item:nth-child(3){animation-delay:.16s}
@keyframes reviewFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes reviewCardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:767px){
  .review-columns{display:block;height:auto;max-height:none;overflow:visible;mask-image:none;margin-top:14px;}
  .review-column{overflow:visible;margin-bottom:12px;}
  .review-column:nth-child(n+2){display:none;}
  .review-column-track-static{animation:reviewFloat 5.5s ease-in-out infinite;}
  .review-column-card-item{padding:16px;border-radius:16px;}
  .room-gallery-main,.room-gallery-stack{touch-action:pan-y!important;}
  .site-utility{max-width:calc(100vw - 20px);}
}
@media(prefers-reduced-motion:reduce){.review-column-track-static,.review-column-track-static .review-column-card-item{animation:none!important}}
