/* ================================================================
   Mietraeder24 Rental Booking — rental.css v1.9.0
   + PayPal Smart Buttons
   ================================================================ */

:root {
    --mr-blue:#03a9f4;--mr-blue-d:#0288d1;--mr-blue-l:#e1f5fe;
    --mr-green:#196B24;--mr-green-l:#e8f5e9;
    --mr-dark:#1a1a1a;--mr-text:#2c2c2c;--mr-muted:#666;--mr-border:#e0e0e0;
    --mr-bg:#f8f9fa;--mr-white:#fff;--mr-red:#c0392b;--mr-red-l:#f8d7da;
    --mr-radius:12px;--mr-shadow:0 2px 12px rgba(0,0,0,.08);
}
.mr-rental{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--mr-text);max-width:800px;margin:2rem auto;padding:0 1rem;}
.mr-card{background:var(--mr-white);border-radius:var(--mr-radius);box-shadow:var(--mr-shadow);padding:2rem;border-top:4px solid var(--mr-blue);}
.mr-header h2{margin:0 0 .25rem;font-size:1.5rem;color:var(--mr-dark);}
.mr-subtitle{color:var(--mr-muted);font-size:.95rem;margin:0 0 1.5rem;}
.mr-alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;}
.mr-alert--success{background:var(--mr-green-l);color:#155724;border:1px solid #c3e6cb;}
.mr-alert--error{background:var(--mr-red-l);color:#721c24;border:1px solid #f5c6cb;}
.mr-steps{display:flex;gap:.4rem;margin-bottom:1.75rem;flex-wrap:wrap;}
.mr-step{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;border-radius:24px;font-size:.78rem;font-weight:600;background:#f0f0f0;color:var(--mr-muted);white-space:nowrap;transition:.2s;}
.mr-step-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.1);font-size:.72rem;font-weight:700;}
.mr-step--active{background:var(--mr-blue);color:#fff;}.mr-step--active .mr-step-num{background:rgba(255,255,255,.3);}
.mr-step--done{background:var(--mr-green);color:#fff;}.mr-step--done .mr-step-num{background:rgba(255,255,255,.3);}
.mr-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;border:2px solid transparent;transition:.2s;text-decoration:none;}
.mr-btn--primary{background:var(--mr-blue);color:#fff;border-color:var(--mr-blue);}.mr-btn--primary:hover{background:var(--mr-blue-d);border-color:var(--mr-blue-d);}
.mr-btn--book{font-size:1.05rem;padding:.75rem 2rem;}
.mr-btn--ghost{background:transparent;color:var(--mr-muted);border-color:var(--mr-border);}.mr-btn--ghost:hover{border-color:#999;color:var(--mr-text);}
.mr-btn:disabled{opacity:.5;cursor:not-allowed;}
.mr-btn-row{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap;}
.mr-field{margin-bottom:1rem;}.mr-field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.35rem;color:var(--mr-dark);}
.mr-input,.mr-select{width:100%;padding:.6rem .85rem;border:1.5px solid var(--mr-border);border-radius:8px;font-size:.95rem;background:var(--mr-white);box-sizing:border-box;transition:border-color .2s;}
.mr-input:focus,.mr-select:focus{outline:none;border-color:var(--mr-blue);box-shadow:0 0 0 3px rgba(3,169,244,.15);}
.mr-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:560px){.mr-field-row{grid-template-columns:1fr;}}
.mr-checkbox-field label{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;font-weight:400;cursor:pointer;}
.mr-checkbox-field input{margin-top:.25rem;flex-shrink:0;accent-color:var(--mr-blue);}
.mr-checkbox-field a{color:var(--mr-blue);text-decoration:underline;}
.mr-optional{font-weight:400;color:var(--mr-muted);font-size:.78rem;}
.mr-duration-cards{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem;}
.mr-dur-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem 1rem;border:2px solid var(--mr-border);border-radius:8px;cursor:pointer;transition:.2s;font-size:.82rem;font-weight:600;min-width:70px;text-align:center;}
.mr-dur-card:hover{border-color:var(--mr-blue);background:var(--mr-blue-l);}
.mr-dur-card--selected{border-color:var(--mr-blue);background:var(--mr-blue-l);box-shadow:0 0 0 3px rgba(3,169,244,.2);}
.mr-dur-icon{font-size:1.3rem;}
.mr-season-info{background:var(--mr-bg);border:1px solid var(--mr-border);border-radius:8px;padding:.6rem 1rem;margin-bottom:1rem;font-size:.85rem;line-height:1.5;}
.mr-season-badge{display:inline-block;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700;margin-right:.3rem;}
.mr-season-badge--main{background:#fff8e1;color:#f57f17;}.mr-season-badge--off{background:#e8f5e9;color:#2e7d32;}.mr-season-badge--request{background:#e3f2fd;color:#0d47a1;}
.mr-pickup-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem;}
@media(max-width:560px){.mr-pickup-cards{grid-template-columns:1fr;}}
.mr-pickup-card{border:2px solid var(--mr-border);border-radius:8px;padding:1rem;cursor:pointer;transition:.2s;}
.mr-pickup-card strong{display:block;margin-bottom:.25rem;}.mr-pickup-card span{font-size:.82rem;color:var(--mr-muted);}
.mr-pickup-card:hover{border-color:var(--mr-blue);background:var(--mr-blue-l);}
.mr-pickup-card--selected{border-color:var(--mr-blue);background:var(--mr-blue-l);box-shadow:0 0 0 3px rgba(3,169,244,.15);}
.mr-keysafe-hint{background:#e3f2fd;border:1px solid #90caf9;border-left:4px solid var(--mr-blue);border-radius:8px;padding:.6rem 1rem;margin-top:.75rem;font-size:.82rem;color:#0d47a1;line-height:1.5;}
.mr-return-hint{background:#fff3cd;border:1px solid #ffe082;border-left:4px solid #f57f17;border-radius:8px;padding:.55rem .9rem;margin-bottom:1rem;font-size:.82rem;color:#856404;line-height:1.5;}
.mr-evehicle-hint{background:#e3f2fd;border:1px solid #90caf9;border-left:4px solid var(--mr-blue);border-radius:8px;padding:.55rem .9rem;margin-bottom:1rem;font-size:.82rem;color:#0d47a1;line-height:1.5;}
.mr-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;}
.mr-cat-card{border:2px solid var(--mr-border);border-radius:var(--mr-radius);padding:1.25rem;transition:.2s;background:var(--mr-white);}.mr-cat-card:hover{border-color:var(--mr-blue);}
.mr-cat-card--sold-out{opacity:.5;}
.mr-cat-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;}
.mr-cat-card__header h4{margin:0;font-size:1rem;color:var(--mr-dark);}
.mr-cat-card__avail{font-size:.72rem;background:var(--mr-green-l);color:var(--mr-green);padding:.15rem .5rem;border-radius:10px;font-weight:600;white-space:nowrap;}
.mr-cat-card__desc{font-size:.82rem;color:var(--mr-muted);margin:0 0 .75rem;line-height:1.4;}
.mr-cat-card__sr{display:block;font-size:.72rem;color:#0d47a1;background:#e3f2fd;padding:.2rem .5rem;border-radius:4px;margin-bottom:.5rem;}
.mr-cat-card__price{margin-bottom:.75rem;}.mr-cat-card__price strong{font-size:1.2rem;color:var(--mr-blue);}.mr-cat-card__price span{font-size:.82rem;color:var(--mr-muted);}
.mr-cat-card__qty{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;}
.mr-qty-btn{width:32px;height:32px;border-radius:50%;border:2px solid var(--mr-border);background:var(--mr-white);font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0;}.mr-qty-btn:hover{border-color:var(--mr-blue);background:var(--mr-blue-l);}
.mr-qty-val{font-size:1.1rem;font-weight:700;min-width:24px;text-align:center;}
.mr-sold-out{color:var(--mr-red);font-weight:600;font-size:.85rem;}
.mr-heights{margin-top:.25rem;}
.mr-height-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;}
.mr-height-label{font-size:.78rem;font-weight:600;color:var(--mr-muted);white-space:nowrap;}
.mr-height-select{flex:1;padding:.35rem .5rem;border:1.5px solid var(--mr-border);border-radius:6px;font-size:.82rem;background:var(--mr-white);max-width:200px;}.mr-height-select:focus{border-color:var(--mr-blue);outline:none;}
.mr-height-warning{background:#fff3cd;border:1px solid #ffe082;border-left:4px solid #f57f17;border-radius:8px;padding:.6rem 1rem;margin-bottom:1rem;font-size:.85rem;color:#856404;line-height:1.5;}
.mr-vcart{background:var(--mr-bg);border:1px solid var(--mr-border);border-radius:var(--mr-radius);padding:1rem 1.25rem;margin-bottom:1rem;}
.mr-vcart h4{margin:0 0 .5rem;font-size:.95rem;}
.mr-vcart-item{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.88rem;border-bottom:1px solid #eee;}.mr-vcart-item:last-child{border-bottom:none;}
.mr-vcart-total{display:flex;justify-content:space-between;margin-top:.5rem;padding-top:.5rem;border-top:2px solid var(--mr-blue);font-size:.95rem;}.mr-vcart-total strong{color:var(--mr-blue);font-size:1.1rem;}
.mr-acc-list{margin-bottom:1rem;}
.mr-acc-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border:1.5px solid var(--mr-border);border-radius:8px;margin-bottom:.5rem;transition:.2s;flex-wrap:nowrap;}.mr-acc-row:hover{border-color:var(--mr-blue);background:var(--mr-blue-l);}
.mr-acc-row[data-locked="1"]{background:var(--mr-blue-l);border-color:var(--mr-blue);opacity:.85;}.mr-acc-row[data-locked="1"] .mr-qty-btn{opacity:.4;cursor:not-allowed;}
.mr-acc-row__left{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0;}
.mr-acc-name{font-weight:600;font-size:.88rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
.mr-acc-price{font-size:.75rem;color:var(--mr-muted);}
.mr-acc-tag{display:inline-block;padding:.1rem .45rem;border-radius:10px;font-size:.62rem;font-weight:700;background:#e3f2fd;color:#0d47a1;}
.mr-acc-row__right{display:flex;flex-direction:row;align-items:center;gap:.4rem;flex-shrink:0;margin-left:.75rem;}
.mr-acc-qty{font-size:1rem;font-weight:700;min-width:24px;text-align:center;}
.mr-acc-lock-hint{background:var(--mr-green-l);border:1px solid #a5d6a7;border-left:4px solid var(--mr-green);border-radius:8px;padding:.55rem .9rem;margin-bottom:.75rem;font-size:.82rem;color:#2e7d32;line-height:1.5;}
.mr-acc-auto-hint{background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;padding:.55rem .9rem;margin-bottom:.75rem;font-size:.82rem;color:#0d47a1;line-height:1.5;}

/* ── Zahlungsarten + PayPal ───────────────────────── */
.mr-payment-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.5rem;}
@media(max-width:560px){.mr-payment-cards{grid-template-columns:1fr;}}
.mr-pay-card{border:2px solid var(--mr-border);border-radius:8px;padding:.85rem;cursor:pointer;transition:.2s;text-align:center;}
.mr-pay-card strong{display:block;margin-bottom:.2rem;font-size:.88rem;}.mr-pay-card span{font-size:.72rem;color:var(--mr-muted);}
.mr-pay-card:hover{border-color:var(--mr-blue);background:var(--mr-blue-l);}
.mr-pay-card--selected{border-color:var(--mr-blue);background:var(--mr-blue-l);box-shadow:0 0 0 3px rgba(3,169,244,.15);}
.mr-pay-card--disabled{opacity:.4;cursor:not-allowed;pointer-events:none;}
.mr-transfer-info{background:#e8f5e9;border:1px solid #a5d6a7;border-left:4px solid var(--mr-green);border-radius:8px;padding:.6rem 1rem;margin-top:.75rem;font-size:.82rem;color:#2e7d32;line-height:1.5;}
.mr-paypal-container{margin-top:1rem;padding:1rem;background:var(--mr-bg);border:1px solid var(--mr-border);border-radius:var(--mr-radius);}
.mr-paypal-container .mr-hint{text-align:center;margin-top:.5rem;}

/* ── Zusammenfassung ──────────────────────────────── */
.mr-summary-box{background:var(--mr-bg);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.25rem;font-size:.88rem;line-height:1.8;border-left:4px solid var(--mr-blue);}
.mr-sum-price{float:right;color:var(--mr-muted);font-size:.82rem;}
.mr-sum-line{display:flex;justify-content:space-between;padding:.3rem 0;border-top:1px solid var(--mr-border);margin-top:.3rem;font-size:.88rem;}
.mr-sum-total{display:flex;justify-content:space-between;padding:.5rem 0;border-top:2px solid var(--mr-blue);margin-top:.5rem;font-size:1rem;font-weight:700;}
.mr-total-price{font-size:1.15rem;font-weight:700;color:var(--mr-blue);}
.mr-on-request-note{display:block;background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;padding:.5rem .75rem;margin-top:.5rem;font-size:.82rem;color:#0d47a1;}
.mr-customer-hint{background:var(--mr-green-l);border:1px solid #a5d6a7;border-left:4px solid var(--mr-green);border-radius:8px;padding:.6rem 1rem;margin-bottom:1rem;font-size:.85rem;color:#2e7d32;}
.mr-success-box{text-align:center;padding:2.5rem 1rem;}.mr-success-icon{font-size:4rem;margin-bottom:.75rem;}
.mr-hint{font-size:.85rem;color:var(--mr-muted);margin-top:.5rem;margin-bottom:.5rem;line-height:1.5;}
.mr-loading{text-align:center;color:var(--mr-muted);padding:1.5rem;font-size:.9rem;}
.mr-step-panel{animation:mr-fade .3s ease;}
@keyframes mr-fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@media(max-width:480px){.mr-card{padding:1.25rem;}.mr-header h2{font-size:1.25rem;}.mr-cat-grid{grid-template-columns:1fr;}.mr-duration-cards{gap:.35rem;}.mr-dur-card{min-width:55px;padding:.5rem .6rem;font-size:.75rem;}.mr-height-row{flex-wrap:wrap;}.mr-height-select{max-width:100%;}.mr-payment-cards{grid-template-columns:1fr;}.mr-acc-row__left{font-size:.82rem;}.mr-acc-row__right{gap:.3rem;margin-left:.5rem;}.mr-acc-row__right .mr-qty-btn{width:28px;height:28px;font-size:.95rem;}}
