/* ===== Startseite = Kalender (12.10.2026): hell, braune Schrift, Aktionen in Hausfarbe ===== */
.phone.t-start .screen{background:#fbf6f0}
.phone.t-start .ptr{color:#4a3426}
nav.bottom button[data-tab="start"]{--cur:#4a3426}
.sp{--bg:#fbf6f0; --sand:#e2cfb8; --ink:#4a3426; --ink2:#7a6352;
  --caps:"Josefin Sans", "Futura", "Century Gothic", system-ui, sans-serif;
  background:var(--bg);color:var(--ink);min-height:100%;padding-bottom:34px}
.sp .top{padding:30px 22px 24px;background:var(--sand)}
.sp .sub{font-family:var(--caps);text-transform:uppercase;letter-spacing:.16em;font-weight:600;font-size:.85rem;color:var(--ink2)}
.sp h1{font-family:var(--caps);text-transform:uppercase;font-weight:400;letter-spacing:.04em;font-size:2.2rem;line-height:1.05;margin:6px 0 0}
.sp .lead{margin:10px 0 0;font-size:.95rem;line-height:1.5;color:var(--ink2)}
.sp .cal{margin:22px 14px 0}
/* Monatskopf */
.sp .mh{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px}
.sp .mh b{font-family:var(--caps);text-transform:uppercase;letter-spacing:.06em;font-weight:400;font-size:1.25rem}
.sp .arr{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--ink);background:none;color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0;-webkit-appearance:none;appearance:none}
.sp .arr svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sp .arr:active{background:var(--sand)}
.sp .tdy{display:block;margin:10px auto 0;border:0;background:var(--sand);color:var(--ink);font-family:var(--caps);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:.8rem;padding:.6rem 1rem .5rem;border-radius:999px;cursor:pointer}
/* Raster */
.sp .wd,.sp .gr{display:grid;grid-template-columns:repeat(7,1fr)}
.sp .wd{margin-top:14px}
.sp .wd span{text-align:center;font-family:var(--caps);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.78rem;color:var(--ink2);padding:6px 0}
.sp .gr{row-gap:6px}
.sp .cd{position:relative;height:50px;border:0;background:none;color:var(--ink);padding:0;font:500 1.05rem var(--body);cursor:pointer;-webkit-appearance:none;appearance:none;display:grid;place-items:center}
.sp .cd.o{color:#cdbcab;cursor:default}
.sp .cd .n{position:absolute;left:0;right:0;top:6px;bottom:6px;z-index:2;display:flex;align-items:center;justify-content:center;line-height:1;font-variant-numeric:tabular-nums}
/* Textmarker: Fläche in Hausfarbe hinter der Zahl, über mehrere Tage verbunden */
.sp .cd .hl{position:absolute;left:0;right:0;top:6px;bottom:6px;background:var(--c);z-index:1}
.sp .cd.s .hl{left:3px;border-top-left-radius:19px;border-bottom-left-radius:19px}
.sp .cd.e .hl{right:3px;border-top-right-radius:19px;border-bottom-right-radius:19px}
.sp .cd.has .n{color:#fbf6f0;font-weight:700}
.sp .cd.today .n{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;font-weight:700}
.sp .cd.sel::after{content:"";position:absolute;inset:1px 2px;border:2.5px solid var(--ink);box-shadow:inset 0 0 0 2px #fbf6f0;border-radius:12px;z-index:3;pointer-events:none}
/* Umschalter Häuser: groß, eindeutig, aktives Haus gefüllt mit Häkchen */
.sp .sw{margin:20px 22px 0}
.sp .swl{margin:0 0 8px;font-family:var(--caps);text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:.8rem;color:var(--ink2)}
.sp .hsw{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sp .hsw button{min-height:56px;border:2px solid var(--c);background:var(--bg);color:var(--c);border-radius:10px;font:600 .9rem var(--body);line-height:1.15;padding:6px 4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;-webkit-appearance:none;appearance:none}
.sp .hsw button svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;display:none}
.sp .hsw button[aria-checked="true"]{background:var(--c);color:#fbf6f0;box-shadow:0 6px 14px -8px var(--c)}
.sp .hsw button[aria-checked="true"] svg{display:block}
.sp .none{color:var(--ink2);font-size:.92rem;line-height:1.5;margin:0}
.sp .none.ctr{text-align:center;margin-top:12px}
/* Details zum gewählten Tag */
.sp .det{margin:26px 0 0;padding:26px 22px 0;background:var(--bg);border-top:6px solid var(--sand);scroll-margin-top:10px}
.sp .det h2{font-family:var(--caps);text-transform:uppercase;letter-spacing:.05em;font-weight:400;font-size:1.2rem;margin:0 0 14px}
.sp .ce{display:grid;grid-template-columns:96px minmax(0,1fr);border:1.5px solid var(--c);margin-bottom:12px;background:var(--bg);border-radius:12px;overflow:hidden}
.sp .ce .im{background:linear-gradient(140deg,#d9c4aa,#b89874);display:grid;place-items:center;color:#fbf6f0}
.sp .ce .im svg{width:26px;height:26px;opacity:.85}
.sp .ce .bd{padding:12px 14px 14px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.sp .ce .k{font-family:var(--caps);text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:.75rem;color:var(--c)}
.sp .ce .t{font-family:var(--caps);text-transform:uppercase;letter-spacing:.03em;font-size:1.12rem;line-height:1.12;color:var(--c);margin:4px 0 4px;max-width:100%;overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto}
.sp .ce .d{font-size:.88rem;color:var(--ink2)}
.sp .ce .go{margin-top:10px;border:0;background:var(--c);color:#fbf6f0;font-family:var(--caps);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:.82rem;padding:.75rem 1rem .65rem;cursor:pointer;-webkit-appearance:none;appearance:none}
.sp :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.sp .ce .im[style]{background-size:cover;background-position:center}
/* Nachricht aus der Verwaltung */
.sp .pushb{margin:18px 14px 0;border:2px solid var(--c);border-radius:12px;background:var(--bg);padding:16px 16px 14px}
.sp .pushb .k{display:block;font-family:var(--caps);text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:.74rem;color:var(--c)}
.sp .pushb b{display:block;font-size:1.12rem;margin:6px 0 4px;color:var(--ink)}
.sp .pushb p{margin:0;font-size:.95rem;line-height:1.45;color:var(--ink2)}
.sp .pushb .pbb{display:flex;gap:10px;margin-top:12px}
.sp .pushb button{flex:1;min-height:48px;border-radius:8px;font-family:var(--caps);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:.85rem;cursor:pointer;-webkit-appearance:none;appearance:none}
.sp .pushb .go{border:0;background:var(--c);color:#fbf6f0}
.sp .pushb .ok{border:1.5px solid var(--c);background:none;color:var(--c)}
