/* FeWoX.org – Ergänzende Styles für Buchung, Konto und Admin */
.page-main{padding:56px 0 88px 0;min-height:60vh;}
.page-narrow{max-width:560px;margin:0 auto;}
.page-wide{max-width:1140px;margin:0 auto;}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);}
.card + .card{margin-top:22px;}
.card h2{font-size:1.5rem;}
.card h3{font-size:1.1rem;color:var(--rust);}
.muted{color:var(--charcoal-soft);font-size:.92rem;}
.small{font-size:.82rem;}

/* Formulare */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
.form-grid .full{grid-column:1 / -1;}
label.field{display:block;font-size:.85rem;font-weight:600;color:var(--charcoal);}
label.field span{display:block;margin-bottom:6px;}
label.field .req{color:var(--rust);}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=url],select,textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:.95rem;
  font-family:inherit;background:#fff;color:var(--charcoal);
}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(193,101,47,.35);border-color:var(--rust);}
textarea{min-height:90px;resize:vertical;}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--charcoal-soft);}
.check input{margin-top:4px;}
.btn-sm{padding:8px 16px;font-size:.82rem;}
.btn-danger{background:#b3342b;color:#fff;}
.btn-danger:hover{background:#8f2820;}
.btn-neutral{background:var(--cream-2);color:var(--charcoal);border-color:var(--line);}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important;}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px;}
.msg{padding:12px 16px;border-radius:10px;font-size:.92rem;margin:14px 0;display:none;}
.msg.show{display:block;}
.msg-ok{background:#e7f4e8;color:#1f5f2a;border:1px solid #bfe0c4;}
.msg-err{background:#fbe9e7;color:#8f2820;border:1px solid #f0c4be;}
.msg-info{background:#fff6e8;color:#7a4a12;border:1px solid #f1dcb8;}

/* Navigation: Konto-Link */
.nav-account{font-weight:600;font-size:.9rem;color:var(--charcoal);white-space:nowrap;margin-left:12px;}
.nav-account:hover{color:var(--rust);}
nav ul{gap:22px;} nav a{white-space:nowrap;}
.nav-account-item{display:none;}
@media (max-width:900px){.nav-account-item{display:block;}}
@media (max-width:560px){.nav-account{display:none;}}

/* Kalender */
.cal{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;}
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px;}
.cal-toolbar button{background:var(--cream-2);border:1px solid var(--line);border-radius:999px;width:38px;height:38px;font-size:1.2rem;cursor:pointer;color:var(--charcoal);}
.cal-toolbar button:hover{background:var(--rust);color:#fff;}
.cal-months{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.cal-month-name{font-family:Georgia,serif;font-weight:700;text-align:center;margin-bottom:10px;font-size:1.05rem;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-wd{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--charcoal-soft);text-align:center;padding:4px 0;}
.cal-day{
  position:relative;min-height:54px;border-radius:8px;border:1px solid var(--line);background:#fff;
  padding:5px 4px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;
  transition:background .12s;user-select:none;
}
.cal-day .p{font-size:.68rem;font-weight:600;color:var(--rust-dark);}
.cal-day.empty{border:none;background:transparent;cursor:default;}
.cal-day.past,.cal-day.blocked{background:var(--cream-2);color:#a89f92;cursor:not-allowed;}
.cal-day.blocked{background:repeating-linear-gradient(135deg,#f1e7da 0 6px,#e6dcce 6px 8px);}
.cal-day.blocked .p,.cal-day.past .p{display:none;}
.cal-day.checkout-only{cursor:pointer;background:linear-gradient(135deg,#fff 50%,#f1e7da 50%);}
.cal-day.free:hover{background:#fdf1e8;border-color:var(--rust);}
.cal-day.sel{background:var(--rust);color:#fff;border-color:var(--rust-dark);}
.cal-day.sel .p{color:#ffe3cf;}
.cal-day.in-range{background:#f6d9c6;border-color:#e9b797;}
.cal-day.today{outline:2px solid var(--gold);outline-offset:-2px;}
.cal-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:.78rem;color:var(--charcoal-soft);}
.cal-legend span{display:inline-flex;align-items:center;gap:6px;}
.cal-legend i{width:14px;height:14px;border-radius:4px;border:1px solid var(--line);display:inline-block;}
.cal-legend i.free{background:#fff;} .cal-legend i.blocked{background:repeating-linear-gradient(135deg,#f1e7da 0 4px,#e6dcce 4px 6px);} .cal-legend i.sel{background:var(--rust);}
.booking-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start;}
.booking-summary{position:sticky;top:96px;}
.summary-row{display:flex;justify-content:space-between;font-size:.92rem;padding:8px 0;border-bottom:1px dashed var(--line);}
.summary-row.total{font-weight:700;font-size:1.05rem;border-bottom:none;padding-top:12px;}
.summary-hint{font-size:.8rem;color:var(--charcoal-soft);margin-top:10px;}
@media (max-width:900px){.cal-months{grid-template-columns:1fr;}.booking-layout{grid-template-columns:1fr;}.booking-summary{position:static;}.form-grid{grid-template-columns:1fr;}}
@media (max-width:560px){.cal{padding:12px;}.cal-day{min-height:46px;font-size:.78rem;}.cal-day .p{font-size:.6rem;}}

/* Tabellen (Konto, Admin) */
.table-wrap{overflow-x:auto;}
table.data{width:100%;border-collapse:collapse;font-size:.88rem;}
table.data th,table.data td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
table.data th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--charcoal-soft);}
table.data tr:hover td{background:#fdf8f2;}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;}
.badge-angefragt{background:#fff1d6;color:#8a5a10;}
.badge-bestaetigt{background:#e2f3e5;color:#1f5f2a;}
.badge-storniert{background:#f3e5e3;color:#8f2820;text-decoration:line-through;}
.badge-blockiert{background:#e8e4df;color:#5b544c;}
.badge-airbnb{background:#ffe0e6;color:#b0173a;}
.badge-fewox{background:#fdebdd;color:var(--rust-dark);}
.badge-manuell{background:#e6ecf5;color:#2d4a77;}
.badge-yes{background:#e2f3e5;color:#1f5f2a;} .badge-no{background:#f3e5e3;color:#8f2820;}

/* Admin */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px;border-bottom:1px solid var(--line);}
.tabs button{background:none;border:none;border-bottom:3px solid transparent;padding:12px 16px;font-weight:700;cursor:pointer;color:var(--charcoal-soft);font-size:.92rem;font-family:inherit;}
.tabs button.active{color:var(--rust);border-bottom-color:var(--rust);}
.tab-panel{display:none;} .tab-panel.active{display:block;}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:16px;}
.toolbar label.field{min-width:150px;}
.inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;}
.modal-bg{position:fixed;inset:0;background:rgba(30,24,18,.55);display:none;align-items:center;justify-content:center;z-index:100;padding:16px;}
.modal-bg.show{display:flex;}
.modal{background:#fff;border-radius:var(--radius);padding:26px;max-width:640px;width:100%;max-height:92vh;overflow:auto;box-shadow:var(--shadow);}
.pd-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.pd-day{border:1px solid var(--line);border-radius:8px;padding:6px 4px;font-size:.8rem;min-height:52px;cursor:pointer;background:#fff;display:flex;flex-direction:column;justify-content:space-between;}
.pd-day.empty{border:none;background:transparent;cursor:default;}
.pd-day.picked{background:var(--rust);color:#fff;}
.pd-day .p{font-size:.68rem;color:var(--rust-dark);} .pd-day.picked .p{color:#ffe3cf;}
.pd-day.override .p{font-weight:700;text-decoration:underline;}
.pd-day.blocked{background:repeating-linear-gradient(135deg,#f1e7da 0 6px,#e6dcce 6px 8px);}
pre.mail{white-space:pre-wrap;font-size:.8rem;background:var(--cream-2);padding:12px;border-radius:8px;max-height:220px;overflow:auto;}
code.copy{background:var(--cream-2);padding:4px 8px;border-radius:6px;font-size:.82rem;word-break:break-all;}
