/* Heimatverein Sottrum – isolated calendar styles for Xara, no iframe */
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile){--hv-tuerkis:#0093ac;--hv-grau:#e9e9e9;--hv-text:#222;--hv-rot:#c45151;color:var(--hv-text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45;width:100%;max-width:100%;box-sizing:border-box}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) *,:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) *::before,:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) *::after{box-sizing:border-box}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-year{font-size:clamp(24px,3vw,34px);color:var(--hv-tuerkis);font-weight:400;margin:0}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-pdf{display:inline-block;background:var(--hv-rot);color:#fff;text-decoration:none;border-radius:5px;padding:11px 17px;font-size:15px;font-weight:700}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-pdf:hover,:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-pdf:focus{background:#a93f3f;color:#fff}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px;align-items:stretch}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-month,:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-recurring{background:var(--hv-grau);padding:21px 24px 25px;min-width:0}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-month h3,:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-recurring h3{font:400 30px/1.16 Arial,Helvetica,sans-serif;color:var(--hv-tuerkis);text-align:right;overflow-wrap:anywhere;margin:0 0 23px}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-event{margin:0 0 19px;overflow-wrap:anywhere}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-event:last-child{margin-bottom:0}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-when{font-size:14px;font-style:italic;color:#4d4d4d;display:block;margin-bottom:3px}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-title{font-size:16px;font-weight:700;display:block;line-height:1.35}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-detail{font-size:15px;white-space:pre-line;display:block;line-height:1.46}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-reg{margin-top:3px}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-empty{color:#666;font-style:italic}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-recurring{margin-top:22px}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-status{color:#666}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-error{color:#a52828}
@media(max-width:700px){:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-grid{grid-template-columns:1fr;gap:14px}:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-month,:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-recurring{padding:18px 19px 21px}:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-month h3,:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-recurring h3{font-size:28px}}

:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-notice{display:block;margin-top:5px;color:#ad2525;font-weight:700;font-size:14px;line-height:1.4;white-space:pre-line}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-ausfall::before{content:"ABGESAGT · ";}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-aenderung::before{content:"";}

:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-more{display:inline-block;color:#007f9a;text-decoration:underline;margin-top:7px;font-size:14px;font-weight:600}
:is(#hv-veranstaltungskalender,#hv-veranstaltungskalender-desktop,#hv-veranstaltungskalender-mobile) .hv-month{scroll-margin-top:20px}

/* Ausschließlich mobil: einzelner Termin als standardsichere ICS-Datei. */
#hv-veranstaltungskalender-mobile .hv-save{display:flex;align-items:center;gap:6px;width:fit-content;max-width:100%;margin-top:8px;padding:2px 0;border:0;color:#222;background:transparent;font-size:17px;font-weight:700;line-height:1.35;text-decoration:none;touch-action:manipulation}
#hv-veranstaltungskalender-mobile .hv-save::before{content:"";display:inline-block;flex:0 0 18px;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjQzLjgxIDQzOC44Nkg4NS4zM2MtMTMuNDYtLjAyLTI0LjM2LTEwLjkzLTI0LjM4LTI0LjM4VjEyMS45Yy4wMi0xMy40NiAxMC45My0yNC4zNiAyNC4zOC0yNC4zOEgzNzcuOWMxMy40Ni4wMiAyNC4zNiAxMC45MyAyNC4zOCAyNC4zOHYxMjEuOWMwIDEzLjQ3IDEwLjkyIDI0LjM4IDI0LjM4IDI0LjM4IDEzLjQ3IDAgMjQuMzgtMTAuOTIgMjQuMzgtMjQuMzhWMTIxLjljLS4wMi00MC40MS0zMi43NC03My4xMy03My4xNC03My4xNEg4NS4zM2MtNDAuNC4wMi03My4xMiAzMi43NC03My4xNCA3My4xNHYyOTIuNTdjLjAyIDQwLjQxIDMyLjc0IDczLjEzIDczLjE0IDczLjE0aDE1OC40OGMxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4cy0xMC45Mi0yNC4zNy0yNC4zOC0yNC4zNyIvPjxwYXRoIGQ9Ik0zMDQuNzYgMjQuMzh2OTcuNTJjMCAxMy40NyAxMC45MiAyNC4zOCAyNC4zOCAyNC4zOCAxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4VjI0LjM4QzM1My41MiAxMC45MiAzNDIuNjEgMCAzMjkuMTQgMGMtMTMuNDYgMC0yNC4zOCAxMC45Mi0yNC4zOCAyNC4zOE0xMDkuNzEgMjQuMzh2OTcuNTJjMCAxMy40NyAxMC45MiAyNC4zOCAyNC4zOCAyNC4zOCAxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4VjI0LjM4QzE1OC40OCAxMC45MiAxNDcuNTYgMCAxMzQuMSAwYy0xMy40NyAwLTI0LjM5IDEwLjkyLTI0LjM5IDI0LjM4TTM2LjU3IDI0My44MWgzOTAuMWMxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4IDAtMTMuNDctMTAuOTItMjQuMzgtMjQuMzgtMjQuMzhIMzYuNTdjLTEzLjQ3IDAtMjQuMzggMTAuOTItMjQuMzggMjQuMzhzMTAuOTIgMjQuMzggMjQuMzggMjQuMzhNMzI5LjE0IDQzOC44NmgxNDYuMjljMTMuNDcgMCAyNC4zOC0xMC45MiAyNC4zOC0yNC4zOHMtMTAuOTItMjQuMzgtMjQuMzgtMjQuMzhIMzI5LjE0Yy0xMy40NyAwLTI0LjM4IDEwLjkyLTI0LjM4IDI0LjM4czEwLjkyIDI0LjM4IDI0LjM4IDI0LjM4Ii8+PHBhdGggZD0iTTM3Ny45IDM0MS4zM3YxNDYuMjljMCAxMy40NyAxMC45MiAyNC4zOCAyNC4zOCAyNC4zOCAxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4VjM0MS4zM2MwLTEzLjQ3LTEwLjkyLTI0LjM4LTI0LjM4LTI0LjM4cy0yNC4zOCAxMC45Mi0yNC4zOCAyNC4zOCIvPjwvc3ZnPg==") center/contain no-repeat;mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjQzLjgxIDQzOC44Nkg4NS4zM2MtMTMuNDYtLjAyLTI0LjM2LTEwLjkzLTI0LjM4LTI0LjM4VjEyMS45Yy4wMi0xMy40NiAxMC45My0yNC4zNiAyNC4zOC0yNC4zOEgzNzcuOWMxMy40Ni4wMiAyNC4zNiAxMC45MyAyNC4zOCAyNC4zOHYxMjEuOWMwIDEzLjQ3IDEwLjkyIDI0LjM4IDI0LjM4IDI0LjM4IDEzLjQ3IDAgMjQuMzgtMTAuOTIgMjQuMzgtMjQuMzhWMTIxLjljLS4wMi00MC40MS0zMi43NC03My4xMy03My4xNC03My4xNEg4NS4zM2MtNDAuNC4wMi03My4xMiAzMi43NC03My4xNCA3My4xNHYyOTIuNTdjLjAyIDQwLjQxIDMyLjc0IDczLjEzIDczLjE0IDczLjE0aDE1OC40OGMxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4cy0xMC45Mi0yNC4zNy0yNC4zOC0yNC4zNyIvPjxwYXRoIGQ9Ik0zMDQuNzYgMjQuMzh2OTcuNTJjMCAxMy40NyAxMC45MiAyNC4zOCAyNC4zOCAyNC4zOCAxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4VjI0LjM4QzM1My41MiAxMC45MiAzNDIuNjEgMCAzMjkuMTQgMGMtMTMuNDYgMC0yNC4zOCAxMC45Mi0yNC4zOCAyNC4zOE0xMDkuNzEgMjQuMzh2OTcuNTJjMCAxMy40NyAxMC45MiAyNC4zOCAyNC4zOCAyNC4zOCAxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4VjI0LjM4QzE1OC40OCAxMC45MiAxNDcuNTYgMCAxMzQuMSAwYy0xMy40NyAwLTI0LjM5IDEwLjkyLTI0LjM5IDI0LjM4TTM2LjU3IDI0My44MWgzOTAuMWMxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4IDAtMTMuNDctMTAuOTItMjQuMzgtMjQuMzgtMjQuMzhIMzYuNTdjLTEzLjQ3IDAtMjQuMzggMTAuOTItMjQuMzggMjQuMzhzMTAuOTIgMjQuMzggMjQuMzggMjQuMzhNMzI5LjE0IDQzOC44NmgxNDYuMjljMTMuNDcgMCAyNC4zOC0xMC45MiAyNC4zOC0yNC4zOHMtMTAuOTItMjQuMzgtMjQuMzgtMjQuMzhIMzI5LjE0Yy0xMy40NyAwLTI0LjM4IDEwLjkyLTI0LjM4IDI0LjM4czEwLjkyIDI0LjM4IDI0LjM4IDI0LjM4Ii8+PHBhdGggZD0iTTM3Ny45IDM0MS4zM3YxNDYuMjljMCAxMy40NyAxMC45MiAyNC4zOCAyNC4zOCAyNC4zOCAxMy40NyAwIDI0LjM4LTEwLjkyIDI0LjM4LTI0LjM4VjM0MS4zM2MwLTEzLjQ3LTEwLjkyLTI0LjM4LTI0LjM4LTI0LjM4cy0yNC4zOCAxMC45Mi0yNC4zOCAyNC4zOCIvPjwvc3ZnPg==") center/contain no-repeat}
#hv-veranstaltungskalender-mobile .hv-save:hover,#hv-veranstaltungskalender-mobile .hv-save:focus-visible{color:#007f9a;text-decoration:underline;outline:2px solid rgba(0,127,154,.35);outline-offset:3px}
#hv-veranstaltungskalender-mobile .hv-when{font-weight:700!important;}

/* Mobile Kalenderansicht:
   Jahresüberschrift vor dem Druckbutton */

#hv-veranstaltungskalender-mobile .hv-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

#hv-veranstaltungskalender-mobile .hv-year {
    order: 1;
}

#hv-veranstaltungskalender-mobile .hv-pdf {
    order: 2;
}

/* Mobile Nachbesserung: Kalenderblaetter mittig und gut lesbar. */
@media (max-width: 700px) {
    #hv-veranstaltungskalender-mobile {
        width: 100%;
        max-width: 100%;
        margin-right: auto;
        margin-left: auto;
        font-size: 18px;
    }

    #hv-veranstaltungskalender-mobile .hv-grid {
        justify-items: center;
        width: 100%;
    }

    #hv-veranstaltungskalender-mobile .hv-month,
    #hv-veranstaltungskalender-mobile .hv-recurring {
        width: 100%;
        max-width: 520px;
        margin-right: auto;
        margin-left: auto;
        padding: 20px 20px 24px;
    }

    #hv-veranstaltungskalender-mobile .hv-recurring {
        margin-top: 22px;
    }

    #hv-veranstaltungskalender-mobile .hv-when {
        font-size: 16px;
        line-height: 1.45;
    }

    #hv-veranstaltungskalender-mobile .hv-title {
        font-size: 18px;
        line-height: 1.4;
    }

    #hv-veranstaltungskalender-mobile .hv-detail {
        font-size: 17px;
        line-height: 1.5;
    }

    #hv-veranstaltungskalender-mobile .hv-notice,
    #hv-veranstaltungskalender-mobile .hv-more {
        font-size: 16px;
    }
}

