/* Römer Post form styles */
.romer-post-form { 
  --rp-green: #275029;
  font-family: inherit;
}
.romer-post-form .rpf-alert { padding: 0.8rem 1rem; border-radius: 6px; margin-bottom: 1rem; }
.romer-post-form .rpf-alert.success { background: #e8f3ec; color: var(--rp-green); border: 1px solid var(--rp-green); }
.romer-post-form .rpf-alert.error { background: #fdecec; color: #9b1c1c; border: 1px solid #d33; }

.romer-post-form .rpf-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rp-gap);
}
.romer-post-form .rpf-colspan { grid-column: 1 / -1; }

.romer-post-form label { display: block; font-weight: 600; margin-bottom: 0.3rem; color: var(--rp-green); }
.romer-post-form input[type="text"],
.romer-post-form input[type="email"],
.romer-post-form textarea {
  width: 100%;
  border: 1px solid rgba(0,0,0,0.2);
  border-radius: 8px;
  padding: clamp(10px, 1vw, 14px) clamp(12px, 1.2vw, 16px);
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.romer-post-form.vp-irl-landscape textarea {
  font-size: 1.5vw;
}
.romer-post-form.vp-irl-landscape-smart textarea {
  font-size: 1.9vw;
}
.romer-post-form.vp-irl-portrait textarea {
  font-size: 2.3vw;
}
.romer-post-form.vp-irl-portrait-smart textarea {
  font-size: 3.4vw;
}
.romer-post-form input:focus,
.romer-post-form textarea:focus { border-color: var(--rp-green); box-shadow: 0 0 0 3px rgba(39,80,41,.15); }
.romer-post-form .rpf-err { color: #b51a1a; margin-top: 0.25rem; }
.romer-post-form.vp-irl-landscape .rpf-err {
  font-size: 1.8vw;
}
.romer-post-form.vp-irl-landscape-smart .rpf-err {
  font-size: 2.4vw;
}
.romer-post-form.vp-irl-portrait .rpf-err {
  font-size: 2.9vw;
}
.romer-post-form.vp-irl-portrait-smart .rpf-err {
  font-size: 5.6vw;
}

.romer-post-form .rpf-check { display: flex; align-items: flex-start; gap: 0.6rem; }
.romer-post-form .rpf-check input { margin-top: 0.3rem; }
.romer-post-form .rpf-check span { color: #333; }
.romer-post-form.vp-irl-landscape label {
  font-size: 1.5vw;
}
.romer-post-form.vp-irl-landscape-smart label {
  font-size: 1.8vw;
}
.romer-post-form.vp-irl-portrait label {
  font-size: 2.1vw;
}
.romer-post-form.vp-irl-portrait-smart .label {
  font-size: 3.2vw;
}
.romer-post-form.vp-irl-landscape .rpf-check span {
  font-size: 1.5vw;
}
.romer-post-form.vp-irl-landscape-smart .rpf-check span {
  font-size: 1.8vw;
}
.romer-post-form.vp-irl-portrait .rpf-check span {
  font-size: 2.1vw;
}
.romer-post-form.vp-irl-portrait-smart .rpf-check span {
  font-size: 3.2vw;
}
.romer-post-form .rpf-actions { margin-top: calc(var(--rp-gap) * 1.5); display: flex; justify-content: center; }
.romer-post-form .rpf-btn {
  background: var(--rp-green);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: clamp(10px,1vw,14px) clamp(18px,1.8vw,26px);
  cursor: pointer;
  transition: transform .08s ease, box-shadow .2s ease;
}
.romer-post-form.vp-irl-landscape .rpf-btn {
  font-size: 1.8vw;
}
.romer-post-form.vp-irl-landscape-smart .rpf-btn {
  font-size: 2.4vw;
}
.romer-post-form.vp-irl-portrait .rpf-btn {
  font-size: 2.9vw;
}
.romer-post-form.vp-irl-portrait-smart .rpf-btn {
  font-size: 5.6vw;
}
.romer-post-form .rpf-btn:hover { box-shadow: 0 6px 18px rgba(39,80,41,.25); }
.romer-post-form .rpf-btn:active { transform: translateY(1px); }

/* Honeypot */
.romer-post-form .rpf-hp { position: absolute; left: -9999px; top: -9999px; opacity: 0; height: 0; width: 0; }

/* Orientation responsive (matches site technique) */
.romer-post-form.vp-irl-landscape .rpf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.romer-post-form.vp-irl-portrait  .rpf-grid { grid-template-columns: 1fr; }
.romer-post-form.vp-irl-landscape-smart .rpf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.romer-post-form.vp-irl-portrait-smart  .rpf-grid { grid-template-columns: 1fr; }

/* Success overlay */
.rpf-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.35); display: flex; align-items: center; justify-content: center; z-index: 9999; }
.rpf-modal { background: #fff; color: #222; border-radius: 12px; padding: clamp(14px, 2vw, 22px); width: min(90%, 520px); box-shadow: 0 10px 30px rgba(0,0,0,.2); border-top: 6px solid var(--rp-green); text-align: center; }
.rpf-modal-body { font-size: clamp(14px, 1.6vw, 18px); margin-bottom: 12px; }
.rpf-modal-actions { display: flex; justify-content: center; }
.rpf-modal .rpf-btn { background: var(--rp-green); color: #fff; border: none; border-radius: 999px; padding: clamp(10px,1vw,14px) clamp(18px,1.8vw,26px); cursor: pointer; }

.romer-post-form.vp-irl-landscape {
  width: 50%;
  --rp-gap: 1.4vw;
  margin: 2vw auto;
}
.romer-post-form.vp-irl-portrait {
  width: 75%;
  --rp-gap: 2.4vw;
  margin: 2vw auto;
}
.romer-post-form.vp-irl-landscape-smart {
  width: 60%;
  --rp-gap: 2.4vw;
  margin: 4vw auto;
}
.romer-post-form.vp-irl-portrait-smart {
  width: 80%;
  --rp-gap: 4vw;
  margin: 6vw auto;
}