/* ================================================================
 * MTV - Reservierung: oeffentliches Homepage-Widget
 * Wrap-Prefix: .rsp-wrap  (standalone, Branding via CSS-Variablen)
 * --rsp-primaer / --rsp-akzent / --rsp-text werden per JS gesetzt.
 * ================================================================ */

.rsp-wrap{
    --rsp-primaer:#85bb22;--rsp-akzent:#c4bbdd;--rsp-text:#493a30;
    font-family:'Inter',sans-serif;font-size:14px;color:var(--rsp-text);
    background:#fff;max-width:920px;margin:0 auto;padding:14px;box-sizing:border-box;
}
.rsp-wrap *{box-sizing:border-box;}
.rsp-wrap input,.rsp-wrap select{
    font-family:'Inter',sans-serif;font-size:14px;color:var(--rsp-text);
    border:1px solid #a19e92;border-radius:8px;padding:0 12px;background:#fff;width:100%;height:42px;line-height:40px;
}
.rsp-wrap input:focus,.rsp-wrap select:focus{outline:none;border-color:var(--rsp-primaer);box-shadow:0 0 0 2px var(--rsp-akzent);}
.rsp-wrap label{font-weight:600;display:block;margin-bottom:4px;}

.rsp-head{text-align:center;padding:10px 0 16px;border-bottom:3px solid var(--rsp-primaer);margin-bottom:16px;}
.rsp-logo{max-height:70px;max-width:240px;margin-bottom:8px;}
.rsp-head h1{font-size:22px;font-weight:700;margin:4px 0;color:var(--rsp-text);}
.rsp-intro{margin:6px 0 0;color:var(--rsp-text);}

.rsp-loading,.rsp-empty,.rsp-err{padding:30px;text-align:center;color:#a19e92;font-weight:600;}
.rsp-err{color:#d40829;}

.rsp-searchbar{margin-bottom:14px;}

.rsp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}
.rsp-card{
    border:1px solid #a19e92;border-radius:10px;overflow:hidden;cursor:pointer;background:#fff;
    transition:transform 0.1s, box-shadow 0.1s;
}
.rsp-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(73,58,48,0.15);}
.rsp-card-img{height:130px;background-size:cover;background-position:center;background-color:#f2f0f0;}
.rsp-card-noimg{display:flex;align-items:center;justify-content:center;color:var(--rsp-akzent);font-size:40px;}
.rsp-card-bd{padding:10px 12px;}
.rsp-card-bd strong{display:block;color:var(--rsp-text);}
.rsp-card-price{display:inline-block;margin-top:6px;font-weight:700;color:var(--rsp-text);background:var(--rsp-akzent);padding:2px 10px;border-radius:10px;font-size:12px;}

.rsp-back{
    background:none;border:none;color:var(--rsp-text);font-weight:700;cursor:pointer;
    font-family:'Inter',sans-serif;font-size:14px;padding:6px 0;margin-bottom:8px;
}
.rsp-detail h2{font-size:20px;font-weight:700;margin:0 0 6px;color:var(--rsp-text);}
.rsp-desc{margin:0 0 14px;}
.rsp-minical{margin-bottom:16px;}

.rsp-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.rsp-frow{grid-column:1 / -1;}
.rsp-form .rsp-frow:nth-child(1),.rsp-form .rsp-frow:nth-child(2){grid-column:auto;}

.rsp-btn{
    grid-column:1 / -1;background:var(--rsp-primaer);color:#fff;border:none;border-radius:8px;
    padding:12px 18px;font-weight:700;font-size:15px;cursor:pointer;font-family:'Inter',sans-serif;min-height:46px;
}
.rsp-btn:hover{filter:brightness(0.94);}
.rsp-btn:disabled{opacity:0.5;cursor:not-allowed;filter:none;}
.rsp-btn-check{background:var(--rsp-akzent);color:var(--rsp-text);}

.rsp-avail{grid-column:1 / -1;border-radius:8px;padding:0;font-weight:700;text-align:center;}
.rsp-avail-ok{padding:10px;background:#e3e1a2;color:#0a651f;}
.rsp-avail-no{padding:10px;background:#f0bfb9;color:#d40829;}

.rsp-ds{grid-column:1 / -1;display:flex;align-items:flex-start;gap:8px;font-weight:600;}
.rsp-ds input{width:auto;height:auto;min-width:20px;min-height:20px;margin-top:2px;}
.rsp-ds-note{grid-column:1 / -1;font-size:12px;color:#a19e92;margin:0;}
.rsp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* Datums-Zusammenfassung */
.rsp-sel{margin-bottom:16px;padding:10px 14px;border:1px solid #a19e92;border-radius:8px;background:#f2f0f0;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.rsp-sel-empty{justify-content:center;color:#a19e92;font-weight:600;cursor:default;}
.rsp-sel-txt{font-weight:700;color:var(--rsp-text);}
.rsp-sel-status{border-radius:8px;padding:4px 12px;font-weight:700;font-size:13px;}
.rsp-st-ok{background:#e3e1a2;color:#0a651f;}
.rsp-st-no{background:#f0bfb9;color:#d40829;}

/* Datums-Modal (eigenes, kein SweetAlert) */
.rsp-modal-ov{position:fixed;inset:0;background:rgba(73,58,48,0.5);display:flex;align-items:center;justify-content:center;z-index:99999;padding:14px;}
.rsp-modal{background:#fff;border-radius:12px;width:100%;max-width:420px;box-shadow:0 12px 34px rgba(73,58,48,0.32);overflow:hidden;}
.rsp-modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:2px solid var(--rsp-primaer);}
.rsp-modal-head strong{font-size:16px;font-weight:700;color:var(--rsp-text);}
.rsp-modal-x{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--rsp-text);width:auto;height:auto;padding:0 4px;}
.rsp-modal-bd{padding:16px;display:flex;flex-direction:column;gap:12px;}
.rsp-modal-foot{display:flex;gap:10px;padding:0 16px 16px;}
.rsp-modal-foot .rsp-btn{flex:1;min-height:44px;}
.rsp-btn-cancel{background:#fff;border:1px solid #a19e92;color:var(--rsp-text);}
.rsp-btn-cancel:hover{background:#f2f0f0;filter:none;}

/* FullCalendar im Widget */
.rsp-wrap .fc{font-family:'Inter',sans-serif;font-size:13px;color:var(--rsp-text);--fc-today-bg-color:#e3e1a2;--fc-border-color:#a19e92;--fc-button-bg-color:var(--rsp-primaer);--fc-button-border-color:var(--rsp-primaer);--fc-button-active-bg-color:#493a30;--fc-button-active-border-color:#493a30;}
.rsp-wrap .fc .fc-toolbar-title{font-size:15px;font-weight:700;}
.rsp-wrap .fc .fc-button{font-weight:700;text-transform:none;}
.rsp-wrap .fc-bg-event{opacity:1;}
.rsp-wrap .fc-bg-event .fc-event-title{font-weight:700;font-style:normal;padding:1px 3px;}
.rsp-wrap .rsp-ev-block .fc-event-title{color:#f2f0f0;}
.rsp-wrap .rsp-ev-part .fc-event-title{color:#493a30;}

@media (max-width:600px){
    .rsp-wrap{font-size:15px;padding:10px;}
    .rsp-cards{grid-template-columns:1fr 1fr;gap:10px;}
    .rsp-card-img{height:100px;}
    .rsp-form{grid-template-columns:1fr;}
    .rsp-form .rsp-frow:nth-child(1),.rsp-form .rsp-frow:nth-child(2){grid-column:1 / -1;}
}
