/* ===========================================================
   Westhouse Göcek — özel ayarlar (tüm sayfalarda en son yüklenir)
   Buton rengi: #439668 (yeşil)
   =========================================================== */

/* Elementor butonları (ör. "İncele") */
.elementor-button,
.elementor-button:link,
.elementor-button:visited {
    background-color: #439668 !important;
    color: #ffffff !important;
    border-color: #439668 !important;
}
.elementor-button:hover,
.elementor-button:focus,
.elementor-button:active {
    background-color: #34794f !important;
    color: #ffffff !important;
    border-color: #34794f !important;
}

/* Tema butonları / form gönder düğmeleri */
input[type=submit],
input[type=button],
a.button,
.button,
.wp-element-button {
    background-color: #439668 !important;
    border-color: #439668 !important;
    color: #ffffff !important;
}
input[type=submit]:hover,
input[type=button]:hover,
a.button:hover,
.button:hover,
.wp-element-button:hover {
    background-color: #34794f !important;
    border-color: #34794f !important;
    color: #ffffff !important;
}

/* Buton metin sarmalayıcısı da beyaz kalsın */
.elementor-button .elementor-button-text { color: #ffffff !important; }

/* ===========================================================
   ODA GRIDLERI (özel tasarım)
   =========================================================== */

/* Ana sayfa: 3x3 grid (tek resim + isim + buton) */
.wh-rooms-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin: 12px 0 40px; width: 100%; }
.wh-room-card { background: #fff; box-shadow: 0 2px 14px rgba(0,0,0,.08); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.wh-room-card:hover { transform: translateY(-5px); box-shadow: 0 10px 28px rgba(0,0,0,.15); }
.wh-room-card__img { display: block; aspect-ratio: 4/3; overflow: hidden; }
.wh-room-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.wh-room-card:hover .wh-room-card__img img { transform: scale(1.06); }
.wh-room-card__body { padding: 18px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.wh-room-card__title { font-family: Oswald, "Jost", sans-serif; font-size: 19px; font-weight: 500; letter-spacing: .5px; text-transform: uppercase; color: #222; margin: 0; }

/* Ortak yeşil buton */
.wh-room-card__btn, .wh-room__btn { display: inline-block; background: #439668; color: #fff !important; padding: 9px 26px; font-family: Oswald, sans-serif; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; text-decoration: none; border-radius: 2px; transition: background .2s; }
.wh-room-card__btn:hover, .wh-room__btn:hover { background: #34794f; }
/* Son satırda tek kalan kart → tam genişlik, resim solda + yazı sağda (yalnız 3-kolon masaüstü) */
@media (min-width: 901px) {
  .wh-room-card--wide { grid-column: 1 / -1; flex-direction: row; align-items: stretch; }
  .wh-room-card--wide .wh-room-card__img { flex: 0 0 62%; width: 62%; aspect-ratio: 16/9; }
  .wh-room-card--wide .wh-room-card__body { flex: 0 0 38%; width: 38%; justify-content: center; gap: 18px; padding: 30px 44px; }
  .wh-room-card--wide .wh-room-card__title { font-size: 26px; }
}

/* Odalarımız: 3 kolon, büyük kapak, kapak→galeri */
.wh-rooms-page { padding-top: 60px; }   /* header ile başlık arasına boşluk */
/* Başlık + grid alt alta dursun (Elementor flex container'ını ez) ve içerik biraz yayılsın */
.wh-rooms-page > .elementor-container { display: block !important; max-width: 1360px; }
.wh-page-head { text-align: center; margin: 0 0 42px; width: 100%; }
.wh-page-title { font-family: Oswald, sans-serif; font-size: 38px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: #222; margin: 0; }
.wh-rooms-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px 26px; margin-bottom: 50px; width: 100%; align-items: start; }
.wh-room { background: #fff; box-shadow: 0 2px 14px rgba(0,0,0,.08); overflow: hidden; display: flex; flex-direction: column; }
.wh-room__media { position: relative; }
.wh-gallery-cover { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; position: relative; aspect-ratio: 1/1; overflow: hidden; }
.wh-gallery-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.wh-gallery-cover:hover img { transform: scale(1.05); }
.wh-gallery-cover::after { content: ""; position: absolute; inset: 0; background: rgba(67,150,104,0); transition: background .25s; }
.wh-gallery-cover:hover::after { background: rgba(67,150,104,.10); }
.wh-gallery-cue { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 7px; background: rgba(0,0,0,.62); color: #fff; padding: 7px 14px; border-radius: 30px; font-family: "Jost", sans-serif; font-size: 13px; letter-spacing: .3px; transition: background .2s; }
.wh-gallery-cover:hover .wh-gallery-cue { background: #439668; }
.wh-room__info { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 12px; }
.wh-room__title { font-family: Oswald, sans-serif; font-size: 23px; font-weight: 500; text-transform: uppercase; letter-spacing: .5px; color: #222; margin: 0; }
.wh-room__desc { color: #555; font-family: "Jost", sans-serif; font-size: 15px; line-height: 1.7; }
.wh-room__desc p { margin: 0 0 9px; }
.wh-room__lead { font-weight: 600; color: #333; }
.wh-room__btn { align-self: flex-start; margin-top: 4px; }
/* Odalarımız: son satırda tek kalan oda → tam genişlik, foto sol + yazı sağ (yalnız 3-kolon masaüstü) */
@media (min-width: 901px) {
  .wh-room--wide { grid-column: 1 / -1; flex-direction: row; align-items: stretch; min-height: 380px; }
  .wh-room--wide .wh-room__media { flex: 0 0 50%; max-width: 50%; }
  .wh-room--wide .wh-gallery-cover { height: 100%; aspect-ratio: auto; }
  .wh-room--wide .wh-room__info { flex: 1; justify-content: center; padding: 32px 46px; }
  .wh-room--wide .wh-room__title { font-size: 27px; }
}

/* Foto Galeri grid */
.wh-gal-cat { font-family: Oswald, sans-serif; font-size: 24px; font-weight: 500; text-transform: uppercase; letter-spacing: .5px; color: #222; text-align: center; margin: 38px 0 18px; }
.wh-gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0 0 26px; width: 100%; }
.wh-gal-thumb { padding: 0; border: 0; background: none; cursor: pointer; aspect-ratio: 1/1; overflow: hidden; position: relative; }
.wh-gal-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.wh-gal-thumb:hover img { transform: scale(1.07); }
.wh-gal-thumb::after { content: ""; position: absolute; inset: 0; background: rgba(67,150,104,0); transition: background .25s; }
.wh-gal-thumb:hover::after { background: rgba(67,150,104,.15); }

@media (max-width: 900px) { .wh-rooms-grid, .wh-rooms-list { grid-template-columns: repeat(2, 1fr); } .wh-gallery-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .wh-rooms-grid, .wh-rooms-list { grid-template-columns: 1fr; } .wh-gallery-grid { grid-template-columns: repeat(2, 1fr); } }

/* Lightbox */
.wh-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.92); z-index: 99999; display: none; align-items: center; justify-content: center; }
.wh-lightbox.open { display: flex; }
.wh-lb-img { max-width: 88vw; max-height: 86vh; object-fit: contain; box-shadow: 0 6px 40px rgba(0,0,0,.5); }
.wh-lb-close, .wh-lb-prev, .wh-lb-next { position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0; cursor: pointer; line-height: 1; width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 26px; transition: background .2s; }
.wh-lb-close:hover, .wh-lb-prev:hover, .wh-lb-next:hover { background: #439668; }
.wh-lb-close { top: 22px; right: 26px; font-size: 34px; }
.wh-lb-prev { left: 22px; top: 50%; transform: translateY(-50%); }
.wh-lb-next { right: 22px; top: 50%; transform: translateY(-50%); }
.wh-lb-count { position: absolute; bottom: 24px; left: 0; right: 0; text-align: center; color: #fff; font-family: "Jost", sans-serif; font-size: 14px; letter-spacing: 1px; }

/* ===========================================================
   Rezervasyon motoru (HotelRunner) — beyaz zeminde kaybolmasın
   =========================================================== */
.elementor-element-191e830 { background: #f2f4f6; padding: 28px 0; }
.elementor-element-7bf5c9b > .elementor-widget-container {
  background: #ffffff;
  border: 1px solid #e3e6ea;
  border-radius: 8px;
  box-shadow: 0 6px 22px rgba(0,0,0,.10);
  padding: 16px 18px;
}

/* ===========================================================
   Premium hero slider (sabit en-boy + crossfade + Ken Burns)
   =========================================================== */
body { overflow-x: hidden; }
/* Stretched section'lar Elementor JS ile genişlik alıp mobilde taşıyor — sıfırla (normal tam-genişlik blok) */
.elementor-section.elementor-section-stretched { width: auto !important; left: auto !important; right: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
/* Hero: tam genişlik JS ile ayarlanır (fit) — CSS sadece güvenli fallback (boxed, görünür) */
.wh-hero { position: relative; width: 100%; height: clamp(400px, 78vh, 820px); overflow: hidden; background: #0e0e0e; }
.wh-hero__track { position: absolute; inset: 0; }
.wh-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s ease; }
.wh-hero__slide.is-active { opacity: 1; z-index: 1; }
.wh-hero__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wh-hero__slide.is-active img { animation: whKenBurns 7s ease-out both; }
@keyframes whKenBurns { from { transform: scale(1.001); } to { transform: scale(1.09); } }
.wh-hero::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,0) 24%, rgba(0,0,0,0) 66%, rgba(0,0,0,.34)); }
.wh-hero__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255,255,255,.16); color: #fff; font-size: 18px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .25s, opacity .25s; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; }
.wh-hero:hover .wh-hero__nav { opacity: 1; }
.wh-hero__nav:hover { background: #439668; }
.wh-hero__prev { left: 20px; } .wh-hero__next { right: 20px; }
.wh-hero__dots { position: absolute; bottom: 18px; left: 0; right: 0; z-index: 3; display: flex; gap: 9px; justify-content: center; }
.wh-hero__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.55); cursor: pointer; transition: all .25s; }
.wh-hero__dot.is-active { background: #fff; width: 26px; border-radius: 6px; }
@media (max-width: 768px) { .wh-hero { height: clamp(320px, 62vh, 560px); } .wh-hero__nav { width: 38px; height: 38px; opacity: 1; } }
