:root {
  --pfv-gold: #D6B362;
  --pfv-text: #222222;
  --pfv-muted: #666666;
  --pfv-border: #E9E3D3;
  --pfv-bg: #FFFFFF;
  --pfv-grey: #F4F4F4;
}

/* Fehlerbox */
.pfv-cal-error{
  padding:12px; border:1px solid #f2dada; background:#fff5f5; color:#b84a4a; border-radius:12px;
}

/* Header + Navigation */
.pfv-cal-header{ display:flex; align-items:center; justify-content:space-between; margin:8px 0 10px; }
.pfv-cal-title{ font-weight:800; color:var(--pfv-text) !important; }
.pfv-cal-nav{
  border:1px solid var(--pfv-gold) !important; background:var(--pfv-bg) !important;
  color:var(--pfv-text) !important; border-radius:10px; width:38px; height:38px;
  font-size:18px; line-height:1; cursor:pointer;
  transition:background .15s,color .15s,border-color .15s,transform .05s;
  outline:none !important; box-shadow:none !important;
}
.pfv-cal-nav:hover{ background:var(--pfv-gold) !important; color:#fff !important; }
.pfv-cal-nav:active{ transform:translateY(1px); }

/* Grid */
.pfv-cal-grid{ display:grid; grid-template-columns:repeat(7,minmax(36px,1fr)); gap:6px; }
.pfv-cal-wd{ font-size:12px; color:var(--pfv-muted) !important; text-align:center; }
.pfv-cal-empty{ height:42px; }

/* Day cells – neutral */
.pfv-cal-day{
  height:42px; background:var(--pfv-bg) !important;
  border:1px solid var(--pfv-border) !important; border-radius:10px !important;
  color:var(--pfv-text) !important; display:flex; align-items:center; justify-content:center;
  font-size:14px; cursor:pointer; outline:none !important; box-shadow:none !important;
  transition:background .15s,border-color .15s,color .15s,transform .05s;
}
.pfv-cal-day:hover{ border-color:var(--pfv-gold) !important; }
.pfv-cal-day:active{ transform:translateY(1px); }

/* Belegt */
.pfv-cal-day.is-booked{
  background:var(--pfv-grey) !important; color:#999 !important; border-color:#e5e5e5 !important;
  text-decoration:line-through; cursor:not-allowed;
}

/* Auf Anfrage */
.pfv-cal-day.is-request{
  border-style:dashed !important; border-color:var(--pfv-gold) !important;
}

/* Auswahlschema (Range) */
.pfv-cal-day.is-selectable{ box-shadow:inset 0 0 0 1px rgba(214,179,98,.25) !important; }
.pfv-cal-day.is-inrange{
  background:rgba(214,179,98,.12) !important; border-color:var(--pfv-gold) !important;
}
.pfv-cal-day.is-selected-start,
.pfv-cal-day.is-selected-end{
  background:var(--pfv-gold) !important; color:#fff !important; border-color:var(--pfv-gold) !important;
}

/* Fokusringe in manchen Themes entfernen */
.pfv-cal-day:focus, .pfv-cal-nav:focus{ outline:none !important; box-shadow:none !important; }
/* Vergangenheit (hart gesperrt, wie belegt) */
.pfv-cal-day.is-past{
  background: var(--pfv-grey) !important;
  color: #999 !important;
  border-color: #e5e5e5 !important;
  text-decoration: line-through;
  cursor: not-allowed;
}

/* Abreisetag (Turnover) – halbgrau diagonal, bleibt klickbar */
.pfv-cal-day.is-turnover{
  background: linear-gradient(135deg, var(--pfv-grey) 0 50%, var(--pfv-bg) 50% 100%) !important;
  border-color: #e5e5e5 !important;
}
.pfv-cal-day.is-turnover:hover{
  border-color: var(--pfv-gold) !important;
}

/* ==============================================
   💰 Preis-Badge – fixiert & responsive
   ============================================== */

.pfv-cal-day {
  position: relative !important;
  overflow: visible !important;
  padding-right: 20px !important;
}

/* Preis-Badge */
.pfv-cal-day .pfv-price {
  position: absolute !important;
  top: 4px !important;
  right: 6px !important;
  z-index: 3 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  color: var(--pfv-text) !important;
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid var(--pfv-border) !important;
  border-radius: 6px !important;
  padding: 1px 4px !important;
  pointer-events: none !important;
  user-select: none !important;
}

/* Preis bei inaktiven Tagen */
.pfv-cal-day.is-booked .pfv-price,
.pfv-cal-day.is-past .pfv-price {
  opacity: 0.45 !important;
}

/* Preis ohne Wert */
.pfv-cal-day .pfv-price.no-price {
  color: #aaa !important;
  font-size: 0.75em !important;
}

/* ==============================================
   📱 Responsive Anpassungen
   ============================================== */

/* Tablet */
@media (max-width: 768px) {
  .pfv-cal-grid {
    gap: 4px !important;
  }
  .pfv-cal-day {
    height: 38px !important;
    font-size: 14px !important;
    padding-right: 16px !important;
  }
  .pfv-cal-day .pfv-price {
    top: 3px !important;
    right: 4px !important;
    font-size: 11px !important;
  }
}

/* iPhone / Smartphone */
@media (max-width: 480px) {
  .pfv-cal-grid {
    gap: 3px !important;
    grid-template-columns: repeat(7, minmax(30px, 1fr)) !important;
  }
  .pfv-cal-day {
    height: 34px !important;
    font-size: 13px !important;
    padding-right: 14px !important;
  }
  .pfv-cal-day .pfv-price {
    top: 1px !important;
    right: 3px !important;
    font-size: 9px !important;
    padding: 0 2px !important;
  }
}

/* Sehr kleine Geräte */
@media (max-width: 360px) {
  .pfv-cal-day .pfv-price {
    font-size: 8px !important;
  }
}
