/* Riedberg Zahlungen 0.6.0 – CI: Grün #005238, Gold #C39E6D, Leinenweiß #F0EDE8, Dunkelgrau #212121 */

/* ---------- Interne Übersicht (Backend und private Seite) ---------- */
.rbpay{max-width:1100px;margin:32px auto;padding:24px;box-sizing:border-box;color:#212121}
.rbpay *{box-sizing:border-box}
.rbpay h2{color:#005238}
.rbpay-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rbpay label{display:block;font-weight:600}
.rbpay label small{display:block;font-weight:400;color:#7A7A7A;margin-top:4px}
.rbpay input,.rbpay select{display:block;width:100%;padding:12px;border:1px solid #929292;border-radius:0;background:#fff;color:#212121;font:inherit;margin-top:6px;max-width:none}
.rbpay input:focus,.rbpay select:focus{outline:2px solid #C39E6D;outline-offset:0;border-color:#005238}
.rbpay-btn,.rbpay button.rbpay-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#005238;color:#fff;border:0;border-radius:0;box-shadow:none;padding:14px 22px;cursor:pointer;font-family:"Open Sans",Arial,sans-serif;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;line-height:1.3}
.rbpay-btn:hover,.rbpay-btn:focus{background:#003d29;color:#fff}
.rbpay-btn-gold,.rbpay button.rbpay-btn-gold{background:#C39E6D}
.rbpay-btn-gold:hover,.rbpay-btn-gold:focus,.rbpay button.rbpay-btn-gold:hover{background:#A8854F}
.rbpay-btn-grey,.rbpay button.rbpay-btn-grey{background:#929292}
.rbpay-btn-grey:hover,.rbpay-btn-grey:focus,.rbpay button.rbpay-btn-grey:hover{background:#7A7A7A}
.rbpay-note{background:#F0EDE8;border-left:4px solid #005238;padding:14px 16px}
.rbpay-ok{background:#e3eee9;border-left:4px solid #005238;padding:12px 16px;font-weight:600}
.rbpay-err{background:#f6e5e1;border-left:4px solid #8a2a1d;padding:12px 16px;font-weight:600;color:#8a2a1d}
.rbpay label.rbpay-check{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-weight:600;align-self:end;padding-bottom:12px}
.rbpay label.rbpay-check input{width:auto;margin:0}
.rbpay label.rbpay-check small{flex-basis:100%;margin:0}
.rbpay-actions{white-space:nowrap}
.rbpay-actions form{margin:0}
.rbpay-actions .rbpay-copy{display:block;width:100%;margin:0 0 6px;text-align:center}
.rbpay-gs{display:block;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#005238;margin-bottom:4px}
.rbpay a.rbpay-copy{display:block;text-decoration:none;box-sizing:border-box}
.rbpay-box{color:#7a5b2e!important;font-weight:600}
.rbpay .rbpay-copy-strong{background:#C39E6D;border-color:#C39E6D;color:#fff}
.rbpay .rbpay-copy-strong:hover{background:#A8854F;border-color:#A8854F}
.rbpay-mini{display:block!important;font-weight:400!important;font-size:12px;margin:-2px 0 8px;white-space:normal}
.rbpay-mini input{display:inline!important;width:auto!important;margin:0 4px 0 0!important}
.rbpay-reason-old{color:#7a5b2e}
.rbpay-hint{color:#555;font-size:13px}
.rbpay-tabs{display:flex;gap:0;border-bottom:2px solid #005238;margin:0 0 16px}
.rbpay-tabs a{padding:10px 20px;text-decoration:none;color:#005238;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.rbpay-tabs a.is-active{background:#005238;color:#fff}
.rbpay-search{display:grid;grid-template-columns:1fr 220px auto;gap:12px;align-items:end;margin:0 0 8px}
.rbpay-scroll{overflow-x:auto}
.rbpay table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;background:#fff}
.rbpay th{background:#F0EDE8;color:#005238;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.rbpay th,.rbpay td{padding:12px;vertical-align:top;border-bottom:1px solid #e2ddd4}
.rbpay-v span{display:block;color:#555}
.rbpay-num{white-space:nowrap;font-weight:600}
.rbpay-sim{display:inline-block;margin-top:6px;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#F0EDE8;color:#7a5b2e;padding:2px 8px;border-left:3px solid #C39E6D}
.rbpay-st{display:inline-block;padding:3px 10px;font-size:12px;font-weight:700;background:#eee;color:#555}
.rbpay-st+small{display:block;margin-top:6px;color:#7A7A7A}
.rbpay-reason{display:block;margin-top:6px;color:#8a2a1d;font-weight:600}
.rbpay-reason small{font-weight:400;color:#7A7A7A}
.rbpay-reason+small{display:block;margin-top:4px;color:#7A7A7A}
.rbpay-st-paid,.rbpay-st-simulated{background:#e3eee9;color:#005238}
.rbpay-st-open,.rbpay-st-processing,.rbpay-st-authorized{background:#f3ead9;color:#7a5b2e}
.rbpay-st-failed{background:#f6e5e1;color:#8a2a1d}
.rbpay-st-expired{background:#ececec;color:#7A7A7A}
.rbpay-mails span{display:block;margin-bottom:4px}
.rbpay-mails small{color:#7A7A7A}
.rbpay-muted{color:#929292}
.rbpay .rbpay-copy{background:#fff;color:#005238;border:1px solid #005238;border-radius:0;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.rbpay .rbpay-copy:hover{background:#005238;color:#fff}
.rbpay .rbpay-copy.is-done{background:#005238;color:#fff}
.rbpay-pager{display:flex;gap:20px;align-items:center;margin:16px 0}
.rbpay-pager a{color:#A8854F;font-weight:600}
.rbpay-purge{margin:20px 0}
@media(max-width:650px){.rbpay-grid,.rbpay-search{grid-template-columns:1fr}.rbpay{padding:16px;margin:16px auto}}

/* ---------- Gastseiten ---------- */
body.rbpay-guest{margin:0;padding:0 0 48px;background:#F0EDE8;color:#212121;font-family:"Open Sans",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
.rbpay-guest *{box-sizing:border-box}
.rbpay-hero{display:block;width:100%;line-height:0;background:#F0EDE8}
.rbpay-hero a{display:block}
.rbpay-hero img{display:block;width:100%;height:clamp(120px,18.23vw,350px);object-fit:cover;object-position:center}
.rbpay-public{max-width:820px;margin:40px auto 0;background:#fff;border-top:3px solid #C39E6D;box-shadow:0 16px 45px rgba(0,61,41,.07)}
.rbpay-public .rbpay-kicker{margin:0 0 10px;color:#005238;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.rbpay-content{padding:40px 48px 44px}
.rbpay-public h1{font-family:"Playfair Display",Georgia,serif;color:#005238;font-size:clamp(30px,5vw,44px);line-height:1.15;letter-spacing:-.01em;margin:0 0 22px;font-weight:600}
.rbpay-intro{font-size:17px;color:#444;max-width:620px;margin:0 0 28px}
.rbpay-test{background:#F0EDE8;border-left:4px solid #C39E6D;padding:12px 16px;font-size:13px;letter-spacing:.02em;margin:0 0 24px;color:#212121}
.rbpay-public .rbpay-note{border-left:4px solid #C39E6D;background:#F0EDE8;padding:14px 18px;font-size:14px;margin:24px 0 0;color:#444}
.rbpay-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:26px 28px;background:#F0EDE8;border-top:2px solid #C39E6D;margin:0 0 30px}
.rbpay-summary-main{display:grid;gap:16px}
.rbpay-summary span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7A7A7A;font-weight:700}
.rbpay-summary p{margin:6px 0 0;overflow-wrap:anywhere;font-size:16px}
.rbpay-summary-amount{text-align:right}
.rbpay-summary .rbpay-amount{font-family:"Playfair Display",Georgia,serif;color:#005238;font-size:38px;line-height:1.2;white-space:nowrap}
.rbpay-amount small{font-family:"Open Sans",Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em}
.rbpay-public .rbpay-btn{min-height:52px;padding:15px 26px;font-size:14px}
.rbpay-public .rbpay-pay{min-height:60px;padding:18px 34px;font-size:15px;letter-spacing:.1em}
.rbpay-public .rbpay-btn:focus-visible,.rbpay-public a:focus-visible{outline:3px solid #A8854F;outline-offset:4px}
.rbpay-trust{font-size:13px;color:#555;margin:16px 0 10px}
.rbpay-methods-label{font-size:13px;font-weight:600;color:#212121;margin:0 0 8px}
.rbpay-methods{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.rbpay-methods li{border:1px solid #ddd8ce;background:#fff;padding:4px 12px;font-size:12px;font-weight:700;color:#555;letter-spacing:.02em}
.rbpay-sign{display:flex;align-items:center;gap:22px;margin:40px 0 0;padding-top:28px;border-top:1px solid #e8e3da}
.rbpay-sign img{width:96px;height:96px;object-fit:contain;transform:rotate(-15deg);flex-shrink:0}
.rbpay-sign p{margin:0;color:#444;font-size:15px}
.rbpay-sign strong{display:block;font-family:"Playfair Display",Georgia,serif;font-weight:600;color:#005238;font-size:22px;margin-top:4px}
.rbpay-sign span{display:block;font-size:12px;color:#7A7A7A;letter-spacing:.06em;text-transform:uppercase}
.rbpay-more{margin:8px 0 0}
.rbpay-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rbpay-more-grid .rbpay-btn{width:100%}
.rbpay-contact{margin:4px 0 0}
.rbpay-contact .rbpay-btn{text-transform:none;letter-spacing:0}
.rbpay-wait{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid #ddd8ce;margin:0 0 16px;font-weight:600;color:#005238}
.rbpay-wait-time{margin-left:auto;font-variant-numeric:tabular-nums;color:#7A7A7A;font-weight:400}
.rbpay-wait.is-late{color:#7a5b2e;font-weight:400}
.rbpay-wait.is-late .rbpay-spinner{display:none}
.rbpay-spinner{width:20px;height:20px;border:3px solid #e3ddd2;border-top-color:#005238;border-radius:50%;flex-shrink:0;animation:rbpay-spin 1s linear infinite}
@keyframes rbpay-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.rbpay-spinner{animation-duration:3s}}
.rbpay-footer{display:flex;justify-content:space-between;gap:28px;padding:30px 48px;background:#005238;color:#fff;font-size:13px;border-top:3px solid #C39E6D}
.rbpay-footer p{margin:0 0 8px}
.rbpay-footer .rbpay-signoff{font-family:"Playfair Display",Georgia,serif;font-size:28px;line-height:1.2;margin-bottom:4px}
.rbpay-footer .rbpay-claim{font-family:"Playfair Display",Georgia,serif;font-style:italic;color:#C39E6D;font-size:16px;margin-bottom:14px}
.rbpay-footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.rbpay-footer a:hover{color:#C39E6D}
@media(max-width:600px){
  .rbpay-public{margin:20px 12px 0}
  .rbpay-content{padding:28px 22px 32px}
  .rbpay-intro{font-size:16px}
  .rbpay-summary{grid-template-columns:1fr;padding:20px;gap:18px}
  .rbpay-summary-amount{text-align:left}
  .rbpay-public .rbpay-btn{width:100%}
  .rbpay-more-grid{grid-template-columns:1fr}
  .rbpay-sign img{width:78px;height:78px}
  .rbpay-footer{padding:26px 22px;flex-direction:column;gap:16px}
}

/* ---------- Gutschein-Bestellformular (Shortcode riedberg_gutschein) ---------- */
.rbgs{max-width:1180px;margin:0 auto;padding:36px 40px;background:#fff;border-top:3px solid #C39E6D;box-shadow:0 16px 45px rgba(0,61,41,.07);color:#212121;font-family:"Open Sans",Arial,sans-serif;box-sizing:border-box}
.rbgs *{box-sizing:border-box}
.rbgs-kicker{margin:0 0 8px;color:#005238;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.rbgs .rbgs-h{font-family:"Playfair Display",Georgia,serif;color:#005238;font-size:clamp(26px,4vw,36px);line-height:1.2;margin:0 0 24px;font-weight:600}
.rbgs-test{background:#F0EDE8;border-left:4px solid #C39E6D;padding:10px 14px;font-size:13px;margin:0 0 20px}
.rbgs-err{background:#f6e5e1;border-left:4px solid #8a2a1d;color:#8a2a1d;padding:12px 16px;font-weight:600}
.rbgs-step{border:0;margin:0 0 26px;padding:0}
.rbgs-step legend{font-family:"Playfair Display",Georgia,serif;color:#005238;font-size:21px;font-weight:600;margin:0 0 12px;padding:0}
.rbgs-step legend span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:8px;background:#005238;color:#fff;font-family:"Open Sans",Arial,sans-serif;font-size:14px}
.rbgs-step legend small{font-family:"Open Sans",Arial,sans-serif;font-size:12px;color:#7A7A7A;font-weight:400}
.rbgs label{display:block;font-weight:600;font-size:14px;margin:0 0 12px}
.rbgs label small{display:block;font-weight:400;color:#7A7A7A;margin-top:4px}
.rbgs input[type=text],.rbgs input:not([type]),.rbgs input[type=email],.rbgs textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #929292;border-radius:0;background:#fff;color:#212121;font:inherit;font-weight:400}
.rbgs input:focus,.rbgs textarea:focus{outline:2px solid #C39E6D;outline-offset:0;border-color:#005238}
.rbgs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.rbgs-amounts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.rbgs label.rbgs-chip{margin:0;cursor:pointer}
.rbgs-chip input{position:absolute;opacity:0;pointer-events:none}
.rbgs-chip span{display:inline-block;min-width:96px;padding:13px 18px;text-align:center;border:1px solid #005238;color:#005238;font-weight:700;font-size:15px;background:#fff}
.rbgs-chip input:checked+span{background:#005238;color:#fff}
.rbgs-chip input:focus-visible+span{outline:3px solid #A8854F;outline-offset:2px}
.rbgs-freefield{max-width:260px}
.rbgs label.rbgs-check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.rbgs-check input{margin-top:4px;width:18px;height:18px;flex-shrink:0}
.rbgs-check a{color:#A8854F}
.rbgs-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rbgs .rbgs-btn{display:inline-flex;align-items:center;justify-content:center;background:#C39E6D;color:#fff;border:0;border-radius:0;box-shadow:none;padding:18px 34px;min-height:58px;cursor:pointer;font-family:"Open Sans",Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase}
.rbgs .rbgs-btn:hover,.rbgs .rbgs-btn:focus{background:#A8854F;color:#fff}
.rbgs-note{font-size:13px;color:#555;margin:14px 0 0;line-height:1.6}
@media(max-width:600px){.rbgs{padding:26px 20px}.rbgs-grid{grid-template-columns:1fr}.rbgs-chip span{min-width:0}.rbgs .rbgs-btn{width:100%}}

/* Gutschein-Vorschau (Maße in mm der A4-Vorlage, --u = Pixel pro mm) */
.rbgs-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:40px;align-items:start}
.rbgs-aside{position:sticky;top:24px}
.rbgs-aside-head{display:flex;justify-content:space-between;align-items:center}
.rbgs .rbgs-preview-close{display:none;background:#005238;color:#fff;border:0;border-radius:0;width:40px;height:40px;font-size:24px;line-height:1;cursor:pointer}
.rbgs .rbgs-preview-open{display:none;margin:4px 0 0;background:#fff;color:#005238;border:1px solid #005238;border-radius:0;padding:12px 18px;font-weight:700;font-size:14px;cursor:pointer}
.rbgs-pv{--u:1.8px;position:relative;width:100%;aspect-ratio:210/297;background-size:100% 100%;background-color:#F0EDE8;box-shadow:0 10px 30px rgba(0,61,41,.18);overflow:hidden;color:#212121;line-height:1.2}
.rbgs-pv-veil{position:absolute;left:29.05%;top:18.86%;width:41.9%;height:55.9%;background:rgba(255,255,255,.59)}
.rbgs-pv-center{position:absolute;left:29.05%;top:22.9%;width:41.9%;text-align:center}
.rbgs-pv-title{font-family:"Playfair Display",Georgia,serif;font-weight:700;color:#005238;font-size:calc(var(--u)*13.4);line-height:1.08;margin-bottom:calc(var(--u)*3)}
.rbgs-pv-small{font-family:"Open Sans",Arial,sans-serif;font-size:calc(var(--u)*3.9)}
.rbgs-pv-strong{font-weight:700;color:#005238}
.rbgs-pv-bottom .rbgs-pv-strong{color:#212121}
.rbgs-pv-amount{font-family:"Playfair Display",Georgia,serif;font-weight:700;color:#005238;font-size:calc(var(--u)*12);margin:calc(var(--u)*1) 0 calc(var(--u)*6)}
.rbgs-pv-block{margin-bottom:calc(var(--u)*4)}
.rbgs-pv-name{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:calc(var(--u)*7);overflow-wrap:anywhere}
.rbgs-pv-name-s{font-size:calc(var(--u)*6)}
.rbgs-pv-ded{font-family:"Playfair Display",Georgia,serif;font-size:calc(var(--u)*4.6);line-height:1.35;padding:0 calc(var(--u)*2);white-space:pre-line;overflow-wrap:anywhere}
.rbgs-pv-bottom{position:absolute;left:4.76%;top:81.8%;font-family:"Open Sans",Arial,sans-serif;font-size:calc(var(--u)*3.35);line-height:1.5}
.rbgs-pv-bottom .rbgs-pv-strong{font-size:calc(var(--u)*3.9)}
.rbgs-pv-date{font-size:calc(var(--u)*3.9);margin-top:calc(var(--u)*2)}
.rbgs-pv-muster{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-32deg);font-family:"Open Sans",Arial,sans-serif;font-weight:800;font-size:calc(var(--u)*30);letter-spacing:.08em;color:rgba(160,40,30,.42);border:calc(var(--u)*1.2) solid rgba(160,40,30,.42);padding:0 calc(var(--u)*5);white-space:nowrap;pointer-events:none}
.rbgs-pv-note{font-size:12px;color:#7A7A7A;margin:10px 0 0}
@media(max-width:999px){
  .rbgs-layout{grid-template-columns:1fr}
  .rbgs .rbgs-preview-open{display:inline-block}
  .rbgs-aside{display:none}
  .rbgs-aside.is-open{display:block;position:fixed;inset:0;z-index:99999;background:rgba(33,33,33,.85);padding:16px;overflow:auto}
  .rbgs-aside.is-open .rbgs-aside-head{background:#fff;padding:8px 8px 8px 14px;margin:0 auto 10px;max-width:520px}
  .rbgs-aside.is-open .rbgs-aside-head .rbgs-kicker{margin:0}
  .rbgs-aside.is-open .rbgs-preview-close{display:block}
  .rbgs-aside.is-open .rbgs-pv{max-width:520px;margin:0 auto}
  .rbgs-aside.is-open .rbgs-pv-note{color:#fff;text-align:center}
}

/* Erlebnis-Seite */
.rbgs--erlebnis{max-width:1180px}
.rbgs select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #929292;border-radius:0;background:#fff;color:#212121;font:inherit;font-weight:400;min-height:48px}
.rbgs input[type=number],.rbgs input[type=date],.rbgs input[type=tel]{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #929292;border-radius:0;background:#fff;color:#212121;font:inherit;font-weight:400}
.rbgs-wertfeld{max-width:360px}
.rbgs-info{background:#F0EDE8;border-left:4px solid #C39E6D;padding:12px 16px;font-size:14px;margin:4px 0 14px}
.rbgs-label{display:block;font-weight:600;font-size:14px;margin:4px 0 8px}
.rbgs-box-only .rbgs-check{margin-bottom:8px}
.rbgs-sum{margin:0 0 18px;padding:14px 18px;background:#F0EDE8;border-top:2px solid #C39E6D}
.rbgs-sum:empty{display:none}
.rbgs-sum div{display:flex;justify-content:space-between;gap:16px;padding:5px 0;border-bottom:1px dashed #ddd5c8}
.rbgs-sum dt,.rbgs-sum dd{margin:0}
.rbgs-sum dd{font-weight:600;white-space:nowrap}
.rbgs-sum .is-summe{border-bottom:0}
.rbgs-sum .is-summe dt,.rbgs-sum .is-summe dd{font-weight:700;color:#005238}
.rbgs-pv-offer-t{font-family:"Playfair Display",Georgia,serif;font-weight:700;color:#005238;font-size:calc(var(--u)*4.9)}
.rbgs-pv-offer{margin-top:calc(var(--u)*-3)}
