/* Alles gekapselt, damit dein Theme nicht kaputt geht */
.hburg-wrap{
  --tk-accent:#ca6d6d;
  --tk-text:#6b6b6b;
  --tk-dark:#2e2e2e;
  --tk-line: rgba(0,0,0,0.08);

  --c1: #ca6d6d;
  --c2: #b00518;
  --c3: #6b6b6b;
  --c4: #7a9f7a;
  --c5: #7a7aa5;

  /* Statusfarben */
  --status-confirmed: #b00518; /* kräftig rot */
  --status-pending: #f0c36d;   /* gelb/orange */
  --status-free-bg: rgba(202,109,109,0.15);

  font-family: Arial, sans-serif;
  color: var(--tk-text);
  padding: 20px 40px 10px 40px;
  box-sizing: border-box;
}

.hburg-wrap *{ box-sizing: border-box; }

.hburg-hero{
  background: #f4f4f4;
  border: 1px solid #dedede;
  padding: 18px 18px;
  margin: 0 0 18px 0;
  text-align: center;
}

.hburg-title{
  margin: 0 0 8px 0;
  color: var(--tk-accent);
  font-size: 28px;
  line-height: 30px;
}

.hburg-lead{
  margin: 0 auto 10px auto;
  max-width: 900px;
  font-size: 15px;
  line-height: 22px;
  color: #6b6b6b;
}

.hburg-hero-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
}

.hburg-btn{
  display:inline-block;
  padding: 6px 14px;
  border-radius: 5px;
  border: 1px solid #383838;
  background: #555 url(../../style/images/button-bg.png) repeat-x;
  color:#fff;
  text-decoration:none;
  font-size: 12px;
  line-height: 20px;
  cursor:pointer;
}

.hburg-btn:hover{ background-color:#333; color:#fff; }

.hburg-btn-primary{
  background: var(--tk-accent);
  border-color: #9f4f4f;
  color:#fff;
}

.hburg-btn-primary:hover{ filter: brightness(0.95); }

.hburg-section{ margin-top: 18px; }

.hburg-h3{
  color: var(--tk-accent);
  font-size: 24px;
  line-height: 26px;
  margin: 0 0 12px 0;
  text-align:center;
}

.hburg-h4{
  color: var(--tk-accent);
  font-size: 18px;
  line-height: 20px;
  margin: 0 0 10px 0;
}

/* ====== STRIP: Karten ====== */
.hu-strip{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding: 4px 2px 10px 2px;
  scroll-snap-type: x mandatory;
}

.hu-card2{
  min-width: 260px;
  max-width: 260px;
  background:#fff;
  border: 1px solid #f0f0f0;
  box-shadow: inset 0 0 25px rgba(0,0,0,0.08);
  scroll-snap-align: start;
}

.hu-card2-img{
  position:relative;
  height: 170px;
  overflow:hidden;
  background: #e9e9e9;
}

.hu-card2-img img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

.hu-card2-badge{
  position:absolute;
  left:10px;
  top:10px;
  width:34px;
  height:34px;
  border-radius: 50%;
  background: var(--castleColor, var(--tk-accent));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:bold;
}

.hu-card2-prices{
  position:absolute;
  right:10px;
  bottom:10px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.08);
  padding:8px 10px;
  font-size: 12px;
  line-height: 16px;
}

