/*
 * Asr-ı A'lâ referans temasının CMS entegrasyon katmanı.
 * Orijinal görünüm fe/css dosyalarından gelir; bu dosya yalnızca
 * dinamik CMS içeriği, form alanları ve kesin Poppins kullanımı içindir.
 */
:root {
  --bs-font-sans-serif: 'Poppins', sans-serif !important;
  --bs-body-font-family: 'Poppins', sans-serif !important;
  --bs-font-monospace: 'Poppins', sans-serif !important;
}

html,
body,
body *,
body *::placeholder,
body input,
body button,
body select,
body textarea,
body optgroup,
body option {
  font-family: 'Poppins', sans-serif !important;
}

/* Yalnızca ikon glifleri kendi ikon fontunu kullanır; görünür metinlerin tamamı Poppins'tir. */
body .bi::before,
body [class^='bi-']::before,
body [class*=' bi-']::before {
  font-family: 'bootstrap-icons' !important;
}
body .swiper-button-next::after,
body .swiper-button-prev::after {
  font-family: 'swiper-icons' !important;
}

body { overflow-x: hidden; }
img { max-width: 100%; }

.logo {
  width: auto;
  max-width: 300px;
  object-fit: contain;
}
.footer-logo { object-fit: contain; }

.nav-link.active { color: var(--bs-primary) !important; }

.room-home-card {
  min-height: 360px;
  overflow: hidden;
  border-radius: .375rem;
}
.room-home-card > img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}
.room-card-reference { min-height: 330px; }
.room-main-image {
  width: 100%;
  max-height: 760px;
  object-fit: cover;
}
.room-thumb {
  height: 175px !important;
  min-height: 175px;
}
.room-info-box img { width: 30px; height: 30px; object-fit: contain; }

.service-detail-image,
.about-overlap-image,
.pool-overlap-image {
  width: 300px;
  height: 300px;
  object-fit: cover;
}
.service-list-item { transition: transform .2s ease, background-color .2s ease; }
.service-list-item:hover { transform: translateY(-3px); background: rgba(255,255,255,.55); }

.cms-content,
.dynamic-page-content {
  line-height: 1.85;
}
.cms-content p:last-child,
.dynamic-page-content p:last-child { margin-bottom: 0; }
.cms-content img,
.dynamic-page-content img { max-width: 100%; height: auto; border-radius: .375rem; }
.cms-content table,
.dynamic-page-content table { width: 100%; display: block; overflow-x: auto; border-collapse: collapse; }
.cms-content td,
.cms-content th,
.dynamic-page-content td,
.dynamic-page-content th { padding: .75rem; border: 1px solid #e8e2da; }

.gallery-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .3s ease;
}
.gallery-item { transition: opacity .2s ease, transform .2s ease; }
.gallery-item.is-hidden { display: none; }
.gallery-item a { display: block; overflow: hidden; border-radius: .375rem; }
.gallery-item a:hover .gallery-thumb { transform: scale(1.035); }
.gallery-filter .btn { font-size: .9rem; }

.form-floating > textarea.form-control { min-height: 140px; }
.form-control::placeholder { color: transparent; }
.map-embed iframe { width: 100% !important; height: 100% !important; border: 0; }

#sabitiletisim { display: none; }
.mobilcalltoaction {
  display: none;
  position: fixed;
  bottom: 9%;
  left: 0;
  padding: 5px 10px;
  width: 100%;
  z-index: 1000;
  pointer-events: none;
}
.mobilcalltoaction a { pointer-events: auto; display: inline-block; }
.mobilcalltoaction img { width: 54px; height: 54px; object-fit: contain; }

@media (max-width: 1199.98px) {
  .header-actions > a:first-child { display: none !important; }
  .logo { max-width: 210px; height: 62px; }
}

