/* Family Spots Map · Gemeinsam erleben · Kalender Premium
   Nur #fse-overlay: kein Eingriff in Karte, Filter, Spots, Mein Tag oder Plus.
   Bestehende lokale Termin-Daten und ihre Speicherung bleiben unverändert. */
.fse-launch, .fse-spot-open{font:inherit;cursor:pointer}
.fse-spot-section{margin:18px 0 8px;padding:15px;border:1px solid #d9d0bf;border-radius:16px;background:#fffaf1;color:#46372a}
.fse-spot-section__head{display:flex;align-items:center;gap:9px;margin-bottom:6px;font-weight:750;font-size:1.05rem}
.fse-spot-section__head svg{width:23px;height:23px;color:#6c8849;flex:none}
.fse-spot-section p{font-size:.89rem;line-height:1.48;margin:7px 0 12px;color:#685a4c}
.fse-spot-open{border:1px solid #7e9859;border-radius:12px;background:#e5edcf;color:#3e542c;font-weight:750;padding:10px 15px;width:100%;min-height:44px}

#fse-overlay[hidden]{display:none!important}
#fse-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;justify-content:center;align-items:stretch;background:rgba(30,35,22,.56);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#392f28}
#fse-overlay *, #fse-overlay *::before, #fse-overlay *::after{box-sizing:border-box}
#fse-overlay button, #fse-overlay select, #fse-overlay input, #fse-overlay textarea{font:inherit}
#fse-overlay button{cursor:pointer;-webkit-tap-highlight-color:transparent}
#fse-overlay .fse-svg{display:inline-block;width:20px;height:20px;flex:none;stroke-width:1.65;vertical-align:middle}
#fse-overlay .fse-shell{--fse-olive:#647c41;--fse-green:#778e4a;--fse-orange:#f28d20;--fse-line:#e4d8c6;--fse-paper:#fffaf2;position:relative;display:flex;flex-direction:column;width:min(100%,590px);height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;background:#fff8ee;box-shadow:0 16px 55px rgba(44,36,24,.15)}
#fse-overlay .fse-header::before{content:"";position:absolute;z-index:0;left:-8px;top:0;width:88px;height:76px;pointer-events:none;background:url("../assets/design/main-header-leaves-v90.webp") no-repeat left top;background-size:100% 100%;opacity:.94}
#fse-overlay .fse-header{position:relative;display:flex;flex-direction:column;align-items:center;flex:none;overflow:hidden;text-align:center;padding:calc(15px + env(safe-area-inset-top,0px)) 16px 0;background:#fff8ee}
#fse-overlay .fse-brand{display:flex;align-items:center;justify-content:center;gap:8px;max-width:calc(100% - 52px);min-height:30px;font-size:clamp(15px,4vw,19px);font-weight:780;line-height:1.15;color:#493326}
#fse-overlay .fse-flag{width:21px;height:21px;object-fit:cover;border-radius:50%;flex:none}
#fse-overlay .fse-icon-btn{position:absolute;right:13px;top:calc(11px + env(safe-area-inset-top,0px));height:36px;width:36px;display:grid;place-items:center;border:1px solid #b5a895;border-radius:50%;background:#fffaf4;color:#493829;padding:0}
#fse-overlay .fse-icon-btn .fse-svg{width:18px;height:18px}
#fse-overlay .fse-header h2{font:600 clamp(26px,6.8vw,36px)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:8px 0 6px;color:#3c3026}
#fse-overlay .fse-preview-badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:5px 12px;background:#edf0d7;color:#4a6034;font-size:clamp(11px,2.8vw,13px);font-weight:750;white-space:nowrap;line-height:1.4}
#fse-overlay .fse-preview-badge svg{height:14px;width:14px}
#fse-overlay .fse-landscape{height:clamp(78px,22vw,108px);width:calc(100% + 32px);margin:6px -16px 0;flex:none;background-image:url("../assets/design/main-header-landscape-reference-v909.webp");background-repeat:no-repeat;background-size:100% 100%;background-position:center bottom}
#fse-overlay .fse-body{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;padding:0 13px 16px;-webkit-overflow-scrolling:touch}
#fse-overlay .fse-body::-webkit-scrollbar{width:3px}#fse-overlay .fse-body::-webkit-scrollbar-thumb{background:#d0cabc;border-radius:999px}

/* Woche: kompakt, Monatsübersicht über den mittleren Monatsknopf erreichbar. */
#fse-overlay .fse-week-card{background:#fffaf3;border:1px solid var(--fse-line);border-radius:23px;box-shadow:0 2px 5px rgba(61,47,31,.08);padding:5px 8px 7px;margin:0 0 12px}
#fse-overlay .fse-week-tools{height:25px;display:flex;align-items:center;justify-content:center;gap:12px}
#fse-overlay .fse-week-arrow, #fse-overlay .fse-month-label{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#6c7f4d;padding:1px 8px;min-height:25px}
#fse-overlay .fse-month-label{font-size:11px!important;font-weight:690!important;letter-spacing:.03em;color:#715f4c}
#fse-overlay .fse-month-label .fse-svg{height:12px!important;width:12px!important;margin-left:3px}
#fse-overlay .fse-week-arrow .fse-svg{height:13px!important;width:13px!important}
#fse-overlay .fse-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;align-items:stretch}
#fse-overlay .fse-day{border:1px solid transparent;border-radius:13px;min-width:0;height:55px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#392f28;background:transparent;padding:4px 0}
#fse-overlay .fse-day-weekday{font-size:11px;line-height:1.1;font-weight:590}#fse-overlay .fse-day-number{font-size:17px;line-height:1;font-weight:620}
#fse-overlay .fse-day--today:not(.fse-day--chosen){border-color:#91a66c;color:#566f38}
#fse-overlay .fse-day--chosen{background:#677f46;color:#fff}
#fse-overlay .fse-day--chosen .fse-day-number{font-weight:800}
#fse-overlay .fse-day-dot{position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;background:#b1bd8b;border-radius:50%}
#fse-overlay .fse-day--chosen .fse-day-dot{background:#fff9ec}
#fse-overlay .fse-month-weekdays, #fse-overlay .fse-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
#fse-overlay .fse-month-weekdays{padding:10px 0 3px}#fse-overlay .fse-month-weekdays span{text-align:center;font-size:10px;font-weight:700;color:#746757}
#fse-overlay .fse-month-grid{padding:2px 0 6px;border-top:1px solid #eee3d4}#fse-overlay .fse-month-grid .fse-day{height:41px}
#fse-overlay .fse-month-grid .fse-day-weekday{display:none}#fse-overlay .fse-month-grid .fse-day-number{font-size:14px}

/* Segmente, Datumszeile, Filter */
#fse-overlay .fse-controls{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#f8f0e5;border:1px solid #e6d8c7;border-radius:999px;padding:3px;margin:0 0 16px}
#fse-overlay .fse-toggle{min-width:0;border:0;border-radius:999px;background:transparent;color:#514436;min-height:43px;padding:5px 7px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:clamp(11px,2.85vw,14px)!important;font-weight:650!important;white-space:nowrap}
#fse-overlay .fse-toggle[aria-pressed="true"]{background:#6b8347;color:#fff}
#fse-overlay .fse-toggle .fse-svg{width:16px!important;height:16px!important}
#fse-overlay .fse-section-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:0 1px 10px}
#fse-overlay .fse-section-heading h3{font:600 clamp(17px,4.8vw,24px)/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.025em;margin:0;color:#3e3024;min-width:0}
#fse-overlay .fse-link{border:0;background:transparent;color:#667f40;font-size:clamp(11px,3vw,14px)!important;font-weight:740!important;display:inline-flex;align-items:center;gap:3px;padding:4px 1px;white-space:nowrap;text-decoration:none}
#fse-overlay .fse-link .fse-svg{width:17px!important;height:17px!important}
#fse-overlay .fse-select-row{display:flex;align-items:center;gap:8px;position:relative;margin:0 1px 13px;background:#fffaf5;border:1px solid #dbcebd;border-radius:18px;padding:0 11px;min-height:43px}
#fse-overlay .fse-select-row>.fse-svg{width:17px!important;height:17px!important;color:#534130;pointer-events:none}
#fse-overlay .fse-select-row>.fse-svg:last-child{width:14px!important;height:14px!important}
#fse-overlay .fse-select{appearance:none;-webkit-appearance:none;min-width:0;flex:1;outline:none;background:transparent;border:0;padding:10px 0;font-size:13px!important;font-weight:650!important;color:#4a3b2b;width:100%}

/* Termin: Kopf und Aktionen eigenständig, flach und auf kleinem iPhone gut bedienbar. */
#fse-overlay .fse-event{background:#fffaf4;border:1px solid #e4d8c8;border-radius:19px;box-shadow:0 3px 9px rgba(57,40,22,.06);padding:12px 10px;margin:0 1px 12px;min-width:0}
#fse-overlay .fse-event-primary{display:flex;align-items:flex-start;gap:11px;min-width:0}
#fse-overlay .fse-event-symbol{display:grid;place-items:center;flex:none;border-radius:14px;width:47px;height:47px;background:#eef0d5;color:#688836;border:1px solid #eef0d5}
#fse-overlay .fse-event-symbol .fse-svg{height:30px!important;width:30px!important;fill:#85ac3c;stroke:#53772f;stroke-width:1.6!important}
#fse-overlay .fse-event-content{min-width:0;flex:1;border-left:1px solid #ded5c8;padding-left:10px}
#fse-overlay .fse-event h4{margin:0 0 5px;color:#443226;font-size:16px;line-height:1.2;font-weight:780}
#fse-overlay .fse-event-meta{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-bottom:5px}
#fse-overlay .fse-event-meta>span{display:inline-flex;align-items:center;gap:3px;font-size:clamp(10px,2.7vw,12px);line-height:1.35;color:#564b40;min-width:0;max-width:100%;overflow-wrap:anywhere}
#fse-overlay .fse-event-meta>span:not(:first-child)::before{content:"·";margin:0 2px;color:#827364}
#fse-overlay .fse-event-meta .fse-svg{height:12px!important;width:12px!important}
#fse-overlay .fse-event-note{font-size:12px;color:#796d5d;margin:5px 0;line-height:1.3}
#fse-overlay .fse-event-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
#fse-overlay .fse-tag{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:710;line-height:1.1;background:#eaf0da;color:#566c36}
#fse-overlay .fse-tag .fse-svg{width:12px!important;height:12px!important}
#fse-overlay .fse-event-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}
#fse-overlay .fse-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:64px;padding:6px 3px;border:1px solid #e6d9c8;border-radius:13px;background:#fff7eb;color:#47382e;font-size:clamp(9px,2.45vw,11px)!important;font-weight:610!important;line-height:1.15;text-align:center;overflow-wrap:anywhere}
#fse-overlay .fse-mini .fse-svg{height:19px!important;width:19px!important;color:#779440}
#fse-overlay .fse-mini--delete .fse-svg{color:#df7519}
#fse-overlay .fse-empty{padding:17px 12px;margin:0 1px;text-align:center;background:#fffaf3;border:1px dashed #d9cdbd;border-radius:16px;color:#76695a;font-size:13px;line-height:1.45}
#fse-overlay .fse-empty strong{display:block;color:#594937;margin-bottom:5px}
#fse-overlay .fse-storage-status{color:#98552d;font-size:12px;min-height:0;margin:2px}

/* CTA und gemeinsamer Navigationsstil; Dock nutzt die echten Haupt-Navigationsaktionen. */
#fse-overlay .fse-footer{flex:none;padding:8px 7px 7px;background:#fff8ee;display:flex;align-items:center;gap:4px}
#fse-overlay .fse-footer-leaf{display:block;width:32px;flex:none;color:#7e9b4c;line-height:0}#fse-overlay .fse-footer-leaf svg{width:32px;height:43px}#fse-overlay .fse-footer-leaf--right{transform:scaleX(-1)}
#fse-overlay .fse-cta{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #f7a13a;border-radius:16px;min-height:49px;min-width:0;flex:1;padding:8px 10px;background:#f28f23;color:#fff;font-size:15px!important;font-weight:750!important}
#fse-overlay .fse-cta .fse-svg{height:21px!important;width:21px!important}
#fse-overlay .fse-footer-note{display:flex;align-items:center;justify-content:center;gap:7px;color:#7b6a57;font-size:11px;line-height:1.3;min-height:44px;text-align:center}
#fse-overlay .fse-footer-note svg{flex:none}
#fse-overlay .fse-dock{flex:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;align-items:stretch;padding:5px 7px max(7px,env(safe-area-inset-bottom,0px));border-top:1px solid #e8ddcf;background:#fffaf3}
#fse-overlay .fse-dock-item{display:flex;align-items:center;justify-content:center;gap:3px;flex-direction:column;min-width:0;min-height:44px;padding:2px 1px;color:#463829;border:0;border-radius:13px;background:transparent;font-weight:700!important;font-size:clamp(9px,2.65vw,11px)!important;line-height:1.1}
#fse-overlay .fse-dock-item .fse-svg{width:21px!important;height:21px!important}
#fse-overlay .fse-dock-item[data-nav=plus] .fse-svg{color:#d8a000;fill:#d8a000;stroke-width:1.25}
#fse-overlay .fse-dock-item[data-nav=diary] .fse-svg{color:#6e8a39;fill:#78a044;stroke:#52762c}

/* Bestehendes Formular: nur ruhigeres Aussehen; IDs und Speicherevents unverändert. */
#fse-overlay .fse-form{background:#fffaf3;border:1px solid #e4d9cb;padding:15px;border-radius:18px;margin:7px 1px 10px}
#fse-overlay .fse-form h3{font:600 21px/1.25 Georgia,"Times New Roman",serif;margin:0 0 9px;color:#433329}
#fse-overlay .fse-field{display:block;margin:11px 0;color:#5c4b3b;font-size:12px;font-weight:730}
#fse-overlay .fse-field input, #fse-overlay .fse-field select, #fse-overlay .fse-field textarea{display:block;width:100%;margin-top:6px;padding:10px 11px;border:1px solid #daceba;border-radius:11px;background:#fffdfa;color:#403427;font-size:14px;min-height:44px}
#fse-overlay .fse-field textarea{resize:vertical;min-height:75px}
#fse-overlay .fse-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#fse-overlay .fse-check{display:flex;gap:8px;align-items:center;margin:13px 0;color:#5e5146;font-size:12px}#fse-overlay .fse-check input{accent-color:#698441;width:18px;height:18px}
#fse-overlay .fse-form-actions{display:flex;gap:8px;margin-top:14px}#fse-overlay .fse-form-actions button{flex:1;min-height:44px;border-radius:12px;font-size:13px;font-weight:760}
#fse-overlay .fse-save{background:#f28e22;color:#fff;border:1px solid #f28e22}#fse-overlay .fse-cancel{background:#fffaf3;color:#554539;border:1px solid #d5c8b6}
#fse-overlay .fse-status{font-size:12px;min-height:1em;color:#96552d;margin:7px 0 0}
#fse-overlay button:focus-visible, #fse-overlay input:focus-visible, #fse-overlay select:focus-visible, #fse-overlay textarea:focus-visible, .fse-spot-open:focus-visible{outline:2px solid #738d4e;outline-offset:2px}

@media (min-width:620px){#fse-overlay{align-items:center;padding:20px}#fse-overlay .fse-shell{width:min(100%,590px);height:min(94dvh,870px);max-height:870px;border:1px solid #ece2d4;border-radius:22px}#fse-overlay .fse-header{padding-top:18px}#fse-overlay .fse-icon-btn{top:12px}#fse-overlay .fse-dock{padding-bottom:9px}}
@media (max-width:350px){#fse-overlay .fse-footer-leaf{width:19px}#fse-overlay .fse-footer-leaf svg{width:19px;height:32px}#fse-overlay .fse-brand{font-size:14px}#fse-overlay .fse-header h2{font-size:25px}#fse-overlay .fse-body{padding-left:8px;padding-right:8px}#fse-overlay .fse-week-card{padding-left:4px;padding-right:4px}#fse-overlay .fse-event{padding:11px 7px}#fse-overlay .fse-event-primary{gap:6px}#fse-overlay .fse-event-content{padding-left:7px}#fse-overlay .fse-event-symbol{width:39px;height:39px}#fse-overlay .fse-mini{font-size:9px!important;padding:4px 1px}}
@media (prefers-reduced-motion:reduce){#fse-overlay *, #fse-overlay *::before, #fse-overlay *::after{animation:none!important;transition:none!important}}

/* Schlussregeln gegen ältere, danach nicht mehr zuständige Kalender-Legacy-Selektoren. */
#fse-overlay .fse-icon-btn::before{content:none;display:none}
#fse-overlay .fse-header{border:0}
#fse-overlay .fse-preview-badge{margin:0}
#fse-overlay .fse-shell{border-radius:0}
@media (min-width:620px){#fse-overlay .fse-shell{border-radius:22px}}
html.fsm-polished body #fse-overlay .fse-select{background-color:transparent!important;color:#4a3b2b!important;border:0!important}
