/* =========================================================
   Subpages / Generic Page Hero (Image)
   ========================================================= */

/* ---------- Hero image on subpages ---------- */
.page-hero{
	position: relative;
	width: 100%;
	overflow:hidden;
}

.page-hero--image .page-hero__media{
	width:100%;
	height: 500px; /* TODO: adjust */
	background-size: cover;
	background-position: center;
}

/* ---------- Content ---------- */
.section--content .page-title{
	margin-top: 0;
	font-size: 32px;
}
.section--content .page-content p{
	line-height: 1.7;
}

/* =========================================================
   Responsive — Pages
   ========================================================= */

/* ---------- <= 1024px ---------- */
@media (max-width: 1024px){
	.page-hero--image .page-hero__media{ height: 420px; }
	.section--content .page-title{ font-size: 28px; }
}

/* ---------- <= 768px ---------- */
@media (max-width: 768px){
	.page-hero--image .page-hero__media{ height: 320px; }
	.section--content .page-title{ font-size: 24px; }
}

/* Blog Grid (Über Curacao) */
.cards--blog{
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.readmore{
  display:inline-block;
  margin-top: 10px;
  text-decoration: underline;
}

.pagination{
  margin-top: 26px;
  display:flex;
  justify-content:center;
  gap: 10px;
  flex-wrap: wrap;
}

.pagination .page-numbers{
  padding: 6px 10px;
}

.pagination .current{
  font-weight: 700;
  text-decoration: underline;
}

@media (max-width: 1024px){
  .cards--blog{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px){
  .cards--blog{ grid-template-columns: 1fr; }
}

.fa-gallery--post .fa-gallery__viewport{
  height: 520px; /* TODO */
}

@media (max-width: 1024px){
  .fa-gallery--post .fa-gallery__viewport{ height: 420px; }
}
@media (max-width: 768px){
  .fa-gallery--post .fa-gallery__viewport{ height: 320px; }
}

/* Über Curacao – Blog Cards */
.cards--blog .card--blog{
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Bilder überall gleich hoch (über Aspect-Ratio) */
.cards--blog .card__media img{
  width: 100%;
  aspect-ratio: 16 / 10; /* TODO nach Geschmack */
  height: auto;
  object-fit: cover;
}

/* Body gleich hoch halten, Weiterlesen nach unten */
.cards--blog .card__body{
  background: #fff;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.cards--blog .readmore{
  margin-top: auto;
}

.blog-single.section--content{
  padding-top: 200px; /* wie gewünscht */
}

.back-to-blog{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  text-decoration: underline;
  margin: 0 0 16px 0;
}
.back-to-blog__icon{
  width: 14px;
  height: 14px;
  background: center / contain no-repeat url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/icons/arrow-left.svg");
}


/* Other apartments carousel */
.other-apartments{
  margin-top: 40px;
}
.other-apartments__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.oa-btn{
  width: 44px; height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  cursor:pointer;
}
.oa-btn--prev{
  background: center / 16px 16px no-repeat url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/icons/chevron-left.svg");
}
.oa-btn--next{
  background: center / 16px 16px no-repeat url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/icons/chevron-right.svg");
}

.oa-viewport{
  overflow:hidden;
  touch-action: pan-y;
}
.oa-track{
  display:flex;
  gap: 20px;
  transition: transform 500ms ease;
}
.oa-card{
  flex: 0 0 calc((100% - 40px) / 3);
  display:block;
}
.oa-card__img{
  border-radius: 10px;
  overflow:hidden;
}
.oa-card__img img{
  width:100%;
  aspect-ratio: 3 / 1.8;
  object-fit: cover;
  display:block;
}
.oa-card__panel{
  background: #efefef;
    border-radius: 10px;
    padding: 24px 26px;
    margin-top: 10px;
    margin: -36px 60px 0px 60px;
    position: relative;
    z-index: 200;
}
.section--anlage-apartments{
  margin-bottom: 40px;
} 
.oa-card__title{
  margin:0;
  font-size: 22px;
}

.gwolle-gb .gb-entry {
    position: relative;
    border-top: 0px #ddd solid!important;
    padding: 20px 20px!important;
    background-color: #F8F8F8!important;
    /* margin: 10px 0px; */
    margin: 20px 0px!important;
    clear: left;
    border-radius: 8px!important;
    line-height: 1.6!important;
    font-size: 13px!important;
}
.gwolle-gb .gb-entry .gb-author-info .gb-author-name {
    padding-left: 10px;
    font-weight: bold;
    padding-bottom: 10px;
    display: block;
}
.gwolle-gb form.gwolle-gb-write h3 {
    font-size: 20px;
    margin-bottom: 30px;
    margin-top: 20px;
}
.gwolle-gb form.gwolle-gb-write {
    position: relative;
    margin-top: 40px;
    margin-bottom: 40px;
    padding: 0px 30px;
    text-align: left;
    overflow: hidden;
}
.gwolle-gb div.input input[type="text"], .gwolle-gb div.input input[type="email"], .gwolle-gb div.input input[type="url"], .gwolle-gb div.input textarea, .gwolle-gb div.input select {
    width: 99%;
    border-radius: 5px;
    padding: 10px;
	    border: 1px solid #ddd;
}


/* Responsive */
@media (max-width: 1024px){
  .apartment-main{ grid-template-columns: 1fr; }
  .sidebar-box{ position: relative; top:auto; }
  .apartment-info-grid{ grid-template-columns: 1fr; }
  .oa-card{ flex-basis: calc((100% - 20px) / 2); }
}
@media (max-width: 768px){
  .fa-modal__dialog{ width: 92%; }
  .fa-modal__content{ column-count: 1; }
  .oa-card{ flex-basis: 100%; }
}

/* =========================================================
   Kontakt Seite
   ========================================================= */
.contact-cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.contact-card{
  background:#F8F8F8;
  border-radius: 6px;
  padding: 20px;
  display:flex;
  gap: 14px;
  align-items:flex-start;
}

.contact-card__img{
  width: 100px;
  height: 100px;
  border-radius: 10px;
  object-fit: cover;
  display:block;
}

.contact-card__name{ font-weight: 800; }
.contact-card__role{ margin-top: 4px;font-size: 13px; }

.contact-card__phone{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-top: 10px;
	font-size: 13px;
}

.contact-card__phone-icon{
  width: 14px;
  height: 14px;
	opacity: 0.6;
  background: center / contain no-repeat url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/icons/telephone-fill.svg");
}
.contact-card__email-icon{
  width: 18px;
  height: 18px;
	opacity: 0.6;
  background: center / contain no-repeat url("https://cdn-icons-png.flaticon.com/512/561/561127.png");
}

.contact-map iframe{
  display:block;
}

.section--contact-form{
  background: var(--color-alt);
}

.contact-form-wrap{
  width: 60%;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 5px;
    padding: 40px 70px;
	-webkit-box-shadow: 0px 0px 15px 0px #ddd; 
box-shadow: 0px 0px 15px 0px #ddd;
}

.contact-form-wrap h2{
  font-size: 30px;
}

.forminator-ui#forminator-module-296.forminator-design--default .forminator-button-submit {
    background-color: #6A7D56;
    border-radius: 6px;
}

/* Forminator Styling (schlicht) */
.contact-form-wrap .forminator-ui .forminator-label,
.contact-form-wrap .forminator-ui .forminator-description{
  display:none;
}

.contact-form-wrap .forminator-ui input[type="text"],
.contact-form-wrap .forminator-ui input[type="email"],
.contact-form-wrap .forminator-ui input[type="tel"],
.contact-form-wrap .forminator-ui textarea,
.contact-form-wrap .forminator-ui select{
  width: 100%;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 6px;
  padding: 12px 14px;
  background:#fff;
  box-shadow: none;
	border-radius: 7px !important;
}

.contact-form-wrap .forminator-ui textarea{
  min-height: 160px;
  resize: vertical;
	border-radius: 7px !important;
}

.contact-form-wrap .forminator-ui .forminator-button{
  background: var(--color-accent);
  color:#fff;
  border: 0;
  border-radius: 6px;
  padding: 12px 18px;
  font-weight: 700;
}

@media (max-width: 1024px){
  .contact-cards{ grid-template-columns: 1fr; }
  .contact-form-wrap{ width: 100%; }
}

/* =========================================================
   Die Anlage (page-anlage.php)
   ========================================================= */

.anlage-split{
  display:grid;
  grid-template-columns: 1fr 2fr; /* links 1/3, rechts 2/3 */
  gap: 20px;
  align-items: stretch; /* wichtig: Map nimmt volle Höhe */
}

.anlage-split__right{
  min-height: 320px;
}

.fa-gallery--anlage .fa-gallery__viewport{
  height: 520px; /* TODO */
}

.anlage-map{
  border-radius: 10px;
  overflow:hidden;
}
.anlage-map iframe{
  display:block;
}

/* Apartments Carousel nutzt oa-* Styles (wie bei Blog/Apartments) */
.section--anlage-apartments .other-apartments__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 20px;
  margin-bottom: 16px;
}

/* Responsive */
@media (max-width: 1024px){
  .anlage-split{
    grid-template-columns: 1fr;
  }
  .fa-gallery--anlage .fa-gallery__viewport{
    height: 420px;
  }
}

@media (max-width: 768px){
  .fa-gallery--anlage .fa-gallery__viewport{
    height: 320px;
  }
}
/* Die Anlage: Abstand nach oben, weil kein Hero */
body.page-template-page-anlage .section--anlage-intro{
  padding-top: 200px; /* TODO: wenn du 200px willst, hier erhöhen */
}
