/* HP Glass Forms – Frontend */
#hpgf-form.hpgf-glass-wrap { position: relative; padding: 40px 20px; display:flex; justify-content:center; align-items:center; }
.hpgf-glass-card {
  position: relative; isolation:isolate;
  width: min(920px, 92vw); border-radius: 24px; padding: 24px;
  background: radial-gradient(1000px 500px at 10% 10%, rgba(255,255,255, calc(var(--hpgf-alpha, .25))), rgba(255,255,255, calc(var(--hpgf-alpha, .25)*.24))) no-repeat,
              linear-gradient(135deg, rgba(255,255,255, calc(var(--hpgf-alpha, .18))), rgba(255,255,255, calc(var(--hpgf-alpha, .06))));
  backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 20px 60px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.28);
  overflow: visible;
  animation: hpgf-float-strong 10s ease-in-out infinite;
}
@keyframes hpgf-float-strong {
  0% { transform: translateY(0) rotateX(0deg) rotateY(0deg); }
  25% { transform: translateY(-10px) rotateX(0.6deg) rotateY(-0.6deg); }
  50% { transform: translateY(-16px) rotateX(0deg) rotateY(0.6deg); }
  75% { transform: translateY(-10px) rotateX(-0.5deg) rotateY(0deg); }
  100%{ transform: translateY(0) rotateX(0deg) rotateY(0deg); }
}
/* Whole-glass swell-hold-fade in emerald (#00998e) */
.hpgf-glass-card::after {
  content:""; position:absolute; inset:0; z-index:0; border-radius:24px; pointer-events:none;
  background: radial-gradient(120% 120% at 50% 50%, color-mix(in oklab, var(--hpgf-emerald, #00998e) 70%, transparent), transparent 60%) no-repeat;
  animation: hpgf-emerald-swell 7.8s ease-in-out infinite; opacity:0; mix-blend-mode: screen;
}
@keyframes hpgf-emerald-swell {
  0%   { opacity: 0; filter: brightness(1.00) saturate(1.00); }
  28%  { opacity: calc(var(--hpgf-glow, .6)); filter: brightness(1.06) saturate(1.08); }
  45%  { opacity: calc(var(--hpgf-glow, .6)); filter: brightness(1.08) saturate(1.12); } /* hold */
  75%  { opacity: 0.08; filter: brightness(1.02) saturate(1.02); }
  100% { opacity: 0; filter: brightness(1.00) saturate(1.00); }
}
.hpgf-title { margin:0 0 12px; font-size:clamp(24px,2.2vw,32px); font-weight:700; letter-spacing:.2px; color:rgba(255,255,255,0.95); text-shadow:0 1px 0 rgba(0,0,0,0.25); }
.hpgf-success { margin-bottom:14px; padding:12px 14px; border-radius:12px; background:rgba(46,204,113,0.18); color:#0b2; border:1px solid rgba(46,204,113,0.4); }

.hpgf-form label{ color:rgba(255,255,255,0.9); display:block; margin-bottom:6px; font-weight:600; }
.hpgf-form input, .hpgf-form select, .hpgf-form textarea {
  width:100%; padding:12px 14px; border-radius:14px;
  border:1px solid rgba(255,255,255,0.35);
  background: rgba(255,255,255, calc(var(--hpgf-alpha, .22)));
  color:#fff; outline:none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 5px 18px rgba(0,0,0,0.15);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.hpgf-form input:focus, .hpgf-form textarea:focus, .hpgf-form select:focus {
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.35), 0 10px 28px rgba(0,0,0,0.25), 0 0 0 2px rgba(255,255,255,0.15);
  background: rgba(255,255,255, calc(var(--hpgf-alpha, .3)));
}
.hpgf-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
.hpgf-col-2 { grid-column: span 2; }

.hpgf-dates { display:flex; flex-wrap:wrap; gap:12px; }
.hpgf-date-chip { position:relative; display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.25), rgba(255,255,255,0.14));
  border:1px solid rgba(255,255,255,0.35);
  box-shadow: 0 8px 22px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.35);
  cursor:pointer; transition: transform .12s ease, background .2s ease, box-shadow .2s ease;
}
.hpgf-date-chip:hover { transform: translateY(-1px); background: rgba(255,255,255,0.18); }
.hpgf-date-chip input { transform: scale(1.2); }
.hpgf-date-chip span { color: rgba(255,255,255,0.95); font-weight:600; }
.hpgf-date-chip:has(input:checked){ border-color: rgba(0,153,142,0.85); box-shadow: 0 14px 36px rgba(0,0,0,0.35), 0 0 0 2px rgba(0,153,142,0.35) inset, 0 0 22px rgba(0,153,142,0.55); }

