/* Modular homepage section layout */
.homepage-modular{
  width:100%;
  overflow:hidden;
}
.homepage-modular .homepage-module-content{
  margin-top:0!important;
  padding-top:70px;
  padding-bottom:70px;
}
.homepage-modular .homepage-module-content + .homepage-module-content{
  border-top:0 solid transparent;
}
.homepage-modular .homepage-module-slider + .homepage-module-content{
  padding-top:58px;
}
.homepage-modular .homepage-module-services{
  padding-right:0;
  padding-left:0;
}
.homepage-modular .homepage-module-gallery{
  box-sizing:border-box;
  width:100%;
  max-width:1740px;
  margin:28px auto 0!important;
  padding-top:72px;
  padding-bottom:72px;
  overflow:hidden;
}
.homepage-gallery-inner{
  box-sizing:border-box;
  width:100%;
  max-width:none;
  padding-right:24px;
  padding-left:24px;
}
.homepage-gallery-copy{
  width:100%;
  max-width:760px;
  min-width:0;
  margin:0 0 30px;
}
.homepage-gallery-copy h2,
.homepage-gallery-copy p{
  width:100%;
  max-width:100%;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
}
.homepage-gallery-slide{
  width:400px!important;
  height:300px!important;
  flex:0 0 400px;
}
.homepage-gallery-slide>a,
.homepage-gallery-image{
  display:block;
  width:100%;
  height:100%;
}
.homepage-gallery-image{
  object-fit:cover;
  object-position:center;
}
.homepage-page-promo-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:38px 42px;
  border:1px solid rgba(35,49,44,.08);
  border-radius:22px;
  background:#f6f3ee;
}
.homepage-page-promo-card>div{
  max-width:820px;
}
.homepage-page-promo-card h2,
.homepage-text-card h2{
  margin:0 0 12px;
}
.homepage-page-promo-card p,
.homepage-text-card p{
  margin:0;
  color:#626b67;
  line-height:1.75;
}
.homepage-module-eyebrow{
  display:block;
  margin-bottom:8px;
  color:#b78947;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}
.homepage-text-card{
  max-width:900px;
  margin:0 auto;
}

@media(max-width:991.98px){
  .homepage-modular .homepage-module-content{
    padding-top:52px;
    padding-bottom:52px;
  }
  .homepage-page-promo-card{
    align-items:flex-start;
    flex-direction:column;
    padding:30px;
  }
}

@media(max-width:767.98px){
  .homepage-modular .homepage-module-content{
    padding-top:40px;
    padding-bottom:40px;
  }
  .homepage-modular .homepage-module-slider + .homepage-module-content{
    padding-top:38px;
  }
  .homepage-modular .homepage-module-gallery{
    margin-top:16px!important;
    padding-top:48px;
    padding-bottom:48px;
  }
  .homepage-gallery-inner{
    padding-right:16px;
    padding-left:16px;
  }
  .homepage-gallery-copy{
    max-width:100%;
    margin-bottom:22px;
  }
  .homepage-gallery-slide{
    width:280px!important;
    height:210px!important;
    flex-basis:280px;
  }
  .homepage-page-promo-card{
    padding:24px 20px;
    border-radius:17px;
  }
  .homepage-page-promo-card .btn{
    width:100%;
    text-align:center;
  }
}

/* Newsletter follows the last modular homepage block without legacy negative overlap. */
.footer-newsletter-after-homepage{
  margin-top:32px!important;
}
@media(max-width:767.98px){
  .footer-newsletter-after-homepage{
    margin-top:24px!important;
  }
}

/* Homepage room cards: every uploaded image uses the same first-card 3:2 ratio. */
.homepage-module-rooms .homepage-room-image-frame{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:3 / 2;
  background:#eee;
}

.homepage-module-rooms .homepage-room-image{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
}

@supports not (aspect-ratio:3 / 2){
  .homepage-module-rooms .homepage-room-image-frame{
    height:0;
    padding-bottom:66.6667%;
  }

  .homepage-module-rooms .homepage-room-image{
    position:absolute;
    inset:0;
  }
}

/* Homepage hero slider:
   desktop keeps the existing full-screen cover design;
   mobile always shows the complete uploaded image without cropping. */
@media(max-width:767.98px){
  .homepage-modular .homepage-module-slider.home-desktop-slider{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden;
  }

  .homepage-modular .homepage-module-slider #home-slider,
  .homepage-modular .homepage-module-slider #home-slider .swiper-wrapper,
  .homepage-modular .homepage-module-slider #home-slider .swiper-slide{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .homepage-modular .homepage-module-slider #home-slider .swiper-slide{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    background:#fff;
  }

  .homepage-modular .homepage-module-slider .homepage-hero-slider-image{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    flex:0 0 auto;
  }

  .homepage-modular .homepage-module-slider .slide-text-area{
    pointer-events:none;
  }
}