@media (max-width: 767.98px) {
  body { padding-bottom: 68px; }
  .top-contact-bar { display: none; }
  .header-actions .btn { font-size: .72rem; padding-left: .65rem !important; padding-right: .65rem !important; }
  .logo { max-width: 150px; height: 58px; }
  .h-500px { height: 340px !important; }
  .room-home-card,
  .room-home-card > img { min-height: 260px; }
  .room-card-reference { min-height: 280px; }
  .service-detail-image,
  .about-overlap-image,
  .pool-overlap-image {
    position: relative !important;
    inset: auto !important;
    margin: 0 auto 1rem !important;
    width: 100%;
    height: 280px;
    max-width: 100% !important;
  }
  #sabitiletisim {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1050;
  }
  .iletisim-alan { display: flex; width: 100%; }
  .iletisim-buton {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    text-decoration: none;
    color: #fff;
    font-weight: 700;
    padding: 15px;
    font-size: 1.45rem;
  }
  .iletisim-buton.ara { background-color: #3f77b5; }
  .iletisim-buton.whatsapp { background-color: #c39c64; }
  .mobilcalltoaction { display: block; }
}


/* Görsel + metin ana sayfa bölümü: normal belge akışı, koordinatsız. */
.cms-content-section{background:var(--cms-section-bg);color:var(--cms-section-text);overflow:hidden}
.cms-content-section-row{min-height:clamp(420px,var(--cms-section-min-height),900px)}
.cms-content-section-image{width:100%;height:clamp(320px,42vw,620px);overflow:hidden;border-radius:.5rem;box-shadow:0 18px 45px rgba(10,42,56,.16)}
.cms-content-section-image img{display:block;width:100%;height:100%;object-fit:cover}
.cms-content-section-text{color:var(--cms-section-text);padding:clamp(.5rem,2vw,2rem)}
.cms-content-section-text h2{color:inherit;font-size:clamp(1.8rem,4vw,4rem);line-height:1.08;margin-bottom:1.2rem}
.cms-content-section-text .cms-content{color:inherit;font-size:clamp(.95rem,1.3vw,1.15rem)}
.footer-dinamik-menu{row-gap:.65rem!important}
@media(max-width:767.98px){
  .cms-content-section-row{min-height:0}
  .cms-content-section-image{height:300px}
  .cms-content-section-text{padding:1rem .25rem}
}

/* Footer bloklarında ziyaretçi tarafında iç scrollbar oluşmaz. Footer'ın
   yönetilebilir koordinatları korunur; uzun iletişim metinleri satıra kırılır. */
@media (min-width:992px){
  .footer-layout-shell{overflow:hidden!important}
  .footer-layout-stage{overflow:hidden!important}
  .footer-layout-item,.footer-layout-block{min-width:0!important;overflow:hidden!important}
  .footer-layout-contact .footer-layout-block{padding-left:.35rem!important;padding-right:.35rem!important}
  .footer-layout-contact p,.footer-layout-contact a{max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important}
  .footer-layout-link-list{overflow:hidden!important;align-content:center}
  .footer-layout-copyright small,.footer-layout-design small{white-space:normal;line-height:1.3}
}

/* Referans ZIP'teki iki satırlı header: 50px + 90px, doğrudan body akışında. */
.cms-inline-icon{display:block;flex:0 0 auto;overflow:visible;vertical-align:middle}
.cms-reference-topbar{position:relative!important;z-index:1032!important;width:100%!important;height:50px!important;min-height:50px!important;margin:0!important;background:#fff!important;overflow:visible!important}
.cms-reference-topbar-inner{display:grid!important;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr)!important;align-items:center!important;height:50px!important;min-height:50px!important}
.cms-reference-address{display:flex!important;align-items:center!important;gap:.55rem!important;min-width:0!important;color:#707070!important;font-size:.78rem!important;line-height:1.25!important}
.cms-reference-address small,.cms-reference-email small{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.cms-reference-address .cms-inline-icon,.cms-reference-email .cms-inline-icon{color:var(--bs-primary)!important}
.cms-reference-social{display:flex!important;align-items:center!important;justify-content:center!important;height:50px!important}
.cms-reference-social>a{display:flex!important;align-items:center!important;justify-content:center!important;width:50px!important;min-width:50px!important;height:50px!important;color:#1a1b1b!important;text-decoration:none!important;background:#fff!important;border-left:1px solid var(--bs-border-color)!important}
.cms-reference-social>a:last-child{border-right:1px solid var(--bs-border-color)!important}
.cms-reference-social>a:hover{color:var(--bs-primary)!important}
.cms-reference-topbar-right{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:1rem!important;min-width:0!important;height:50px!important}
.cms-reference-flags{display:flex!important;align-items:center!important;gap:.5rem!important;flex:0 0 auto!important}
.cms-reference-flag,.cms-reference-flag-svg{display:block!important;width:22px!important;height:15px!important;flex:0 0 22px!important}
.cms-reference-email{display:flex!important;align-items:center!important;gap:.5rem!important;min-width:0!important;color:#1a1b1b!important;font-size:.78rem!important;line-height:1!important;text-decoration:none!important}
.cms-reference-email:hover{color:var(--bs-primary)!important}
.cms-reference-mainbar{position:sticky!important;top:0!important;z-index:1031!important;width:100%!important;height:90px!important;min-height:90px!important;margin:0!important;padding:0!important;background:#fff!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important}
.cms-reference-mainbar-inner{display:grid!important;grid-template-columns:300px minmax(0,1fr) auto!important;column-gap:36px!important;align-items:center!important;width:100%!important;height:90px!important;min-height:90px!important;overflow:visible!important}
.cms-reference-logo{display:flex!important;align-items:center!important;width:300px!important;max-width:300px!important;height:90px!important;min-width:0!important;overflow:visible!important;text-decoration:none!important}
.cms-reference-logo img,body.sticky .cms-reference-logo img{display:block!important;width:300px!important;max-width:100%!important;height:77px!important;max-height:77px!important;object-fit:contain!important;object-position:left center!important}
.cms-reference-navigation{display:block!important;min-width:0!important;width:100%!important;height:90px!important;overflow:visible!important}
.cms-reference-menu{display:flex!important;align-items:stretch!important;justify-content:flex-start!important;flex-wrap:nowrap!important;width:100%!important;height:90px!important;margin:0!important;padding:0!important;overflow:visible!important;list-style:none!important}
.cms-reference-menu>.nav-item{position:relative!important;display:flex!important;align-items:stretch!important;flex:0 0 auto!important;height:90px!important;margin:0!important;padding:0!important;overflow:visible!important}
.cms-reference-menu .nav-link{display:flex!important;align-items:center!important;justify-content:center!important;gap:.3rem!important;height:90px!important;margin:0!important;padding:0 .55rem!important;color:#1a1b1b!important;font-size:.82rem!important;font-weight:400!important;line-height:1.2!important;white-space:nowrap!important;text-decoration:none!important}
.cms-reference-menu .nav-link:hover,.cms-reference-menu .nav-link:focus,.cms-reference-menu .nav-link.active{color:var(--bs-primary)!important}
.cms-reference-menu .cms-submenu-toggle{border:0!important;background:transparent!important}
.cms-reference-menu .cms-submenu-toggle::before,.cms-reference-menu .cms-submenu-toggle::after{display:none!important;content:none!important}
.cms-reference-menu .cms-submenu-toggle .cms-inline-icon{display:block!important;width:10px!important;height:10px!important;flex:0 0 10px!important;transition:transform .16s ease!important}
.cms-reference-menu .dropdown.show>.cms-submenu-toggle .cms-inline-icon{transform:rotate(180deg)!important}
.cms-reference-menu .dropdown-menu{display:none;position:absolute!important;inset:auto auto auto 0!important;top:100%!important;left:0!important;right:auto!important;transform:none!important;width:max-content!important;min-width:230px!important;max-width:360px!important;max-height:min(60vh,480px)!important;margin:0!important;padding:.45rem 0!important;overflow-x:hidden!important;overflow-y:auto!important;background:#fff!important;border:1px solid rgba(15,57,73,.12)!important;border-top:2px solid var(--bs-primary)!important;border-radius:0 0 .35rem .35rem!important;box-shadow:0 18px 38px rgba(10,42,56,.18)!important;z-index:1055!important}
.cms-reference-menu .dropdown:hover>.dropdown-menu,.cms-reference-menu .dropdown:focus-within>.dropdown-menu,.cms-reference-menu .dropdown-menu.show{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important}
.cms-reference-menu>.nav-item:nth-last-child(-n+2)>.dropdown-menu{left:auto!important;right:0!important}
.cms-reference-menu .dropdown-item{padding:.72rem 1rem!important;color:#34383b!important;font-size:.84rem!important;line-height:1.35!important;white-space:normal!important;border-bottom:1px solid rgba(15,57,73,.055)!important}
.cms-reference-menu li:last-child>.dropdown-item{border-bottom:0!important}
.cms-reference-menu .dropdown-item:hover,.cms-reference-menu .dropdown-item:focus{color:#8d6d3e!important;background:rgba(var(--bs-primary-rgb),.1)!important}
.cms-reference-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:1rem!important;min-width:0!important;height:90px!important;white-space:nowrap!important}
.cms-reference-phone{display:flex!important;align-items:center!important;gap:.5rem!important;color:#1a1b1b!important;font-size:.82rem!important;text-decoration:none!important;white-space:nowrap!important}
.cms-reference-phone:hover{color:var(--bs-primary)!important}
.cms-reference-reservation{display:flex!important;align-items:center!important;justify-content:center!important;min-width:145px!important;width:145px!important;height:40px!important;margin:0!important;padding:0 1rem!important;font-size:.78rem!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;color:#fff!important;background:var(--bs-primary,#c39c64)!important}
body.sticky .cms-reference-mainbar{height:90px!important;min-height:90px!important;background:#fff!important}
.home-desktop-slider{position:relative!important;top:auto!important;margin-top:0!important;transform:none!important;z-index:0!important}

@media (min-width:1200px) and (max-width:1399.98px){
  .cms-reference-topbar-inner,.cms-reference-mainbar-inner{padding-right:20px!important;padding-left:20px!important}
  .cms-reference-mainbar-inner{grid-template-columns:300px minmax(0,1fr) auto!important;column-gap:36px!important}
  .cms-reference-logo{width:300px!important;max-width:300px!important}
  .cms-reference-logo img,body.sticky .cms-reference-logo img{width:300px!important}
  .cms-reference-menu .nav-link{gap:.24rem!important;padding-right:.55rem!important;padding-left:.55rem!important;font-size:.8rem!important}
  .cms-reference-actions{gap:.7rem!important}
  .cms-reference-phone{gap:.38rem!important;font-size:.76rem!important}
  .cms-reference-reservation{min-width:145px!important;width:145px!important;padding-right:.75rem!important;padding-left:.75rem!important;font-size:.72rem!important}
}

@media (min-width:1200px) and (max-width:1249.98px){
  .cms-reference-mainbar-inner{grid-template-columns:270px minmax(0,1fr) auto!important;column-gap:.65rem!important}
  .cms-reference-logo{width:250px!important;max-width:250px!important}
  .cms-reference-logo img,body.sticky .cms-reference-logo img{width:250px!important}
  .cms-reference-menu .nav-link{gap:.18rem!important;padding-right:.23rem!important;padding-left:.23rem!important;font-size:.7rem!important}
  .cms-reference-actions{gap:.5rem!important}
  .cms-reference-phone{gap:.28rem!important;font-size:.7rem!important}
  .cms-reference-reservation{min-width:142px!important;padding-right:.55rem!important;padding-left:.55rem!important;font-size:.68rem!important}
}

/* Görsel footer yerleşimi — masaüstünde temiz ve dengeli iskelet. */
.footer-layout-shell{position:relative;overflow:hidden;background:var(--bs-secondary)}
.footer-layout-stage{position:relative;width:min(calc(100% - 48px),1440px);margin:0 auto;overflow:hidden;background:transparent}
.footer-layout-white-zone{position:absolute;left:0;bottom:0;width:100%;height:18%;transform:none;background:#fff;z-index:1}
.footer-layout-item{position:absolute;display:flex;align-items:center;min-width:0;min-height:0;overflow:hidden}
.footer-layout-block{width:100%;height:100%;min-width:0;overflow:hidden;color:#fff;padding:.25rem .35rem}
.footer-layout-logo{display:block;width:min(100%,300px);height:auto;max-height:72px;object-fit:contain;object-position:left center;margin-bottom:1rem}
.footer-layout-block p{color:rgba(255,255,255,.78);margin:0 0 .65rem;line-height:1.55;font-size:.93rem}
.footer-layout-block a{color:inherit;text-decoration:none}
.footer-layout-title{font-size:clamp(1.15rem,1.7vw,1.6rem);color:#fff;margin-bottom:1rem;font-weight:500}
.footer-layout-socials{display:flex;gap:.5rem;margin-top:.9rem}
.footer-layout-socials a{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:color .18s,border-color .18s,background .18s}
.footer-layout-socials a:hover{color:var(--bs-primary);border-color:var(--bs-primary);background:rgba(255,255,255,.05)}
.footer-layout-newsletter-form{display:flex;border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:4px}
.footer-layout-newsletter-form input{flex:1;min-width:0;background:transparent;border:0;color:#fff;padding:.55rem .8rem;outline:none}
.footer-layout-newsletter-form input::placeholder{color:rgba(255,255,255,.8)}
.footer-layout-newsletter-form button{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:var(--bs-primary);color:#fff;display:flex;align-items:center;justify-content:center}
.footer-layout-etbis{justify-content:center;padding:.25rem}
.footer-layout-etbis img{max-width:100%;max-height:100%;object-fit:contain}
.footer-layout-link-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:.7rem 1.35rem;flex-wrap:wrap;width:100%;max-height:100%;overflow:hidden}
.footer-layout-link-list a{color:#fff;text-decoration:none;font-size:.91rem;transition:color .18s}
.footer-layout-link-list a:hover{color:var(--bs-primary)}
.footer-layout-payment{justify-content:center;padding:.1rem}
.footer-layout-payment img{max-width:100%;max-height:100%;object-fit:contain}
.footer-layout-copyright,.footer-layout-design{color:#222;align-items:center}
.footer-layout-design{justify-content:flex-end;text-align:right}
.footer-layout-copyright small,.footer-layout-design small{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem}

@media(max-width:1399.98px){.footer-layout-stage{width:min(calc(100% - 32px),1320px)}}
@media(max-width:991.98px){.footer-layout-shell{display:none!important}}

/* Anasayfa görsel düzenleyici: öğe bazlı serbest konumlar.
   Individual translate özelliği mevcut transform/Swiper davranışını bozmaz. */
[data-home-positioned="1"]{
  translate:var(--cms-home-x-d,0px) var(--cms-home-y-d,0px);
  z-index:var(--cms-home-z-d,1);
}
@media (max-width:991.98px){
  [data-home-positioned="1"]{
    translate:var(--cms-home-x-t,0px) var(--cms-home-y-t,0px);
    z-index:var(--cms-home-z-t,1);
  }
}
@media (max-width:575.98px){
  [data-home-positioned="1"]{
    translate:var(--cms-home-x-m,0px) var(--cms-home-y-m,0px);
    z-index:var(--cms-home-z-m,1);
  }
}