.hpgf-backup-toggle { margin-top: 10px; }
.hpgf-btn-secondary { border:1px solid rgba(255,255,255,0.35); background: rgba(255,255,255,0.12); color:#fff; padding:10px 12px; border-radius:12px; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,0.25); }
.hpgf-date-chip.hpgf-disabled { opacity:.45; filter: grayscale(.2); }

.hpgf-errors { margin:8px 0 12px; display:none; }
.hpgf-errors.is-visible { display:block; }
.hpgf-errorbox { background: rgba(255, 77, 77, 0.12); border:1px solid rgba(255,77,77,0.45); color:#fff; border-radius:10px; padding:10px 12px; }
.hpgf-errorbox ul { margin:6px 0 0 18px; }
.hpgf-btn-paypal.is-disabled { opacity:.45; pointer-events:none; filter:grayscale(.2); }

/* Invalid highlight */
.hpgf-form input:invalid, .hpgf-form select:invalid, .hpgf-form textarea:invalid {
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.35), 0 0 0 2px rgba(255,77,77,0.5);
}

/* Early service checkbox */
#hpgf-early-wrap label { display:block; margin:6px 0; font-weight:600; color:rgba(255,255,255,0.95); }
#hpgf-early-wrap input[type="checkbox"] { transform: scale(1.1); margin-right:8px; }

/* Actions */
.hpgf-actions { margin-top: 16px; display:flex; justify-content:flex-end; }
.hpgf-btn { appearance:none; border:none; padding:12px 18px; border-radius:16px; font-weight:700; color:#111;
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(220,220,220,0.9));
  box-shadow: 0 12px 30px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.6);
  cursor:pointer; transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.hpgf-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.75); filter: brightness(1.05); }

/* Mobile */
@media (max-width: 680px){
  .hpgf-grid { grid-template-columns: 1fr; }
  .hpgf-col-2 { grid-column: span 1; }
}


/* ========== PayPal-Button – Mobile Fix für iOS/Safari (v1.2.6) ========== */
#hpgf-paypal-cta{ display:block; }
#hpgf-paypal-cta .hpgf-btn-paypal{
  display:flex !important; align-items:center; justify-content:center;
  width:100%; max-width:100%; min-height:54px; padding:14px 18px;
  text-align:center; line-height:1.2; white-space:normal; word-break:keep-all;
  border-radius:18px; overflow:hidden;
  border:1px solid rgba(255,255,255,.35);
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(230,230,230,.90));
  box-shadow:0 12px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.55);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  background-clip: padding-box;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}
#hpgf-paypal-cta .hpgf-btn-paypal.is-disabled{ opacity:.55; pointer-events:none; filter:grayscale(.1); }
@media (max-width:420px){
  #hpgf-paypal-cta .hpgf-btn-paypal{ font-size:16px; padding:13px 14px; border-radius:16px; min-height:50px; }
}


/* PayPal-Hinweis unter dem Button */
.hpgf-paypal-note{
  display:block;
  margin-top:6px;
  font-size:12.5px;
  line-height:1.35;
  color:rgba(255,255,255,.9);
}
.hpgf-paypal-note a{
  color: var(--hpgf-emerald, #00998e);
  text-decoration: underline;
  text-underline-offset: 2px;
}


/* PayPal-Hinweis unter dem Button */
.hpgf-paypal-note{
  display:block;
  margin-top:6px;
  font-size:12.5px;
  line-height:1.35;
  color:rgba(255,255,255,.9);
}
.hpgf-paypal-note a{
  color: var(--hpgf-emerald, #00998e);
  text-decoration: underline;
  text-underline-offset: 2px;
}
