.public-layout{--public-primary: #1f5f4a;--public-primary-dark: #174738;--public-primary-soft: #eaf4ef;--public-accent: #c69b45;--public-text: #1c2521;--public-muted-text: #63706a;--public-border: rgba(28,37,33,0.1);--public-surface: #ffffff;--public-background: #f7f9f8}.view-public-page-link{display: inline-flex;align-items: center;color: inherit;text-decoration: none}.public-layout::part(navbar){padding: 0;background: rgba(255,255,255,0.96);border-bottom: 1px solid var(--public-border);box-shadow: 0 3px 18px rgba(18,46,36,0.05);backdrop-filter: blur(14px)}.public-header{min-height: 76px;padding: 0 32px;box-sizing: border-box}.public-brand{display: flex;align-items: center;gap: 10px;cursor: pointer;flex: 0 0 auto;max-width: max-content}.public-brand-logo{width: 44px;height: 44px;min-width: 44px;max-width: 44px;min-height: 44px;max-height: 44px;flex: 0 0 44px;box-sizing: border-box;border-radius: 11px;display: flex;align-items: center;justify-content: center;overflow: hidden;background: #fff;border: 1px solid var(--public-border)}.public-site-brand__logo{display: block;width: 44px;height: 44px;min-width: 44px;max-width: 44px;min-height: 44px;max-height: 44px;flex: 0 0 44px;object-fit: contain}.public-brand-text{display: flex;flex-direction: column;min-width: 0}.public-brand-title{color: var(--public-text);font-size: 1.03rem;font-weight: 750;line-height: 1.2}.public-brand-subtitle{color: var(--public-muted-text);font-size: 0.72rem;margin-top: 3px;letter-spacing: 0.04em}.public-desktop-navigation{display: flex;align-items: center;justify-content: center;gap: 4px}.public-navigation-link{color: #3f4b46;font-size: 0.92rem;font-weight: 600;text-decoration: none;padding: 10px 13px;border-radius: 9px;transition: color 160ms ease,background 160ms ease}.public-navigation-link:hover{color: var(--public-primary);background: var(--public-primary-soft)}.public-navigation-link-active{color: var(--public-primary);background: var(--public-primary-soft)}.public-header-actions{display: flex;align-items: center;gap: 8px}.public-login-button{border-radius: 10px;padding-inline: 20px}.public-menu-button{display: none}.public-mobile-navigation{display: none}.public-home-view{background: var(--public-surface);color: var(--public-text);overflow-x: hidden}.public-section-container{width: min(1180px,calc(100% - 48px));margin: 0 auto;box-sizing: border-box}.public-hero-section{min-height: 690px;flex: 0 0 auto;width: 100%;background: radial-gradient( circle at 80% 20%,rgba(198,155,69,0.19),transparent 28% ),radial-gradient( circle at 10% 90%,rgba(255,255,255,0.13),transparent 28% ),linear-gradient( 135deg,#12392d 0%,#1f5f4a 52%,#2f765f 100% );position: relative;overflow-x: clip;overflow-y: visible}.public-hero-section::before{content: "";position: absolute;inset: 0;opacity: 0.08;background-image: linear-gradient( rgba(255,255,255,0.5) 1px,transparent 1px ),linear-gradient( 90deg,rgba(255,255,255,0.5) 1px,transparent 1px );background-size: 55px 55px;pointer-events: none}.public-hero-overlay{min-height: 690px;position: relative;z-index: 1;display: flex;align-items: center}.public-hero-container{display: grid;grid-template-columns: minmax(0,1.05fr) minmax(390px,0.95fr);gap: clamp(40px,6vw,76px);align-items: center;padding-top: 72px;padding-bottom: 72px}.public-hero-content{max-width: 680px}.public-hero-badge{display: inline-flex;align-items: center;padding: 8px 14px;color: #f8e9c5;background: rgba(255,255,255,0.1);border: 1px solid rgba(255,255,255,0.18);border-radius: 999px;font-size: 0.82rem;font-weight: 650;letter-spacing: 0.025em;backdrop-filter: blur(8px)}.public-hero-title{max-width: 680px;margin: 24px 0 20px;color: white;font-size: clamp(2.6rem,5.2vw,4.8rem);line-height: 1.04;letter-spacing: -0.045em;font-weight: 800}.public-hero-description{max-width: 650px;margin: 0;color: rgba(255,255,255,0.82);font-size: 1.1rem;line-height: 1.75}.public-hero-actions{display: flex;align-items: center;flex-wrap: wrap;gap: 14px;margin-top: 34px}.public-hero-actions vaadin-button{min-height: 48px;border-radius: 12px}.public-hero-primary-button{--lumo-primary-color: #ffffff;--lumo-primary-text-color: #1f5f4a;--lumo-primary-contrast-color: #1f5f4a}.public-hero-secondary-button{background: rgba(255,255,255,0.09);border: 1px solid rgba(255,255,255,0.24);color: white}.public-hero-visual{position: relative;min-width: 0;display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px;align-items: stretch}.public-hero-main-card{position: relative;grid-column: 1 / -1;width: 100%;min-height: clamp(280px,30vw,350px);border-radius: 32px;padding: 42px;box-sizing: border-box;display: flex;flex-direction: column;justify-content: flex-end;background: linear-gradient( 160deg,rgba(255,255,255,0.2),rgba(255,255,255,0.08) );border: 1px solid rgba(255,255,255,0.25);box-shadow: 0 30px 80px rgba(5,24,18,0.3);backdrop-filter: blur(16px)}.public-hero-main-icon{position: absolute;top: 38px;right: 38px;width: 110px;height: 110px;color: rgba(255,255,255,0.18)}.public-hero-main-label{color: white;font-size: 1.65rem;line-height: 1.2;font-weight: 750}.public-hero-main-description{color: rgba(255,255,255,0.7);margin-top: 9px;font-size: 0.95rem}.public-floating-card{position: relative;min-width: 0;display: flex;align-items: center;gap: 13px;padding: 16px 18px;box-sizing: border-box;border-radius: 16px;background: rgba(255,255,255,0.95);box-shadow: 0 18px 40px rgba(10,33,25,0.22)}.public-floating-card>vaadin-icon{width: 24px;height: 24px;padding: 10px;border-radius: 12px;background: var(--public-primary-soft);color: var(--public-primary)}.public-floating-card-text{display: flex;flex-direction: column}.public-floating-card-title{color: var(--public-text);font-size: 0.9rem;font-weight: 700}.public-floating-card-subtitle{color: var(--public-muted-text);font-size: 0.76rem;margin-top: 3px}.public-floating-card-one{grid-column: 1}.public-floating-card-two{grid-column: 2}.public-content-section{padding: 92px 0}.public-muted-section{background: var(--public-background)}.public-section-heading{max-width: 690px}.public-section-heading h2{margin: 0;color: var(--public-text);font-size: clamp(2rem,3.3vw,3rem);line-height: 1.15;letter-spacing: -0.035em}.public-section-heading p{margin: 16px 0 0;color: var(--public-muted-text);font-size: 1rem;line-height: 1.7}.public-section-heading-row{display: flex;align-items: flex-end;justify-content: space-between;gap: 32px;margin-bottom: 42px}.public-feature-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 24px;margin-top: 46px}.public-feature-card{padding: 30px;border: 1px solid var(--public-border);border-radius: 20px;background: var(--public-surface);box-shadow: 0 12px 35px rgba(27,55,45,0.06);transition: transform 180ms ease,box-shadow 180ms ease}.public-feature-card:hover{transform: translateY(-4px);box-shadow: 0 20px 48px rgba(27,55,45,0.11)}.public-feature-icon{width: 54px;height: 54px;display: flex;align-items: center;justify-content: center;color: var(--public-primary);background: var(--public-primary-soft);border-radius: 15px}.public-feature-icon vaadin-icon{width: 27px;height: 27px}.public-feature-card h3{margin: 24px 0 10px;color: var(--public-text);font-size: 1.16rem}.public-feature-card p{margin: 0;color: var(--public-muted-text);line-height: 1.65}.public-church-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 26px}.public-church-card{display: flex;flex-direction: column;min-width: 0;overflow: hidden;border: 1px solid var(--public-border);border-radius: 21px;background: white;box-shadow: 0 10px 32px rgba(27,55,45,0.07);transition: transform 180ms ease,box-shadow 180ms ease;color: inherit;text-decoration: none}.public-church-card:focus-visible{outline: 3px solid var(--public-accent);outline-offset: 4px}.public-church-card:hover{transform: translateY(-5px);box-shadow: 0 20px 48px rgba(27,55,45,0.12)}.public-church-card-image{position: relative;height: 210px;display: flex;align-items: center;justify-content: center;background: linear-gradient( 145deg,#dfece6,#b9d2c7 );color: rgba(31,95,74,0.52)}.public-church-card-fallback{font-size: 2.2rem;font-weight: 800;letter-spacing: 0.04em}.public-church-card-logo{position: absolute;inset: 0;width: 100%;height: 100%;padding: 34px;box-sizing: border-box;object-fit: contain;background: #fff}.public-church-card-body{display: flex;flex: 1;flex-direction: column;padding: 25px}.public-church-location{color: var(--public-primary);font-size: 0.79rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.055em}.public-church-card-body h3{margin: 11px 0 10px;color: var(--public-text);font-size: 1.18rem}.public-church-card-body p{min-height: 72px;margin: 0 0 16px;color: var(--public-muted-text);font-size: 0.92rem;line-height: 1.62}.public-event-list{display: flex;flex-direction: column;gap: 15px;margin-top: 42px}.public-event-card{display: grid;grid-template-columns: 82px minmax(0,1fr) auto;align-items: center;gap: 24px;padding: 20px 26px;border: 1px solid var(--public-border);border-radius: 18px;background: white;transition: transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease}.public-event-card:hover{transform: translateX(4px);border-color: rgba(31,95,74,0.3);box-shadow: 0 12px 30px rgba(27,55,45,0.08)}.public-event-date{min-height: 72px;display: flex;flex-direction: column;align-items: center;justify-content: center;border-radius: 15px;background: var(--public-primary-soft)}.public-event-day{color: var(--public-primary);font-size: 1.65rem;font-weight: 800;line-height: 1}.public-event-month{color: var(--public-primary);font-size: 0.72rem;font-weight: 750;margin-top: 5px;letter-spacing: 0.08em}.public-event-details h3{margin: 0 0 5px;color: var(--public-text);font-size: 1.08rem}.public-event-church{display: block;color: var(--public-primary);font-size: 0.85rem;font-weight: 650;margin-bottom: 10px}.public-metadata-row{display: inline-flex;align-items: center;gap: 6px;color: var(--public-muted-text);font-size: 0.82rem;margin-right: 18px}.public-metadata-row vaadin-icon{width: 15px;height: 15px}.public-event-arrow{color: var(--public-muted-text)}.public-section-action{display: flex;justify-content: center;margin-top: 34px}.public-section-action vaadin-button{border-radius: 11px}.public-statistics-section{padding: 66px 0;background: #153f32}.public-statistics-grid{display: grid;grid-template-columns: repeat(4,minmax(0,1fr))}.public-statistic{display: flex;flex-direction: column;align-items: center;padding: 18px 28px;text-align: center;border-right: 1px solid rgba(255,255,255,0.14)}.public-statistic:last-child{border-right: none}.public-statistic-value{color: white;font-size: clamp(2rem,3vw,3rem);font-weight: 800;line-height: 1;letter-spacing: -0.035em}.public-statistic-label{color: rgba(255,255,255,0.68);font-size: 0.88rem;margin-top: 10px}.public-cta-section{padding: 96px 0;background: radial-gradient( circle at center top,rgba(198,155,69,0.16),transparent 38% ),var(--public-background)}.public-cta-content{max-width: 760px;margin: 0 auto;text-align: center}.public-cta-icon{width: 30px;height: 30px;padding: 16px;color: var(--public-primary);background: var(--public-primary-soft);border-radius: 18px}.public-cta-content h2{margin: 25px 0 14px;color: var(--public-text);font-size: clamp(2rem,3.4vw,3rem);letter-spacing: -0.035em}.public-cta-content p{max-width: 650px;margin: 0 auto 28px;color: var(--public-muted-text);line-height: 1.72}.public-cta-content vaadin-button{border-radius: 12px}.public-footer{padding: 58px 0 28px;background: #0f2d24;color: white}.public-footer-top{display: flex;justify-content: space-between;gap: 48px;padding-bottom: 38px}.public-footer-brand{max-width: 430px}.public-footer-title{font-size: 1.17rem;font-weight: 750}.public-footer-brand p{color: rgba(255,255,255,0.63);line-height: 1.65}.public-footer-links{display: flex;align-items: flex-start;flex-wrap: wrap;gap: 12px 26px}.public-footer-link{color: rgba(255,255,255,0.76);cursor: pointer;font-size: 0.9rem}.public-footer-link:hover{color: white}.public-footer-copyright{display: block;padding-top: 25px;color: rgba(255,255,255,0.46);font-size: 0.8rem;border-top: 1px solid rgba(255,255,255,0.1)}@media (max-width: 1050px){.public-header{padding-inline: 22px}.public-navigation-link{padding-inline: 8px}.public-hero-container{grid-template-columns: 1fr 0.8fr;gap: 32px}.public-floating-card-two{right: 0}}@media (max-width: 900px){.public-desktop-navigation,.public-login-button{display: none}.public-menu-button{display: inline-flex}.public-mobile-navigation{width: 100%;display: none;flex-direction: column;padding: 8px 18px 18px;box-sizing: border-box;background: white;border-top: 1px solid var(--public-border)}.public-mobile-navigation-open{display: flex}.public-mobile-navigation-link{display: flex;align-items: center;gap: 12px;padding: 13px 12px;color: var(--public-text);text-decoration: none;border-radius: 9px}.public-mobile-navigation-link:hover{background: var(--public-primary-soft);color: var(--public-primary)}.public-mobile-navigation-link-active{background: var(--public-primary-soft);color: var(--public-primary);font-weight: 700}.public-mobile-navigation-link vaadin-icon{width: 19px;height: 19px}.public-hero-section,.public-hero-overlay{min-height: auto}.public-hero-container{grid-template-columns: 1fr;padding-top: 80px;padding-bottom: 90px}.public-hero-content{max-width: 760px}.public-hero-visual{width: min(540px,100%);margin: 10px auto 0}.public-feature-grid,.public-church-grid{grid-template-columns: repeat(2,minmax(0,1fr))}.public-feature-card:last-child,.public-church-card:last-child{grid-column: 1 / -1}.public-statistics-grid{grid-template-columns: repeat(2,minmax(0,1fr));row-gap: 28px}.public-statistic:nth-child(2){border-right: none}.public-statistic:nth-child(3),.public-statistic:nth-child(4){border-top: 1px solid rgba(255,255,255,0.14);padding-top: 36px}}@media (max-width: 640px){.public-header{min-height: 68px;padding-inline: 16px}.public-brand-logo{width: 38px;height: 38px;min-width: 38px;max-width: 38px;min-height: 38px;max-height: 38px;flex-basis: 38px;border-radius: 11px}.public-site-brand__logo{width: 38px;height: 38px;min-width: 38px;max-width: 38px;min-height: 38px;max-height: 38px;flex-basis: 38px}.public-brand-title{font-size: 0.9rem}.public-brand-subtitle{display: none}.public-section-container{width: min(100% - 30px,1180px)}.public-hero-container{padding-top: 62px;padding-bottom: 68px}.public-hero-title{font-size: clamp(2.35rem,12vw,3.5rem)}.public-hero-description{font-size: 1rem}.public-hero-actions{flex-direction: column;align-items: stretch}.public-hero-actions vaadin-button{width: 100%}.public-hero-visual{min-height: 0;grid-template-columns: 1fr}.public-hero-main-card{width: 100%;padding: 30px}.public-floating-card{min-width: 190px;padding: 13px}.public-floating-card-one{grid-column: 1;inset: auto}.public-floating-card-two{grid-column: 1;inset: auto}.public-content-section{padding: 68px 0}.public-section-heading-row{align-items: flex-start;flex-direction: column;margin-bottom: 30px}.public-feature-grid,.public-church-grid{grid-template-columns: 1fr}.public-feature-card:last-child,.public-church-card:last-child{grid-column: auto}.public-event-card{grid-template-columns: 67px minmax(0,1fr);gap: 16px;padding: 17px}.public-event-arrow{display: none}.public-event-date{min-height: 66px}.public-metadata-row{display: flex;margin-top: 4px}.public-statistics-grid{grid-template-columns: 1fr}.public-statistic{border-right: none;border-bottom: 1px solid rgba(255,255,255,0.14);padding: 26px}.public-statistic:nth-child(3),.public-statistic:nth-child(4){border-top: none;padding-top: 26px}.public-statistic:last-child{border-bottom: none}.public-footer-top{flex-direction: column}.public-footer-links{flex-direction: column;gap: 14px}}vaadin-login-overlay[theme~="public-login"]::part(backdrop){background: linear-gradient( rgba(12,37,29,0.55),rgba(12,37,29,0.55) );backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px)}vaadin-login-overlay[theme~="public-login"]::part(overlay){background: transparent;box-shadow: none}vaadin-login-overlay[theme~="public-login"]::part(content){display: flex;align-items: center;justify-content: center;padding: 24px}vaadin-login-overlay[theme~="public-login"]::part(card){width: min(430px,calc(100vw - 32px));max-width: 430px;overflow: hidden;background: rgba(255,255,255,0.98);border: 1px solid rgba(255,255,255,0.65);border-radius: 24px;box-shadow: 0 30px 80px rgba(5,24,18,0.32),0 8px 24px rgba(5,24,18,0.16)}vaadin-login-overlay[theme~="public-login"]::part(brand){padding: 30px 32px 24px;background: radial-gradient( circle at top right,rgba(198,155,69,0.26),transparent 38% ),linear-gradient( 135deg,#174738,#1f5f4a );color: white}vaadin-login-overlay[theme~="public-login"] [slot="title"]{color: white;font-size: 1.45rem;font-weight: 750;letter-spacing: -0.02em}vaadin-login-overlay[theme~="public-login"]::part(description){margin-top: 8px;color: rgba(255,255,255,0.75);font-size: 0.9rem;line-height: 1.5}vaadin-login-overlay[theme~="public-login"]::part(form-wrapper){padding: 28px 32px 32px;background: white}vaadin-login-overlay[theme~="public-login"]::part(form-title){color: #1c2521;font-size: 1.15rem;font-weight: 700}vaadin-login-overlay[theme~="public-login"] vaadin-text-field,vaadin-login-overlay[theme~="public-login"] vaadin-password-field{width: 100%}vaadin-login-overlay[theme~="public-login"] [slot="submit"]{min-height: 46px;margin-top: 8px;border-radius: 11px;--lumo-primary-color: #1f5f4a;--lumo-primary-color-50pct: rgba(31,95,74,0.5);--lumo-primary-color-10pct: rgba(31,95,74,0.1)}vaadin-login-overlay[theme~="public-login"]::part(error-message){border-radius: 10px}vaadin-login-overlay[theme~="public-login"]::part(footer){padding: 0 32px 24px;color: #63706a;background: white;text-align: center;font-size: 0.78rem}@media (max-width: 640px){vaadin-login-overlay[theme~="public-login"]::part(content){padding: 14px}vaadin-login-overlay[theme~="public-login"]::part(card){width: calc(100vw - 28px);border-radius: 20px}vaadin-login-overlay[theme~="public-login"]::part(brand){padding: 24px 22px 20px}vaadin-login-overlay[theme~="public-login"]::part(form-wrapper){padding: 24px 22px 26px}}.public-login-dialog::part(overlay){padding: 0;border-radius: 24px;overflow: hidden;box-shadow: 0 24px 80px rgba(15,23,42,0.28)}.public-login-dialog::part(content){padding: 0;overflow: hidden;background: var(--lumo-base-color)}.public-login-content{width: 100%;padding: 0;margin: 0}.public-login-header{position: relative;width: 100%;box-sizing: border-box;margin: 0;padding: 32px 32px 22px;border-bottom: 1px solid var(--lumo-contrast-10pct);background: radial-gradient(circle at top left,rgba(59,130,246,0.18),transparent 38%),radial-gradient(circle at top right,rgba(16,185,129,0.18),transparent 36%),linear-gradient(135deg,rgba(30,64,175,0.10),rgba(16,185,129,0.10))}.public-login-title-block{width: 100%;text-align: center}.public-login-icon{width: 56px;height: 56px;border-radius: 18px;display: flex;align-items: center;justify-content: center;margin-bottom: 14px;color: white;background: linear-gradient(135deg,#1d4ed8,#059669);box-shadow: 0 12px 28px rgba(37,99,235,0.25)}.public-login-icon vaadin-icon{width: 26px;height: 26px}.public-login-title{margin: 0;font-size: 1.35rem;font-weight: 700;color: var(--lumo-header-text-color)}.public-login-description{margin: 8px auto 0;max-width: 330px;color: var(--lumo-secondary-text-color);font-size: var(--lumo-font-size-s);line-height: 1.5;text-align: center}.public-login-close{position: absolute;top: 14px;right: 14px;color: var(--lumo-secondary-text-color)}.public-login-form-wrapper{box-sizing: border-box;width: 100%;padding: 26px 32px 12px}.public-login-form{width: 100%}.public-login-form vaadin-login-form-wrapper{width: 100%}.public-login-form vaadin-login-form-wrapper::part(form){padding: 0}.public-login-form vaadin-login-form-wrapper::part(form-title){margin-top: 0;font-size: 1.4rem;font-weight: 700}.public-login-form vaadin-button[theme~="primary"]{width: 100%;margin-top: 10px;border-radius: 999px;font-weight: 700}.public-login-note-wrapper{box-sizing: border-box;width: 100%;padding: 0 32px 28px}.public-login-note{box-sizing: border-box;width: 100%;padding: 12px 14px;border-radius: 14px;background: var(--lumo-contrast-5pct);color: var(--lumo-secondary-text-color)}.public-login-note-icon{display: inline-flex;flex-shrink: 0;color: var(--lumo-primary-color)}.public-login-note-icon vaadin-icon{width: 18px;height: 18px}.public-login-note-text{font-size: var(--lumo-font-size-xs);line-height: 1.4}@media (max-width: 520px){.public-login-dialog::part(overlay){width: calc(100vw - 28px);max-width: calc(100vw - 28px);border-radius: 20px}.public-login-header{padding: 30px 22px 20px}.public-login-form-wrapper{padding: 24px 22px 12px}.public-login-note-wrapper{padding: 0 22px 24px}}.public-church-card-body>div:last-child{display: flex;align-items: center;gap: 8px;margin-top: auto;color: var(--public-primary);font-weight: 700}.public-church-card-body>div:last-child vaadin-icon{width: 18px;height: 18px}.public-featured-empty{grid-column: 1 / -1;padding: 42px;text-align: center;border: 1px dashed rgba(31,95,74,0.3);border-radius: 20px;background: white}.public-featured-empty h3{margin: 0 0 8px}.public-featured-empty p{margin: 0;color: var(--public-muted-text)}.public-site-shell{width: 100%;max-width: none;min-width: 0;margin: 0;padding: 0;gap: 0;align-self: stretch;box-sizing: border-box;background: var(--lumo-base-color)}.public-site-container{width: min(1120px,calc(100% - 32px));margin: 0 auto}.public-hero{position: relative;overflow: hidden;min-height: 360px;display: flex;align-items: stretch;background: var(--lumo-primary-color-10pct)}.public-hero>.public-hero-image{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.public-hero>.public-hero-overlay{position: relative;z-index: 1;width: 100%;display: flex;align-items: flex-end;padding: clamp(32px,7vw,72px) 0;background: linear-gradient(90deg,rgba(0,0,0,0.68),rgba(0,0,0,0.28),rgba(0,0,0,0.1));color: white}.public-hero>.public-hero-overlay .public-hero-content{width: min(860px,calc(100% - 32px));margin: 0 auto}.public-church-logo{width: 72px;height: 72px;border-radius: var(--lumo-border-radius-l);object-fit: contain;background: var(--lumo-base-color);border: 1px solid rgba(255,255,255,0.55)}.public-church-title{margin: var(--lumo-space-s) 0 0;font-size: clamp(2rem,6vw,4.5rem);line-height: 1.05;color: white}.public-church-tagline{max-width: 720px;font-size: var(--lumo-font-size-l);color: rgba(255,255,255,0.88)}.public-section{padding: clamp(28px,5vw,56px) 0}.public-section-heading{margin: 0 0 var(--lumo-space-m);font-size: var(--lumo-font-size-xxl)}.public-section-description{max-width: 760px;color: var(--lumo-secondary-text-color);line-height: 1.65}.public-card,.public-service-card,.public-gallery-card,.public-contact-card,.public-mission-card,.public-editor-card{border: 1px solid var(--lumo-contrast-10pct);border-radius: var(--lumo-border-radius-l);background: var(--lumo-base-color);box-shadow: var(--lumo-box-shadow-xs);padding: var(--lumo-space-m)}.public-card-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(240px,1fr));gap: var(--lumo-space-m)}.public-gallery-card-image,.public-album-thumb{width: 100%;aspect-ratio: 4 / 3;object-fit: cover;border-radius: var(--lumo-border-radius-m);background: var(--lumo-contrast-10pct)}.public-directory-filter-panel,.public-editor-action-bar{display: grid;grid-template-columns: repeat(auto-fit,minmax(180px,1fr));gap: var(--lumo-space-m);align-items: end}.public-empty-state{padding: var(--lumo-space-l);border: 1px dashed var(--lumo-contrast-20pct);border-radius: var(--lumo-border-radius-l);color: var(--lumo-secondary-text-color);text-align: center}.public-balang-page{min-height: 100%;background: var(--public-background,var(--lumo-base-color));color: var(--public-text,var(--lumo-body-text-color))}.public-balang-container{width: min(1240px,calc(100% - 48px));margin: 0 auto;padding: clamp(36px,6vw,72px) 0;box-sizing: border-box}.public-balang-header{max-width: 720px}.public-balang-title{margin: 0;color: var(--public-text,var(--lumo-header-text-color));font-size: clamp(2rem,3.6vw,3rem);line-height: 1.15;font-weight: 800}.public-balang-subtitle{margin: 12px 0 24px;color: var(--public-muted-text,var(--lumo-secondary-text-color));font-size: 1rem;line-height: 1.65}.public-balang-search{max-width: 660px}.public-balang-result-count{display: block;margin: 28px 0 16px;color: var(--public-muted-text,var(--lumo-secondary-text-color));font-size: 0.9rem;font-weight: 650}.public-balang-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(300px,1fr));gap: 24px;align-items: stretch}.public-balang-card{min-width: 0;display: flex;flex-direction: column;overflow: hidden;border: 1px solid color-mix(in srgb,var(--church-primary-color,#1d4ed8) 18%,transparent);border-radius: 8px;background: var(--church-card-bg,#ffffff);color: var(--church-text-color,#111827);font-family: var(--church-font-family,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);box-shadow: 0 10px 30px rgba(27,55,45,0.07);transition: transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease}.public-balang-card:hover,.public-balang-card:focus-within{transform: translateY(-3px);border-color: color-mix(in srgb,var(--church-primary-color,#1d4ed8) 34%,transparent);box-shadow: 0 16px 38px rgba(27,55,45,0.12)}.public-balang-card-image-wrapper{position: relative;height: 178px;overflow: hidden;background: color-mix(in srgb,var(--church-card-bg,#ffffff) 84%,var(--church-primary-color,#1d4ed8))}.public-balang-card-image{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.public-balang-card-image-failed .public-balang-card-image{display: none}.public-balang-card-placeholder{height: 100%;display: flex;align-items: center;justify-content: center;color: var(--church-primary-color,#1d4ed8);background: linear-gradient( 145deg,color-mix(in srgb,var(--church-primary-color,#1d4ed8) 16%,var(--church-card-bg,#ffffff)),color-mix(in srgb,var(--church-accent-color,#f59e0b) 18%,var(--church-card-bg,#ffffff)) );font-size: 2rem;font-weight: 800}.public-balang-card-placeholder vaadin-icon{width: 54px;height: 54px}.public-balang-card-content{flex: 1;display: flex;flex-direction: column;gap: 9px;padding: 22px 22px 10px}.public-balang-card-name{margin: 0;color: var(--church-primary-color,#1d4ed8);font-size: 1.16rem;line-height: 1.3;font-weight: 750}.public-balang-card-meta,.public-balang-card-location{color: var(--church-muted-color,#0f172a);font-size: 0.88rem;line-height: 1.45}.public-balang-card-location{color: var(--church-accent-color,#f59e0b);font-weight: 650}.public-balang-card-description{display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;margin: 4px 0 0;color: var(--church-text-color,#111827);font-size: 0.93rem;line-height: 1.6}.public-balang-card-footer{display: flex;justify-content: flex-start;padding: 8px 22px 22px;margin-top: auto}.public-balang-card-action{border-radius: 8px;background: var(--church-primary-color,#1d4ed8);color: #ffffff;box-shadow: 0 8px 18px color-mix(in srgb,var(--church-primary-color,#1d4ed8) 22%,transparent)}.public-balang-card-action:hover{background: color-mix(in srgb,var(--church-primary-color,#1d4ed8) 86%,#000000);color: #ffffff}.public-balang-empty-state{display: flex;justify-content: center;padding: 52px 24px;border: 1px dashed var(--public-border,var(--lumo-contrast-20pct));border-radius: 8px;background: var(--public-surface,var(--lumo-base-color));color: var(--public-muted-text,var(--lumo-secondary-text-color));text-align: center}.public-balang-empty-state>div{max-width: 420px}.public-balang-empty-state h3{margin: 12px 0 6px;color: var(--public-text,var(--lumo-header-text-color));font-size: 1.15rem}.public-balang-empty-state p{margin: 0;line-height: 1.6}.public-balang-empty-icon{color: var(--public-primary,var(--lumo-primary-color));width: 32px;height: 32px}.public-balang-profile{width: 100%;max-width: none;min-width: 0;margin: 0;padding: 0;align-self: stretch;overflow-x: hidden;background: var(--public-background,var(--lumo-base-color));color: var(--public-text,var(--lumo-body-text-color));font-family: var(--public-font-family,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}.public-site-home-link{position: fixed;top: 14px;right: 14px;z-index: 10;display: inline-flex;align-items: center;justify-content: center;width: 36px;height: 36px;border: 1px solid rgba(255,255,255,0.72);border-radius: 8px;background: rgba(255,255,255,0.9);color: var(--public-primary-color,var(--public-primary,var(--lumo-primary-text-color)));box-shadow: 0 10px 24px rgba(15,23,42,0.14);text-decoration: none;backdrop-filter: blur(10px)}.public-site-home-link vaadin-icon{width: 18px;height: 18px}.public-site-home-link:hover,.public-site-home-link:focus-visible{color: var(--public-accent-color,var(--public-accent,var(--lumo-primary-text-color)));outline-offset: 3px}.public-balang-hero{position: relative;display: block;width: 100%;max-width: none;min-width: 0;min-height: 260px;margin: 0;padding: 0;align-self: stretch;overflow: hidden;box-sizing: border-box;background: linear-gradient(135deg,rgba(31,95,74,0.95),rgba(20,45,65,0.9))}.public-balang-cover{position: absolute;inset: 0;display: block;width: 100%;height: 100%;max-width: none;object-fit: cover;object-position: center}.public-balang-hero-overlay{position: relative;z-index: 1;width: 100%;min-width: 0;min-height: 260px;display: flex;align-items: flex-end;box-sizing: border-box;background: linear-gradient(180deg,rgba(14,28,36,0.18),rgba(14,28,36,0.82)),linear-gradient(90deg,rgba(8,26,22,0.72),rgba(8,26,22,0.12));color: white}.public-balang-hero-shell{width: 100%;min-width: 0}.public-balang-identity{width: min(1120px,calc(100% - 48px));margin: 0 auto;padding: 36px 0 30px}.public-balang-logo{position: relative;width: 66px;height: 66px;display: flex;align-items: center;justify-content: center;overflow: hidden;border: 1px solid rgba(255,255,255,0.55);border-radius: 8px;background: rgba(255,255,255,0.94);color: #1f5f4a;font-size: 1.35rem;font-weight: 800;box-shadow: 0 12px 28px rgba(0,0,0,0.18)}.public-balang-logo img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: contain;background: rgba(255,255,255,0.94)}.public-balang-name{max-width: 920px;margin: 12px 0 0;color: white;font-size: clamp(1.8rem,4vw,3rem);line-height: 1.08}.public-balang-description{max-width: 720px;margin: 8px 0 0;color: rgba(255,255,255,0.84);font-size: 1rem;line-height: 1.5}.public-balang-location{display: inline-flex;margin-top: 10px;color: rgba(255,255,255,0.84);font-weight: 650}.public-balang-menu{position: sticky;top: 0;z-index: 3;width: 100%;display: flex;gap: 8px;overflow-x: auto;box-sizing: border-box;padding: 14px max(24px,calc((100% - 1120px) / 2));border-bottom: 1px solid var(--public-border,var(--lumo-contrast-10pct));background: color-mix(in srgb,var(--public-background-color,var(--lumo-base-color)) 94%,transparent);backdrop-filter: blur(12px)}.public-balang-menu-item{flex: 0 0 auto;padding: 10px 14px;border-radius: 8px;color: var(--public-text,var(--lumo-body-text-color));font-weight: 650;text-decoration: none;outline-offset: 3px;transition: background 140ms ease,color 140ms ease}.public-balang-menu-item:hover,.public-balang-menu-item:focus-visible,.public-balang-menu-item-active{background: var(--public-primary-soft,var(--lumo-primary-color-10pct));color: var(--public-primary,var(--lumo-primary-text-color))}.public-balang-content{padding: clamp(34px,6vw,76px) 0}.public-balang-page-section{width: min(960px,calc(100% - 48px));margin: 0 auto}.public-balang-page-title{margin: 0 0 22px;color: var(--public-text,var(--lumo-header-text-color));font-size: clamp(1.7rem,3vw,2.3rem);line-height: 1.18}.public-church-section-image-wrapper{margin: 0 0 24px}.public-balang-section-image{display: block;width: 100%;max-height: 420px;object-fit: cover;border-radius: 8px;box-shadow: 0 12px 34px rgba(27,55,45,0.08)}.public-balang-rich-content{max-width: 860px}.public-balang-gallery{display: grid;grid-template-columns: repeat(auto-fit,minmax(250px,1fr));gap: 18px}.public-gallery-card-content span{display: inline-flex;margin-bottom: 8px;color: var(--public-primary,var(--lumo-primary-text-color));font-size: 0.86rem;font-weight: 700}.public-download-list{display: grid;gap: 14px}.public-download-item{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 18px;align-items: center;padding: 18px;border: 1px solid var(--public-border,var(--lumo-contrast-10pct));border-radius: 8px;background: var(--public-surface,var(--lumo-base-color))}.public-download-details{min-width: 0}.public-download-title{margin: 0 0 6px;color: var(--public-text,var(--lumo-header-text-color));font-size: 1.05rem}.public-download-description{margin: 0 0 8px;color: var(--public-muted-text,var(--lumo-secondary-text-color));line-height: 1.55}.public-download-meta{color: var(--public-muted-text,var(--lumo-secondary-text-color));font-size: 0.88rem;overflow-wrap: anywhere}.public-download-action{display: inline-flex;align-items: center;justify-content: center;min-height: 40px;padding: 0 14px;border-radius: 8px;background: var(--public-primary,var(--lumo-primary-color));color: white;font-weight: 700;text-decoration: none}.public-download-action:hover,.public-download-action:focus-visible{background: var(--public-accent,var(--lumo-primary-text-color))}.public-balang-footer{padding: 28px max(24px,calc((100% - 960px) / 2)) 44px;border-top: 1px solid var(--public-border,var(--lumo-contrast-10pct));background: color-mix(in srgb,var(--public-background-color,var(--lumo-base-color)) 94%,var(--public-secondary-color,#0f172a))}.public-church-contact{display: grid;gap: 12px}.public-church-contact-row{display: grid;grid-template-columns: 140px minmax(0,1fr);gap: 12px;padding: 14px 0;border-bottom: 1px solid var(--public-border,var(--lumo-contrast-10pct))}.public-church-contact-label{color: var(--public-muted-text,var(--lumo-secondary-text-color));font-weight: 700}.public-church-contact-value{min-width: 0;overflow-wrap: anywhere}.public-church-contact-link{color: var(--public-primary,var(--lumo-primary-text-color));font-weight: 650;text-decoration: none}.public-church-contact-link:hover,.public-church-contact-link:focus-visible{text-decoration: underline}.public-balang-empty-state{display: flex;align-items: center;gap: 10px;padding: 24px;border: 1px dashed var(--public-border,var(--lumo-contrast-20pct));border-radius: 8px;color: var(--public-muted-text,var(--lumo-secondary-text-color));background: var(--public-surface,var(--lumo-base-color))}.church-page-editor-image-preview{min-height: 90px;border: 1px dashed var(--lumo-contrast-20pct);border-radius: 8px;padding: 12px;color: var(--lumo-secondary-text-color)}.church-page-editor-image{max-width: 100%;max-height: 220px;object-fit: contain;border-radius: 8px}.church-page-editor-image-empty{display: block;padding: 16px;border: 1px dashed var(--lumo-contrast-20pct);border-radius: 8px;color: var(--lumo-secondary-text-color)}.church-page-editor-image-actions{display: flex;align-items: center;gap: 12px;flex-wrap: wrap}.public-editor-color-input{min-height: 40px;padding: 0;border: 1px solid var(--lumo-contrast-20pct);border-radius: 8px;background: transparent}.public-editor-color-label{color: var(--lumo-secondary-text-color);font-size: var(--lumo-font-size-s);font-weight: 500;margin-bottom: 4px}.public-pastor-section{display: grid;grid-template-columns: minmax(180px,280px) 1fr;gap: var(--lumo-space-l);align-items: center}.public-pastor-image{width: 100%;aspect-ratio: 1 / 1;object-fit: cover;border-radius: var(--lumo-border-radius-l);background: var(--lumo-contrast-10pct)}.public-site-footer{padding: var(--lumo-space-l) 0;border-top: 1px solid var(--lumo-contrast-10pct);color: var(--lumo-secondary-text-color)}.public-editor-view{gap: var(--lumo-space-m)}.public-editor-help{max-width: 760px;color: var(--lumo-secondary-text-color)}.public-dynamic-page-container{max-width: 1040px;padding-top: var(--lumo-space-xl);padding-bottom: var(--lumo-space-xl)}.public-dynamic-page-section{width: 100%}.public-dynamic-page-title{color: var(--lumo-header-text-color);font-size: 2.4rem;line-height: 1.15;margin: 0 0 var(--lumo-space-l)}.public-rich-content{color: var(--lumo-body-text-color);font-size: 1rem;line-height: 1.72;max-width: 860px}.public-rich-content h1,.public-rich-content h2,.public-rich-content h3,.public-rich-content h4{color: var(--lumo-header-text-color);line-height: 1.25;margin: 1.5em 0 0.5em}.public-rich-content p{margin: 0 0 1em}.public-rich-content a{color: var(--lumo-primary-text-color);font-weight: 600}.public-rich-content blockquote{border-left: 4px solid var(--lumo-primary-color-50pct);color: var(--lumo-secondary-text-color);margin: 1.5em 0;padding: 0.3em 0 0.3em 1.25em}.public-rich-content table{border-collapse: collapse;display: block;max-width: 100%;overflow-x: auto}.public-rich-content th,.public-rich-content td{border: 1px solid var(--lumo-contrast-20pct);padding: 10px 12px;text-align: left}.public-rich-content th{background: var(--lumo-contrast-5pct)}.status-badge-success,.status-badge-warning{border-radius: 999px;display: inline-flex;font-size: 0.78rem;font-weight: 700;padding: 4px 10px}.status-badge-success{background: #dff4e8;color: #17683a}.status-badge-warning{background: #fff0c2;color: #805400}.public-lightbox-image{max-width: min(92vw,1100px);max-height: 72vh;object-fit: contain}.public-gallery-card{cursor: pointer}.public-gallery-card:focus-visible{outline: 3px solid var(--lumo-primary-color-50pct);outline-offset: 3px}.public-gallery-lightbox-dialog::part(content){padding: 0;background: #101820;color: white}.public-gallery-lightbox-content{width: min(96vw,1120px);max-height: 92vh;display: grid;grid-template-rows: auto minmax(0,1fr) auto;gap: 12px;padding: 18px;box-sizing: border-box}.public-gallery-lightbox-header{display: grid;grid-template-columns: minmax(0,1fr) auto auto;gap: 14px;align-items: center}.public-gallery-lightbox-title{margin: 0;color: white;font-size: 1.2rem}.public-gallery-lightbox-counter,.public-gallery-lightbox-caption{color: rgba(255,255,255,0.78)}.public-gallery-lightbox-close{color: white}.public-gallery-lightbox-viewer{min-height: 280px;display: grid;grid-template-columns: auto minmax(0,1fr) auto;gap: 10px;align-items: center}.public-gallery-lightbox-image{max-width: 100%;max-height: 72vh;justify-self: center;object-fit: contain}.public-gallery-lightbox-nav{color: white}@media (max-width: 700px){.public-pastor-section{grid-template-columns: 1fr}.public-hero{min-height: 300px}.public-balang-container{width: min(100% - 30px,1240px);padding: 32px 0 48px}.public-balang-search{max-width: none}.public-balang-grid{grid-template-columns: 1fr;gap: 18px}.public-balang-card-image-wrapper{height: 165px}.public-balang-hero,.public-balang-hero-overlay{min-height: 220px}.public-balang-identity{width: min(100% - 30px,1120px);padding: 28px 0 24px}.public-balang-page-section{width: min(100% - 30px,1120px)}.public-balang-menu{padding-left: 15px;padding-right: 15px}.public-balang-logo{width: 56px;height: 56px}.public-balang-name{font-size: clamp(1.6rem,8vw,2.3rem)}.public-church-contact-row{grid-template-columns: 1fr;gap: 4px}.public-download-item{grid-template-columns: 1fr}}.main-layout .main-layout-header{min-width: 0;padding-inline: var(--lumo-space-s);box-sizing: border-box}.main-layout .main-layout-brand{flex: 0 1 auto;min-width: 0;max-width: min(34vw,420px)}.main-layout .main-layout-brand-text{gap: 4px;min-width: 0}.main-layout .main-layout-logo{flex: 0 0 auto;object-fit: contain;border-radius: 6px;background: var(--lumo-base-color)}.main-layout .main-layout-context,.main-layout .main-layout-app-name,.main-layout .main-layout-title,.main-layout .main-layout-user-name,.main-layout .drawer-footer-user-name,.main-layout .drawer-footer-user-role{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.main-layout .main-layout-context{font-size: var(--lumo-font-size-xl);font-weight: 700;line-height: 1.1;color: var(--lumo-primary-text-color)}.main-layout .main-layout-app-name{font-size: var(--lumo-font-size-xs);font-weight: 500;line-height: 1.1;color: var(--lumo-secondary-text-color);letter-spacing: 0.04em;text-transform: uppercase}.main-layout .main-layout-title{min-width: 0;margin: 0;font-size: var(--lumo-font-size-l);font-weight: 600;line-height: 1.2}.main-layout .main-layout-user-menu{flex: 0 0 auto;min-width: 0}.main-layout .main-layout-user-name{max-width: 180px;font-size: var(--lumo-font-size-s);color: var(--lumo-secondary-text-color)}.main-layout .main-layout-avatar{cursor: pointer}.main-layout vaadin-scroller[slot="drawer"]{padding: var(--lumo-space-s)}.main-layout vaadin-side-nav-item vaadin-icon{padding: 0}.main-layout [slot="drawer"]:is(header,footer){display: flex;align-items: center;gap: var(--lumo-space-s);padding: var(--lumo-space-s) var(--lumo-space-m);min-height: var(--lumo-size-xl);box-sizing: border-box}.main-layout [slot="drawer"]:is(header,footer):is(:empty){display: none}.main-layout .drawer-footer-user,.main-layout .drawer-footer-text{min-width: 0}.main-layout .drawer-footer-user-name{font-size: var(--lumo-font-size-s);font-weight: 600;line-height: 1.2}.main-layout .drawer-footer-user-role{font-size: var(--lumo-font-size-xs);line-height: 1.2;color: var(--lumo-secondary-text-color)}@media (max-width: 700px){.main-layout .main-layout-brand{max-width: 46vw}.main-layout .main-layout-user-name{display: none}}@media (max-width: 520px){.main-layout .main-layout-app-name,.main-layout .main-layout-title{display: none}.main-layout .main-layout-brand{max-width: calc(100vw - 120px)}}.cms-brand-preview{display: flex;align-items: center;gap: var(--lumo-space-l);width: 100%;margin-bottom: var(--lumo-space-l);padding: var(--lumo-space-m);box-sizing: border-box;border: 1px solid var(--lumo-contrast-10pct);border-radius: var(--lumo-border-radius-l);background: var(--lumo-contrast-5pct)}.cms-brand-preview__logo-frame{display: flex;flex: 0 0 auto;align-items: center;justify-content: center;padding: var(--lumo-space-xs);border: 1px solid var(--lumo-contrast-10pct);border-radius: var(--lumo-border-radius-m);background: #fff}.cms-brand-preview__logo{display: block;width: clamp(120px,14vw,170px);height: auto;object-fit: contain}.cms-brand-preview__text{min-width: 0}.cms-brand-preview__title{margin: 0;color: var(--lumo-primary-text-color);font-size: var(--lumo-font-size-xl);line-height: 1.2}.cms-brand-preview__subtitle{margin: var(--lumo-space-xs) 0 0;color: var(--lumo-secondary-text-color);font-size: var(--lumo-font-size-s);line-height: 1.4}@media (max-width: 600px){.cms-brand-preview{gap: var(--lumo-space-m);padding: var(--lumo-space-s)}.cms-brand-preview__logo{width: clamp(92px,28vw,120px)}.cms-brand-preview__title{font-size: var(--lumo-font-size-l)}}@media (max-width: 420px){.cms-brand-preview{flex-direction: column;text-align: center}}.public-gallery-card{cursor: pointer}.public-gallery-card:focus-visible{outline: 3px solid var(--lumo-primary-color-50pct);outline-offset: 3px}.public-gallery-lightbox-dialog::part(overlay){width: min(1100px,94vw);max-width: 1100px;height: min(86vh,820px);padding: 0;overflow: hidden;border-radius: 12px}.public-gallery-lightbox-dialog::part(content){height: 100%;padding: 0}.public-gallery-lightbox-content{height: 100%;display: flex;flex-direction: column;background: #101513;color: white}.public-gallery-lightbox-header{display: grid;grid-template-columns: minmax(0,1fr) auto auto;align-items: center;gap: 16px;padding: 14px 18px;border-bottom: 1px solid rgba(255,255,255,0.12)}.public-gallery-lightbox-title{overflow: hidden;margin: 0;color: white;font-size: 1.15rem;text-overflow: ellipsis;white-space: nowrap}.public-gallery-lightbox-counter{color: rgba(255,255,255,0.72);font-size: 0.9rem}.public-gallery-lightbox-close{color: white}.public-gallery-lightbox-viewer{min-height: 0;flex: 1;display: grid;grid-template-columns: auto minmax(0,1fr) auto;align-items: center;gap: 12px;padding: 18px}.public-gallery-lightbox-image{display: block;width: 100%;height: 100%;max-height: 66vh;object-fit: contain}.public-gallery-lightbox-nav{color: white}.public-gallery-lightbox-caption{margin: 0;padding: 0 20px 18px;color: rgba(255,255,255,0.8);text-align: center}@media (max-width: 700px){.public-gallery-lightbox-dialog::part(overlay){width: 96vw;height: 88vh}.public-gallery-lightbox-viewer{grid-template-columns: 40px minmax(0,1fr) 40px;gap: 4px;padding: 10px}.public-gallery-lightbox-header{grid-template-columns: minmax(0,1fr) auto auto;padding: 12px}.public-gallery-lightbox-image{max-height: 68vh}}.checkout-form-view aside{top: calc(var(--lumo-space-xl) + var(--_vaadin-app-layout-navbar-offset-size))}@media (min-width: 1024px){.checkout-form-view main{grid-template-columns: auto 324px}}.cms-error-body{margin: 0;min-height: 100vh;background: linear-gradient(135deg,rgba(15,68,52,0.08),rgba(205,164,73,0.08)),#f7f7f7;color: #263238;font-family: Inter,"Segoe UI",Roboto,Arial,sans-serif}.cms-error-page{box-sizing: border-box;width: 100%;min-height: 100vh;display: flex;align-items: center;justify-content: center;padding: 32px 18px;background: linear-gradient(135deg,rgba(15,68,52,0.08),rgba(205,164,73,0.08)),#f7f7f7}.cms-error-card{box-sizing: border-box;width: min(100%,620px);display: flex;flex-direction: column;align-items: center;gap: 16px;padding: 38px;border: 1px solid rgba(31,45,43,0.12);border-radius: 8px;background: #ffffff;box-shadow: 0 20px 52px rgba(31,45,43,0.14);text-align: center}.cms-error-status{min-width: 90px;padding: 8px 18px;border-radius: 999px;background: rgba(15,68,52,0.1);color: #0f4434;font-size: 34px;line-height: 1;font-weight: 800}.cms-error-title{margin: 4px 0 0 0;color: #14231d;font-size: 30px;line-height: 1.2;font-weight: 800}.cms-error-message{max-width: 480px;margin: 0;color: #52615d;font-size: 16px;line-height: 1.55}.cms-error-quote{box-sizing: border-box;width: 100%;margin-top: 4px;padding: 16px 18px;border-left: 4px solid #cda449;border-radius: 6px;background: rgba(205,164,73,0.12);text-align: left}.cms-error-quote-text,.cms-error-quote-reference{display: block}.cms-error-quote-text{color: #283631;font-size: 15px;line-height: 1.45;font-weight: 650}.cms-error-quote-reference{margin-top: 5px;color: #6b5a2e;font-size: 13px;font-weight: 700}.cms-error-actions{display: flex;justify-content: center;align-items: center;flex-wrap: wrap;gap: 12px;width: 100%;margin-top: 4px}.cms-error-action-primary,.cms-error-action-secondary{box-sizing: border-box;min-width: 128px;padding: 10px 18px;border-radius: 6px;font-size: 14px;line-height: 1.2;font-weight: 750;text-decoration: none;transition: background-color 140ms ease,border-color 140ms ease,color 140ms ease}.cms-error-action-primary{border: 1px solid #0f4434;background: #0f4434;color: #ffffff}.cms-error-action-primary:hover{background: #155c46;border-color: #155c46;color: #ffffff}.cms-error-action-secondary{border: 1px solid rgba(15,68,52,0.22);background: #ffffff;color: #0f4434}.cms-error-action-secondary:hover{border-color: rgba(15,68,52,0.42);background: rgba(15,68,52,0.06);color: #0f4434}@media (max-width: 520px){.cms-error-page{padding: 22px 14px}.cms-error-card{padding: 28px 20px}.cms-error-title{font-size: 25px}.cms-error-actions,.cms-error-action-primary,.cms-error-action-secondary{width: 100%}}html,spreadsheet-view-export,grid-with-filters-view-export{--lumo-primary-color: rgb(4,27,20);--lumo-primary-color-50pct: rgba(4,27,20,0.5);--lumo-primary-color-10pct: rgba(4,27,20,0.1);--lumo-primary-text-color: rgb(19,88,68);--lumo-shade-5pct: rgba(31,45,43,0.05);--lumo-shade-10pct: rgba(31,45,43,0.1);--lumo-shade-20pct: rgba(31,45,43,0.2);--lumo-shade-30pct: rgba(31,45,43,0.3);--lumo-shade-40pct: rgba(31,45,43,0.4);--lumo-shade-50pct: rgba(31,45,43,0.5);--lumo-shade-60pct: rgba(31,45,43,0.6);--lumo-shade-70pct: rgba(31,45,43,0.7);--lumo-shade-80pct: rgba(31,45,43,0.8);--lumo-shade-90pct: rgba(31,45,43,0.9);--lumo-success-color-50pct: rgba(46,125,50,0.5);--lumo-success-color-10pct: rgba(46,125,50,0.1);--lumo-shade: rgb(31,45,43);--lumo-error-text-color: rgb(179,38,30);--lumo-success-color: rgb(46,125,50);--lumo-success-text-color: rgb(46,125,50);--lumo-base-color: rgb(247,247,247);--lumo-body-text-color: rgb(38,50,56);--lumo-font-size: 1rem;--lumo-font-size-xxxl: 1.75rem;--lumo-font-size-xxl: 1.375rem;--lumo-font-size-xl: 1.125rem;--lumo-font-size-l: 1rem;--lumo-font-size-m: 0.875rem;--lumo-font-size-s: 0.8125rem;--lumo-font-size-xs: 0.75rem;--lumo-font-size-xxs: 0.6875rem;--lumo-line-height-m: 1.4;--lumo-line-height-s: 1.2;--lumo-line-height-xs: 1.1}.transfer-type-radio{margin-bottom: var(--lumo-space-s)}.transfer-type-radio::part(group-field){display: flex;gap: var(--lumo-space-l);align-items: center;flex-wrap: wrap}.transfer-type-radio vaadin-radio-button{font-weight: 500}.dashboard-flip-card{min-width: 220px;min-height: 210px;height: 210px;flex: 1 1 220px;perspective: 1000px;cursor: pointer;box-sizing: border-box}.dashboard-flip-card-inner{position: relative;width: 100%;height: 100%;min-height: 210px;transition: transform 0.6s ease;transform-style: preserve-3d}.dashboard-flip-card.flipped .dashboard-flip-card-inner{transform: rotateY(180deg)}.dashboard-flip-card-face{position: absolute;inset: 0;width: 100%;height: 100%;box-sizing: border-box;padding: 18px;border: 1px solid var(--lumo-contrast-10pct);border-radius: 14px;background: var(--lumo-base-color);box-shadow: 0 2px 8px rgba(0,0,0,0.05);overflow: hidden;backface-visibility: hidden;-webkit-backface-visibility: hidden}.dashboard-flip-card-front{display: flex;flex-direction: column;transform: rotateY(0deg)}.dashboard-flip-card-back{display: flex;flex-direction: column;transform: rotateY(180deg)}.dashboard-stat-icon{box-sizing: content-box;padding: 10px;border-radius: 12px;color: var(--lumo-primary-color);background: var(--lumo-primary-color-10pct)}.dashboard-stat-value{display: block;margin-top: 14px;font-size: 28px;font-weight: 700;line-height: 1.2;color: var(--lumo-body-text-color)}.dashboard-stat-title{display: block;margin-top: 2px;font-size: 15px;font-weight: 600}.dashboard-stat-description{display: block;margin-top: 4px;font-size: 13px;color: var(--lumo-secondary-text-color)}.dashboard-flip-hint{display: block;margin-top: auto;padding-top: 8px;font-size: 11px;color: var(--lumo-tertiary-text-color)}.dashboard-flip-back-title{margin: 0 0 8px 0;font-size: 15px;line-height: 1.3}.dashboard-flip-year-row{box-sizing: border-box;margin: 0;padding: 8px 0;border-bottom: 1px solid var(--lumo-contrast-10pct)}.dashboard-flip-year{font-size: 14px;font-weight: 600}.dashboard-flip-count{font-size: 18px;font-weight: 700;color: var(--lumo-primary-text-color)}.dashboard-birthday-row{box-sizing: border-box;padding: 10px 0;border-bottom: 1px solid var(--lumo-contrast-10pct)}.dashboard-birthday-row:last-child{border-bottom: 0}.dashboard-birthday-avatar{width: 40px;height: 40px;min-width: 40px;object-fit: cover;border-radius: 50%;border: 1px solid var(--lumo-contrast-10pct)}.dashboard-birthday-initials{display: inline-flex;align-items: center;justify-content: center;box-sizing: border-box;background: var(--lumo-primary-color-10pct);color: var(--lumo-primary-text-color);font-size: 13px;font-weight: 700}.dashboard-birthday-empty{display: block;padding: 18px 0;color: var(--lumo-secondary-text-color);font-size: 14px}@media (prefers-reduced-motion: reduce){.dashboard-flip-card-inner{transition: none}}.public-site-shell{width: 100%;min-height: 100vh;margin: 0;padding: 0;background: radial-gradient( circle at top right,rgba(59,130,246,0.08),transparent 32rem ),#f8fafc;color: #172033;font-family: Inter,"Segoe UI",Roboto,Arial,sans-serif;box-sizing: border-box}.public-hero{position: relative;width: 100%;min-height: 500px;overflow: hidden;background: linear-gradient( 135deg,#172554 0%,#1e3a8a 45%,#0369a1 100% );isolation: isolate}.public-hero::after{position: absolute;inset: 0;z-index: 1;content: "";pointer-events: none;background: linear-gradient( 90deg,rgba(8,18,42,0.88) 0%,rgba(8,18,42,0.55) 48%,rgba(8,18,42,0.18) 100% ),linear-gradient( 0deg,rgba(8,18,42,0.58) 0%,transparent 55% )}.public-hero-image{position: absolute;inset: 0;z-index: 0;width: 100%;height: 100%;min-height: 500px;object-fit: cover;object-position: center;transform: scale(1.002)}.public-hero>.public-hero-overlay{position: relative;z-index: 2;display: flex;align-items: flex-end;width: 100%;min-height: 500px;padding: clamp(2rem,7vw,6rem);box-sizing: border-box}.public-hero>.public-hero-overlay .public-hero-content{width: min(760px,100%);animation: public-content-enter 650ms ease-out both}.public-preview-badge{display: inline-flex;align-items: center;margin-bottom: 1rem;padding: 0.4rem 0.8rem;border: 1px solid rgba(255,255,255,0.28);border-radius: 999px;background: rgba(255,255,255,0.15);color: #ffffff;font-size: 0.78rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;backdrop-filter: blur(12px)}.public-church-title{max-width: 900px;margin: 0;color: #ffffff;font-size: clamp(2.45rem,6vw,5.25rem);font-weight: 800;line-height: 1.02;letter-spacing: -0.045em;text-wrap: balance;text-shadow: 0 5px 30px rgba(0,0,0,0.35)}.public-church-tagline{max-width: 680px;margin: 1.35rem 0 0;color: rgba(255,255,255,0.9);font-size: clamp(1.05rem,2vw,1.4rem);font-weight: 400;line-height: 1.65;text-shadow: 0 3px 18px rgba(0,0,0,0.3)}.public-site-content{width: min(1180px,calc(100% - 2rem));margin: 0 auto;padding: clamp(2rem,5vw,5rem) 0 4rem;box-sizing: border-box}.public-section{position: relative;width: 100%;margin: 0 0 1.5rem;padding: clamp(1.5rem,3vw,2.4rem);border: 1px solid rgba(148,163,184,0.18);border-radius: 24px;background: rgba(255,255,255,0.9);box-shadow: 0 20px 45px rgba(15,23,42,0.06),0 3px 10px rgba(15,23,42,0.035);box-sizing: border-box;backdrop-filter: blur(14px)}.public-section-heading{position: relative;margin: 0 0 1.6rem;padding-bottom: 0.85rem;color: #172554;font-size: clamp(1.65rem,3vw,2.25rem);font-weight: 750;line-height: 1.2;letter-spacing: -0.025em}.public-section-heading::after{position: absolute;bottom: 0;left: 0;width: 58px;height: 4px;border-radius: 999px;content: "";background: linear-gradient(90deg,#2563eb,#06b6d4)}.public-section-description{max-width: 920px;margin: 0 0 1.1rem;color: #475569;font-size: 1.05rem;line-height: 1.85;white-space: pre-line}.public-section-description:last-child{margin-bottom: 0}.public-card-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(245px,1fr));gap: 1.35rem;width: 100%}.public-service-card{position: relative;display: flex;flex-direction: column;gap: 0.55rem;min-height: 130px;padding: 1.45rem;overflow: hidden;border: 1px solid #e2e8f0;border-radius: 18px;background: linear-gradient( 145deg,#ffffff 0%,#f8fafc 100% );box-shadow: 0 8px 20px rgba(15,23,42,0.045);box-sizing: border-box;transition: transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}.public-service-card::before{position: absolute;top: 0;left: 0;width: 5px;height: 100%;content: "";background: linear-gradient(180deg,#2563eb,#06b6d4)}.public-service-card:hover{border-color: rgba(37,99,235,0.3);box-shadow: 0 16px 32px rgba(15,23,42,0.09);transform: translateY(-4px)}.public-service-name{color: #172554;font-size: 1.08rem;font-weight: 750;line-height: 1.35}.public-service-time{color: #2563eb;font-size: 0.98rem;font-weight: 650}.public-service-venue{color: #64748b;font-size: 0.93rem;line-height: 1.5}.public-gallery-grid{align-items: stretch}.public-gallery-card{display: flex;flex-direction: column;min-width: 0;overflow: hidden;border: 1px solid rgba(148,163,184,0.25);border-radius: 20px;background: #ffffff;box-shadow: 0 10px 28px rgba(15,23,42,0.07);transition: transform 200ms ease,box-shadow 200ms ease}.public-gallery-card:hover{box-shadow: 0 22px 45px rgba(15,23,42,0.13);transform: translateY(-6px)}.public-gallery-card-image{display: block;width: 100%;height: 230px;object-fit: cover;transition: transform 350ms ease}.public-gallery-card:hover .public-gallery-card-image{transform: scale(1.045)}.public-gallery-card-placeholder{display: flex;align-items: center;justify-content: center;width: 100%;height: 230px;color: #64748b;background: linear-gradient( 135deg,#e2e8f0 0%,#f8fafc 100% )}.public-gallery-placeholder-icon{width: 52px;height: 52px;opacity: 0.65}.public-gallery-card-content{display: flex;flex: 1;flex-direction: column;align-items: flex-start;padding: 1.35rem;box-sizing: border-box}.public-gallery-card-title{margin: 0 0 0.55rem;color: #172554;font-size: 1.2rem;font-weight: 750;line-height: 1.35}.public-gallery-photo-count{display: inline-flex;margin-bottom: 0.9rem;padding: 0.3rem 0.65rem;border-radius: 999px;background: #eff6ff;color: #1d4ed8;font-size: 0.78rem;font-weight: 700}.public-gallery-description{display: -webkit-box;margin: 0 0 1.25rem;overflow: hidden;color: #64748b;font-size: 0.94rem;line-height: 1.65;-webkit-box-orient: vertical;-webkit-line-clamp: 3}.public-gallery-open-button{margin-top: auto}.public-gallery-all-button{margin-top: 1.8rem}.public-site-shell vaadin-button{min-height: 42px;padding-inline: 1.1rem;border-radius: 12px;font-weight: 700;cursor: pointer;transition: transform 160ms ease,box-shadow 160ms ease}.public-site-shell vaadin-button:hover{transform: translateY(-2px)}.public-gallery-open-button,.public-gallery-all-button{color: #ffffff;background: linear-gradient(135deg,#2563eb,#0284c7);box-shadow: 0 8px 18px rgba(37,99,235,0.22)}.public-contact-details{display: flex;flex-direction: column;align-items: flex-start;gap: 0.95rem}.public-contact-link{position: relative;display: inline-flex;align-items: center;gap: 0.5rem;color: #1d4ed8;font-weight: 650;line-height: 1.5;text-decoration: none;transition: color 150ms ease}.public-contact-link:hover{color: #0369a1;text-decoration: underline;text-underline-offset: 4px}.public-contact-address{max-width: 680px;margin: 0;color: #475569;line-height: 1.75;white-space: pre-line}.public-social-links{display: flex;flex-wrap: wrap;gap: 0.75rem;margin-top: 0.55rem}.public-social-links a{display: inline-flex;align-items: center;min-height: 38px;padding: 0.45rem 0.85rem;border: 1px solid #dbeafe;border-radius: 999px;background: #eff6ff;color: #1d4ed8;font-size: 0.9rem;font-weight: 700;text-decoration: none;transition: background 160ms ease,transform 160ms ease}.public-social-links a:hover{background: #dbeafe;transform: translateY(-2px)}.public-site-footer{display: flex;flex-wrap: wrap;justify-content: center;gap: 0.45rem;width: 100%;margin-top: 0.5rem;padding: 1.5rem 1rem;border-top: 1px solid #e2e8f0;color: #64748b;font-size: 0.88rem;text-align: center;box-sizing: border-box}.public-footer-church-body,.public-footer-org-unit{font-weight: 600}.public-footer-separator{color: #94a3b8}@keyframes public-content-enter{from{opacity: 0;transform: translateY(22px)}to{opacity: 1;transform: translateY(0)}}@media (max-width: 900px){.public-hero,.public-hero-image,.public-hero>.public-hero-overlay{min-height: 430px}.public-hero>.public-hero-overlay{padding: 3rem 1.75rem}.public-site-content{width: min(100% - 1.5rem,1180px)}.public-section{border-radius: 20px}}@media (max-width: 600px){.public-hero,.public-hero-image,.public-hero>.public-hero-overlay{min-height: 390px}.public-hero>.public-hero-overlay{align-items: flex-end;padding: 2.25rem 1.15rem}.public-church-title{font-size: clamp(2.1rem,12vw,3.15rem)}.public-church-tagline{margin-top: 0.85rem;font-size: 1rem;line-height: 1.55}.public-site-content{width: calc(100% - 1rem);padding-top: 1.25rem}.public-section{margin-bottom: 1.4rem;padding: 1.25rem;border-radius: 17px}.public-section-heading{margin-bottom: 1.25rem;font-size: 1.55rem}.public-section-description{font-size: 0.98rem;line-height: 1.75}.public-card-grid{grid-template-columns: 1fr;gap: 1rem}.public-gallery-card-image,.public-gallery-card-placeholder{height: 215px}.public-social-links{width: 100%}.public-footer-separator{display: none}.public-site-footer{flex-direction: column;align-items: center}}@media (prefers-reduced-motion: reduce){.public-hero-content,.public-service-card,.public-gallery-card,.public-gallery-card-image,.public-site-shell vaadin-button{animation: none;transition: none}}vaadin-dialog-overlay.public-album-dialog::part(overlay){overflow: hidden;border-radius: 24px;background: #f8fafc;box-shadow: 0 30px 80px rgba(15,23,42,0.3),0 8px 24px rgba(15,23,42,0.18)}vaadin-dialog-overlay.public-album-dialog::part(content){height: 100%;padding: 0}.public-album-dialog-layout{min-height: 0;background: #f8fafc}.public-album-dialog-header{display: flex;flex: 0 0 auto;align-items: flex-start;justify-content: space-between;gap: 1rem;width: 100%;padding: 1.5rem 1.75rem;border-bottom: 1px solid #e2e8f0;background: rgba(255,255,255,0.96);box-sizing: border-box}.public-album-dialog-heading{min-width: 0}.public-album-dialog-title{margin: 0 0 0.35rem;color: #172554;font-size: clamp(1.5rem,3vw,2.1rem);font-weight: 800;line-height: 1.2;letter-spacing: -0.025em}.public-album-dialog-count{display: inline-flex;padding: 0.28rem 0.65rem;border-radius: 999px;background: #eff6ff;color: #1d4ed8;font-size: 0.78rem;font-weight: 750}.public-album-dialog-close{flex: 0 0 auto;min-width: 42px;width: 42px;height: 42px;padding: 0;border-radius: 50%;color: #334155;background: #f1f5f9}.public-album-dialog-description{flex: 0 0 auto;margin: 0;padding: 1rem 1.75rem;border-bottom: 1px solid #e2e8f0;background: #ffffff;color: #64748b;line-height: 1.7}.public-album-dialog-scroll{width: 100%;min-height: 0;overflow-y: auto;padding: 1.5rem;box-sizing: border-box}.public-album-image-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(220px,1fr));gap: 1.15rem;width: 100%}.public-album-dialog-image-card{overflow: hidden;border: 1px solid #e2e8f0;border-radius: 16px;background: #ffffff;box-shadow: 0 8px 20px rgba(15,23,42,0.06);transition: transform 180ms ease,box-shadow 180ms ease}.public-album-dialog-image-card:hover{box-shadow: 0 16px 32px rgba(15,23,42,0.12);transform: translateY(-4px)}.public-album-dialog-thumbnail{display: block;width: 100%;height: 210px;object-fit: cover;cursor: zoom-in;transition: transform 250ms ease}.public-album-dialog-image-card:hover .public-album-dialog-thumbnail{transform: scale(1.035)}.public-album-dialog-image-caption{margin: 0;padding: 0.8rem 1rem;color: #64748b;font-size: 0.9rem;line-height: 1.55}.public-album-empty-state{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 1rem;min-height: 320px;color: #64748b;text-align: center}.public-album-empty-icon{width: 58px;height: 58px;color: #94a3b8}vaadin-dialog-overlay.public-lightbox-dialog::part(overlay){max-width: none;max-height: none;border-radius: 0;background: rgba(2,6,23,0.97)}vaadin-dialog-overlay.public-lightbox-dialog::part(content){width: 100%;height: 100%;padding: 0}.public-lightbox{position: relative;display: grid;grid-template-columns: auto minmax(0,1fr) auto;grid-template-rows: minmax(0,1fr) auto;align-items: center;width: 100%;height: 100%;overflow: hidden;background: rgba(2,6,23,0.97)}.public-lightbox-image-container{display: flex;grid-column: 2;grid-row: 1;align-items: center;justify-content: center;min-width: 0;min-height: 0;padding: 4.5rem 1rem 1rem;box-sizing: border-box}.public-lightbox-image{display: block;max-width: 100%;max-height: 100%;object-fit: contain;user-select: none}.public-lightbox-close{position: absolute;top: 1.2rem;right: 1.2rem;z-index: 5;min-width: 46px;width: 46px;height: 46px;padding: 0;border-radius: 50%;color: #ffffff;background: rgba(255,255,255,0.13);backdrop-filter: blur(10px)}.public-lightbox-previous,.public-lightbox-next{z-index: 4;min-width: 50px;width: 50px;height: 50px;margin: 0 1rem;padding: 0;border-radius: 50%;color: #ffffff;background: rgba(255,255,255,0.13);backdrop-filter: blur(10px)}.public-lightbox-previous{grid-column: 1;grid-row: 1}.public-lightbox-next{grid-column: 3;grid-row: 1}.public-lightbox-footer{display: flex;grid-column: 1 / -1;grid-row: 2;flex-direction: column;align-items: center;gap: 0.35rem;padding: 1rem 1.5rem 1.4rem;color: #ffffff;text-align: center;box-sizing: border-box}.public-lightbox-position{color: rgba(255,255,255,0.7);font-size: 0.82rem;font-weight: 700}.public-lightbox-caption{max-width: 800px;margin: 0;color: rgba(255,255,255,0.92);line-height: 1.55}@media (max-width: 600px){vaadin-dialog-overlay.public-album-dialog::part(overlay){width: 100vw;height: 100vh;max-width: none;max-height: none;border-radius: 0}.public-album-dialog-header{padding: 1.1rem}.public-album-dialog-description{padding: 0.9rem 1.1rem}.public-album-dialog-scroll{padding: 0.85rem}.public-album-image-grid{grid-template-columns: repeat(2,minmax(0,1fr));gap: 0.7rem}.public-album-dialog-thumbnail{height: 145px}.public-lightbox{grid-template-columns: 1fr 1fr;grid-template-rows: minmax(0,1fr) auto auto}.public-lightbox-image-container{grid-column: 1 / -1;grid-row: 1;padding: 4.5rem 0.5rem 0.5rem}.public-lightbox-previous,.public-lightbox-next{grid-row: 2;width: auto;min-width: 110px;margin: 0.5rem;border-radius: 12px}.public-lightbox-previous{grid-column: 1;justify-self: end}.public-lightbox-next{grid-column: 2;justify-self: start}.public-lightbox-footer{grid-column: 1 / -1;grid-row: 3}}