.hu-card2-prices div{
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.hu-card2-body{ padding: 12px; }

.hu-card2-title{
  color: var(--tk-accent);
  font-size: 16px;
  line-height: 20px;
  margin-bottom: 4px;
}

.hu-card2-sub{ color:#a0a0a0; font-size: 12px; margin-bottom: 10px; }

.hu-card2-facts{ margin: 0 0 10px 0; padding: 0; list-style:none; }

.hu-card2-facts li{
  background: transparent url(../../style/images/dark-bullet.png) no-repeat left 8px;
  padding-left: 15px;
  font-size: 12px;
  line-height: 18px;
}

.hu-card2-actions{
  display:flex;
  gap:8px;
  justify-content:space-between;
  flex-wrap:wrap;
}

/* ====== Accordion ====== */
.castle-item{
  background:#f4f4f4;
  border: 1px solid #dedede;
  margin-bottom: 10px;
}

.castle-summary{
  cursor:pointer;
  display:flex;
  gap:12px;
  align-items:center;
  padding: 12px;
}

.hu-badge2{
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:bold;
  background: var(--castleColor, var(--tk-accent));
  flex: 0 0 auto;
}

.sum-main{ flex: 1 1 auto; min-width: 160px; }
.sum-title{ color: var(--tk-accent); font-size: 15px; line-height: 18px; margin-bottom:2px;}
.sum-sub{ color:#a0a0a0; font-size: 12px; }

.sum-prices{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }

.sum-price{
  background:#fff;
  border:1px solid rgba(0,0,0,0.07);
  padding:6px 8px;
  font-size:12px;
  line-height: 14px;
}

.sum-price .lbl{ display:block; color:#a0a0a0; font-size:11px;}
.sum-price .val{ display:block; color:#333; font-weight:bold;}

.sum-hint{ color:#a0a0a0; font-size: 12px; margin-left:auto; }

.castle-body{ padding: 12px; background:#fff; }
.body-note{ margin: 0 0 10px 0; }
.body-mini{ margin: 10px 0 0 0; color:#a0a0a0; font-size: 12px; }

.specs{ margin:0; padding:0; list-style:none; }
.specs li{
  background: transparent url(../../style/images/dark-bullet.png) no-repeat left 10px;
  padding-left: 15px;
  margin: 0 0 6px 0;
}

/* ====== Kalender ====== */
.hburg-calendar .cal-head{
  background:#f4f4f4;
  border: 1px solid #dedede;
  padding: 12px;
  margin-bottom: 10px;
}

.hburg-calendar .cal-title-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:baseline;
  flex-wrap:wrap;
}

.hburg-calendar .hint{ font-size: 12px; color:#a0a0a0; }

.hburg-calendar .nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top: 8px;
}

.hburg-calendar .title{
  font-size: 16px;
  color:#333;
  min-width: 180px;
  text-align:center;
}

.hburg-calendar .month{
  border: 1px solid #dedede;
  background:#fff;
  padding: 10px;
}

.hburg-calendar .dow{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  margin-bottom: 6px;
  font-size: 12px;
  color:#a0a0a0;
  text-align:center;
}

.hburg-calendar .grid{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}

.hburg-calendar .daycell{
  border: 1px solid rgba(0,0,0,0.10);
  min-height: 86px;
  padding: 6px;
  position: relative;
}

.hburg-calendar .daycell.today{ border-color: var(--tk-accent); }
.hburg-calendar .daycell.empty{ background: #f8f8f8; border: 1px solid rgba(0,0,0,0.05); }

.hburg-calendar .daycell.has-pending{
  background: rgba(240,195,109,0.12);
  border-color: rgba(240,195,109,0.45);
}

.hburg-calendar .daycell.has-confirmed{
  background: rgba(176,5,24,0.08);
  border-color: rgba(176,5,24,0.45);
}

.hburg-calendar .daytop{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 6px;
  margin-bottom: 6px;
}

.hburg-calendar .dowlabel{
  display:none; /* Desktop: aus */
  font-size: 11px;
  color:#a0a0a0;
  font-weight: bold;
  margin-right: 6px;
}

.hburg-calendar .daynum{
  font-size: 12px;
  color:#333;
  font-weight:bold;
}

.hburg-calendar .daystatus{
  font-size: 10px;
  line-height: 12px;
  color:#444;
  text-align:right;
  padding: 2px 4px;
  border-radius: 3px;
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(0,0,0,0.06);
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}

/* Mini-Status im Tag (nur Zahlen, keine Wörter) */
.hburg-mini-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  display:inline-block;
}
.hburg-mini-dot.confirmed{ background: var(--status-confirmed); }
.hburg-mini-dot.pending{ background: var(--status-pending); }
.hburg-mini-count{
  font-size:10px;
  line-height:12px;
  color:#333;
  font-weight:bold;
}

/* Chips */
.hburg-calendar .chips{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}

.hburg-calendar .chip{
  border: 1px solid rgba(0,0,0,0.08);
  cursor:pointer;
  font-size: 11px;
  line-height: 18px;
  padding: 0 7px;
  border-radius: 3px;
  background: var(--status-free-bg);
  color:#333;
}

.hburg-calendar .chip .chiplabel{
  font-weight:bold;
  color: var(--castleColor, var(--tk-accent));
}

.hburg-calendar .chip.status-confirmed{
  background: var(--status-confirmed);
  border-color: rgba(0,0,0,0.15);
  color:#fff;
}

.hburg-calendar .chip.status-confirmed .chiplabel{ color:#fff; }

.hburg-calendar .chip.status-pending{
  background: var(--status-pending);
  border-color: rgba(0,0,0,0.15);
  color:#333;
}

.hburg-calendar .chip.status-pending .chiplabel{ color:#333; }

/* ====== Day Picker Modal (Mobile) ====== */
.hburg-daymodal{
  position: fixed;
  inset: 0;
  display:none;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,0.65);
  z-index: 99998;
  padding: 18px;
}

.hburg-daymodal.is-open{ display:flex; }

.hburg-daymodal-card{
  width: min(520px, 96vw);
  background:#fff;
  border: 1px solid #dedede;
}

.hburg-daymodal-head{
  background: url(../../style/images/header-footer-bg.jpg);
  color:#EFEFEF;
  padding: 10px 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.hburg-daymodal-head button{
  border:0;
  background:transparent;
  color:#EFEFEF;
  font-size: 18px;
  cursor:pointer;
}

.hburg-daymodal-body{
  background:#f4f4f4;
  padding: 12px;
}

.hburg-daymodal-date{
  color:#333;
  font-weight:bold;
  margin-bottom: 10px;
}

.hburg-daylist{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.hburg-daybtn{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:1px solid rgba(0,0,0,0.1);
  background:#fff;
  padding:10px 10px;
  cursor:pointer;
  text-align:left;
}

.hburg-daybtn[disabled]{ opacity:0.55; cursor:not-allowed; }

.hburg-daybtn .left{ display:flex; gap:10px; align-items:center; }
.hburg-dot{ width:14px; height:14px; border-radius:50%; background: var(--castleColor, var(--tk-accent)); }
.hburg-daybtn .name{ font-size: 13px; color:#333; }
.hburg-daybtn .state{ font-size: 12px; color:#a0a0a0; }

/* ====== Booking Modal ====== */
.modal{
  position: fixed;
  inset: 0;
  display:none;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,0.65);
  z-index: 99999;
  padding: 16px;
}

.modal.is-open{ display:flex; }

.modal-card{
  background:#fff;
  width: min(480px, 96vw);
  border: 1px solid #dedede;
  max-height: 92vh;
  overflow:auto;
}

.modal-head{
  background: url(../../style/images/header-footer-bg.jpg);
  color:#EFEFEF;
  padding: 10px 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position: sticky;
  top: 0;
}

.modal-head .x{
  border:0;
  background: transparent;
  color:#EFEFEF;
  font-size: 18px;
  cursor:pointer;
}

#bookingForm{
  padding: 10px;
  background:#f4f4f4;
}

#bookingForm label{
  display:block;
  font-size: 11px;
  margin: 8px 0 4px 0;
}

#bookingForm input[type="text"],
#bookingForm input[type="email"],
#bookingForm input[type="date"],
#bookingForm textarea{
  width:100%;
  padding: 8px 9px;
  border: 1px solid #dedede;
  background:#fff;
  font-family: Arial, sans-serif;
  font-size: 13px;
}

#bookingForm textarea{ resize: vertical; min-height: 70px; }

#bookingForm .grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

#bookingForm .actions{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-top: 10px;
  flex-wrap:wrap;
}

#bookingForm .msg{
  font-size: 12px;
  color:#333;
  font-weight:bold;
}

.r-info{
  background:#f4f4f4;
  border: 1px solid #dedede;
  padding: 12px;
  margin-top: 10px;
}

/* ====== MOBILE: KALENDER ALS LISTE (Wochentage untereinander) ====== */
@media (max-width: 860px){
  .hburg-wrap{ padding: 14px 14px; }

  .hu-card2{ min-width: 220px; max-width: 220px; }
  .hu-card2-img{ height: 150px; }

  /* Kalender: Kopf kompakter */
  .hburg-calendar .month{ padding: 8px; }

  /* Die Kopfzeile Mo–So ausblenden (wir zeigen den Wochentag pro Tag) */
  .hburg-calendar .dow{ display:none; }

  /* GRID -> 1 Spalte (Liste) */
  .hburg-calendar .grid{
    grid-template-columns: 1fr;
    gap: 8px;
  }

  /* Tageszelle wird “Zeile” */
  .hburg-calendar .daycell{
    min-height: auto;
    padding: 10px 10px;
    display:flex;
    flex-direction:column;
    gap: 8px;
  }

  .hburg-calendar .daytop{
    margin: 0;
    align-items:center;
  }

  /* Wochentag anzeigen */
  .hburg-calendar .dowlabel{
    display:inline-block;
  }

  /* Datum + Wochentag links, Status rechts */
  .hburg-calendar .daynum{
    font-size: 14px;
  }

  .hburg-calendar .daystatus{
    font-size: 11px;
    padding: 3px 6px;
  }

  /* Chips wieder als kleine Nummern-Buttons (nicht als Punkte) */
  .hburg-calendar .chips{
    gap: 6px;
  }

  .hburg-calendar .chip{
    width: auto;
    height: auto;
    padding: 4px 10px;
    border-radius: 4px;
    border: 1px solid rgba(0,0,0,0.10);
    background: var(--status-free-bg);
    font-size: 12px;
    line-height: 18px;
  }

  .hburg-calendar .chip .chiplabel{
    display:inline;
  }

  /* confirmed/pending bleiben farblich */
  .hburg-calendar .chip.status-confirmed{
    background: var(--status-confirmed);
    color:#fff;
  }
  .hburg-calendar .chip.status-confirmed .chiplabel{ color:#fff; }

  .hburg-calendar .chip.status-pending{
    background: var(--status-pending);
    color:#333;
  }
}