/* ----------------------------------------------------------
   Modular homepage copy blocks
---------------------------------------------------------- */
.homepage-modular .homepage-module-copy{
  width:100%;
  min-width:0;
}
.homepage-modular .homepage-section-eyebrow{
  display:block;
  margin-bottom:10px;
  color:#b98543;
  font-size:11px;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.homepage-modular .homepage-section-description{
  width:100%;
  max-width:920px;
  margin-right:auto;
  margin-left:auto;
  line-height:1.7;
}
.homepage-modular .homepage-module-copy-left .homepage-section-description{
  margin-left:0;
}

/* ----------------------------------------------------------
   All modular homepage sections - mobile layout
---------------------------------------------------------- */
@media(max-width:767.98px){
  .homepage-modular{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .homepage-modular .homepage-module-content{
    width:100%;
    max-width:100%;
    padding-top:38px!important;
    padding-bottom:38px!important;
    overflow:hidden;
  }

  .homepage-modular .homepage-module-content>.container,
  .homepage-modular .homepage-module-content>.large-container,
  .homepage-modular .homepage-module-gallery,
  .homepage-modular .homepage-gallery-inner{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .homepage-modular .homepage-module-content>.container,
  .homepage-modular .homepage-module-content .container,
  .homepage-modular .homepage-gallery-inner{
    padding-right:16px!important;
    padding-left:16px!important;
  }

  .homepage-modular .homepage-module-copy,
  .homepage-modular .homepage-gallery-copy{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    text-align:left!important;
  }

  .homepage-modular .homepage-module-copy.text-center,
  .homepage-modular .homepage-module-video .homepage-module-copy,
  .homepage-modular .homepage-module-services .homepage-module-copy,
  .homepage-modular .homepage-module-discover .homepage-module-copy,
  .homepage-modular .homepage-module-meeting .homepage-module-copy{
    text-align:center!important;
  }

  .homepage-modular .homepage-module-copy h2,
  .homepage-modular .homepage-gallery-copy h2{
    width:100%;
    max-width:100%;
    margin-bottom:14px!important;
    font-size:clamp(30px,9vw,42px)!important;
    line-height:1.12!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }

  .homepage-modular .homepage-module-copy p,
  .homepage-modular .homepage-gallery-copy p{
    width:100%;
    max-width:100%;
    font-size:14px!important;
    line-height:1.65!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }

  .homepage-modular .homepage-section-eyebrow{
    margin-bottom:8px;
    font-size:10px;
  }

  /* Video */
  .homepage-modular .homepage-module-video .row{
    --bs-gutter-x:0;
  }
  .homepage-modular .homepage-module-video .local-video-wrapper,
  .homepage-modular .homepage-module-video .local-video-player{
    width:100%!important;
    max-width:100%!important;
  }

  /* Services slider */
  .homepage-modular .homepage-module-services .container-fluid{
    margin-top:28px!important;
  }
  .homepage-modular .homepage-module-services .ea-swiper{
    height:340px!important;
    min-height:340px!important;
  }
  .homepage-modular .homepage-module-services .swiper-slide{
    width:82vw!important;
    max-width:330px!important;
    min-width:250px!important;
  }
  .homepage-modular .homepage-module-services .slide-content-area{
    padding:18px!important;
  }
  .homepage-modular .homepage-module-services .subtitle-responsive{
    font-size:18px!important;
    line-height:1.25!important;
  }

  /* Rooms */
  .homepage-modular .homepage-module-rooms .large-container{
    padding-right:16px!important;
    padding-left:16px!important;
  }
  .homepage-modular .homepage-module-rooms .row{
    --bs-gutter-x:16px;
    --bs-gutter-y:16px;
  }
  .homepage-modular .homepage-module-rooms .homepage-room-image-frame{
    width:100%!important;
    aspect-ratio:3/2!important;
  }
  .homepage-modular .homepage-module-rooms .homepage-room-image{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .homepage-modular .homepage-module-rooms .btn{
    right:10px!important;
    bottom:10px!important;
    max-width:calc(100% - 20px);
    padding:7px 10px!important;
    font-size:11px!important;
    white-space:normal!important;
  }

  /* Discover: disable desktop masonry overlaps on mobile */
  .homepage-modular .homepage-module-discover [data-masonry]{
    display:flex!important;
    margin-top:26px!important;
    flex-direction:column;
    gap:14px;
  }
  .homepage-modular .homepage-module-discover [data-masonry]>.col-12{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
  }
  .homepage-modular .homepage-module-discover .h-300px,
  .homepage-modular .homepage-module-discover .h-lg-600px{
    width:100%!important;
    height:260px!important;
    min-height:260px!important;
    margin:0!important;
  }
  .homepage-modular .homepage-module-discover .ms-lg-n10{
    margin-left:0!important;
  }
  .homepage-modular .homepage-module-discover .pe-lg-4,
  .homepage-modular .homepage-module-discover .pb-lg-4{
    padding:0!important;
  }
  .homepage-modular .homepage-module-discover p.position-absolute{
    right:0!important;
    bottom:0!important;
    left:0!important;
    padding:18px!important;
    font-size:16px!important;
    text-align:left!important;
  }

  /* Meeting */
  .homepage-modular .homepage-module-meeting img{
    display:block;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .homepage-modular .homepage-module-meeting .btn{
    width:100%;
    max-width:320px;
    white-space:normal;
  }

  /* Gallery */
  .homepage-modular .homepage-module-gallery{
    width:100%!important;
    max-width:100%!important;
    margin-right:0!important;
    margin-left:0!important;
    border-radius:0!important;
  }
  .homepage-modular .homepage-module-gallery .homepage-gallery-copy{
    max-width:100%!important;
  }
  .homepage-modular .homepage-module-gallery .homepage-gallery-slide{
    width:280px!important;
    height:210px!important;
    flex:0 0 280px!important;
  }
}

/* Per-field text alignment selected from Admin > Anasayfayı Düzenle */
.homepage-modular .homepage-text-align-left{text-align:left!important}
.homepage-modular .homepage-text-align-center{text-align:center!important}
.homepage-modular .homepage-text-align-right{text-align:right!important}
.homepage-modular .homepage-text-align-justify{text-align:justify!important}

/* Rooms should start closer to the previous module; the old generic 70px
   top padding created an oversized white gap once a description was added. */
.homepage-modular .homepage-module-rooms{
  padding-top:34px!important;
}
.homepage-modular .homepage-module-rooms .homepage-module-copy{
  margin-bottom:4px;
}

@media(max-width:991.98px){
  .homepage-modular .homepage-module-rooms{
    padding-top:30px!important;
  }
}

@media(max-width:767.98px){
  .homepage-modular .homepage-module-rooms{
    padding-top:24px!important;
  }

  /* Preserve explicit admin alignment on mobile too. */
  .homepage-modular .homepage-text-align-left{text-align:left!important}
  .homepage-modular .homepage-text-align-center{text-align:center!important}
  .homepage-modular .homepage-text-align-right{text-align:right!important}
  .homepage-modular .homepage-text-align-justify{text-align:justify!important}
}

/* ==========================================================
   Mobile services slider - real viewport centering
   ========================================================== */
@media(max-width:767.98px){
  .homepage-modular .homepage-module-services .container-fluid,
  .homepage-modular .homepage-module-services .row,
  .homepage-modular .homepage-module-services .col-12,
  .homepage-modular .homepage-module-services .position-relative.overflow-hidden{
    width:100%!important;
    max-width:100%!important;
    margin-right:0!important;
    margin-left:0!important;
    padding-right:0!important;
    padding-left:0!important;
  }

  .homepage-modular .homepage-module-services .ea-swiper{
    width:100%!important;
    max-width:100%!important;
    height:340px!important;
    min-height:340px!important;
    margin:0 auto!important;
    overflow:hidden!important;
  }

  .homepage-modular .homepage-module-services .swiper-wrapper{
    align-items:stretch;
  }

  .homepage-modular .homepage-module-services .swiper-slide{
    width:82vw!important;
    max-width:330px!important;
    min-width:0!important;
    height:340px!important;
    margin-right:0!important;
    margin-left:0!important;
    flex:0 0 82vw!important;
  }

  @media(min-width:430px){
    .homepage-modular .homepage-module-services .swiper-slide{
      width:340px!important;
      max-width:340px!important;
      flex-basis:340px!important;
    }
  }

  .homepage-modular .homepage-module-services .swiper-slide>div{
    width:100%!important;
    height:100%!important;
  }

  .homepage-modular .homepage-module-services .slide-content-area{
    width:100%;
    align-items:center;
    padding:18px!important;
    text-align:center!important;
  }

  .homepage-modular .homepage-module-services .subtitle-responsive{
    width:100%;
    text-align:center!important;
  }

  .homepage-modular .homepage-module-services .subtitle-responsive>span{
    display:inline-block;
    max-width:100%;
    white-space:normal;
  }
}

/* ==========================================================
   Discover mobile - restore the original breathing/spacing.
   The previous responsive pass flattened every card to one
   continuous column and removed Bootstrap's my-4 spacing.
   ========================================================== */
@media(max-width:767.98px){
  .homepage-modular .homepage-module-discover [data-masonry]{
    display:flex!important;
    margin-top:3rem!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    gap:0!important;
  }

  .homepage-modular .homepage-module-discover [data-masonry]>.col-12{
    width:100%!important;
    max-width:100%!important;
    padding-right:0!important;
    padding-left:0!important;
  }

  .homepage-modular .homepage-module-discover .h-300px,
  .homepage-modular .homepage-module-discover .h-lg-600px{
    width:100%!important;
    height:300px!important;
    min-height:300px!important;
  }

  /* First image: original clean top card */
  .homepage-modular .homepage-module-discover [data-masonry]>.col-12:nth-child(1)>div{
    margin:0!important;
  }

  /* Middle image: restore original my-4 breathing room */
  .homepage-modular .homepage-module-discover [data-masonry]>.col-12:nth-child(2)>div{
    margin-top:24px!important;
    margin-bottom:24px!important;
  }

  /* Third image: no forced attachment to the middle image */
  .homepage-modular .homepage-module-discover [data-masonry]>.col-12:nth-child(3)>div{
    margin:0!important;
  }

  .homepage-modular .homepage-module-discover .ms-lg-n10{
    margin-left:0!important;
  }

  .homepage-modular .homepage-module-discover .pe-lg-4,
  .homepage-modular .homepage-module-discover .pb-lg-4{
    padding-right:0!important;
    padding-bottom:0!important;
  }

  .homepage-modular .homepage-module-discover p.position-absolute{
    right:0!important;
    bottom:0!important;
    left:0!important;
    padding:24px!important;
    font-size:16px!important;
  }

  /* Respect the alignment selected in Anasayfayı Düzenle. */
  .homepage-modular .homepage-module-discover p.homepage-text-align-left{
    text-align:left!important;
  }
  .homepage-modular .homepage-module-discover p.homepage-text-align-center{
    text-align:center!important;
  }
  .homepage-modular .homepage-module-discover p.homepage-text-align-right{
    text-align:right!important;
  }
  .homepage-modular .homepage-module-discover p.homepage-text-align-justify{
    text-align:justify!important;
  }
}

/* ==========================================================
   Homepage description alignment:
   text-align alone is not enough when the description has a
   max-width. Move the description box itself according to
   the alignment selected in Admin > Anasayfayı Düzenle.
   ========================================================== */
.homepage-modular .homepage-section-description.homepage-text-align-left{
  margin-left:0!important;
  margin-right:auto!important;
  text-align:left!important;
}

.homepage-modular .homepage-section-description.homepage-text-align-center{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.homepage-modular .homepage-section-description.homepage-text-align-right{
  margin-left:auto!important;
  margin-right:0!important;
  text-align:right!important;
}

.homepage-modular .homepage-section-description.homepage-text-align-justify{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:justify!important;
}

/* Odalar modülü daha önce copy-left ile açıklamayı zorla sola
   sabitliyordu. Seçilen alignment artık bunun üzerinde kesin
   olarak uygulanır. */
.homepage-modular .homepage-module-rooms .homepage-section-description.homepage-text-align-center{
  margin-inline:auto!important;
}

.homepage-modular .homepage-module-rooms .homepage-section-description.homepage-text-align-right{
  margin-left:auto!important;
  margin-right:0!important;
}

@media(max-width:767.98px){
  .homepage-modular .homepage-section-description{
    max-width:100%!important;
  }

  .homepage-modular .homepage-section-description.homepage-text-align-left{
    margin-left:0!important;
    margin-right:auto!important;
    text-align:left!important;
  }

  .homepage-modular .homepage-section-description.homepage-text-align-center{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  .homepage-modular .homepage-section-description.homepage-text-align-right{
    margin-left:auto!important;
    margin-right:0!important;
    text-align:right!important;
  }

  .homepage-modular .homepage-section-description.homepage-text-align-justify{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:justify!important;
  }
}
