*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#333;background-color:#f8f6f0}.app-layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-top:100px;min-height:calc(100vh - 100px)}@media screen and (max-width: 768px){.main-content{padding-top:80px}}@media screen and (max-width: 480px){.main-content{padding-top:75px}}button,.hamburger,.nav-link{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}button:focus,.nav-link:focus,.lang-toggle:focus{outline:2px solid #f0c987;outline-offset:2px}.admin-layout{min-height:100vh;background-color:#f8f9fa}.admin-main-content{min-height:100vh;padding:0}@media print{.main-content{padding-top:0}}.navbar{position:fixed;top:0;left:0;right:0;width:100%;background-color:#312e2b;padding:15px 20px;z-index:1000;color:#fff;box-shadow:0 2px 10px #0000001a;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar.scrolled{background-color:#312e2bf2;box-shadow:0 4px 20px #00000026;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.navbar-container{display:flex;flex-direction:column;width:100%;max-width:1200px;margin:0 auto}.navbar-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:10px}.navbar-header-right{display:flex;align-items:center;gap:15px}.logo{display:flex;align-items:center;gap:12px;font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:700;color:#f0c987;text-decoration:none;transition:color .3s ease}.logo:hover{color:#e0b36d}.parish-name{font-family:Georgia,serif;letter-spacing:.5px;text-transform:capitalize}.logo img{height:50px;width:50px;object-fit:cover;border-radius:50%;border:2px solid #f0c987;box-shadow:0 0 8px #f0c9874d;transition:transform .3s ease}.logo:hover img{transform:scale(1.05)}.nav-links{display:flex;justify-content:center;align-items:center;gap:20px;list-style:none;margin:0;padding:0;transition:all .3s ease;width:100%}.nav-link{text-decoration:none;color:#fff;font-weight:500;font-size:.95rem;padding:10px 16px;border-radius:6px;transition:all .3s ease;white-space:nowrap;display:inline-block;text-transform:capitalize;letter-spacing:.3px;position:relative}.nav-link:hover{background-color:#ffffff1a;transform:translateY(-1px)}.nav-link.active{background-color:#f0c987;color:#312e2b;font-weight:600}.nav-link.active:hover{background-color:#e0b36d}.admin-login-btn{display:flex;align-items:center;justify-content:center;color:#f0c987;padding:8px;border-radius:6px;transition:all .3s ease;text-decoration:none;background-color:transparent;cursor:pointer}.admin-login-btn:hover{background-color:#f0c98726;transform:translateY(-1px);color:#e0b36d}.admin-login-btn svg{display:block}.lang-item{display:flex;align-items:center;margin-left:10px}.lang-toggle{background:none;color:#fff;font-weight:500;border-radius:6px;padding:10px 16px;border:none;font-size:.95rem;cursor:pointer;transition:all .3s ease;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.lang-toggle:hover{background-color:#ffffff1a;transform:translateY(-1px)}.lang-toggle.loading{opacity:.6;cursor:not-allowed}.lang-toggle:disabled{opacity:.6;cursor:not-allowed}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:none;border:none;cursor:pointer;padding:0;z-index:1001;transition:transform .3s ease}.hamburger:hover{transform:scale(1.1)}.hamburger span{display:block;height:3px;width:100%;background-color:#fff;border-radius:2px;transition:all .3s ease}.hamburger.active span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}.mobile-overlay{position:fixed;inset:0;background-color:#00000080;z-index:999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media screen and (max-width: 768px){.navbar{padding:12px 15px}.navbar-header{margin-bottom:0}.navbar-header-right{gap:12px}.admin-login-btn{padding:6px}.admin-login-btn svg{width:18px;height:18px}.nav-links{flex-direction:column;position:fixed;top:80px;right:15px;background-color:#312e2bfa;padding:20px;border-radius:12px;box-shadow:0 8px 25px #0000004d;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);min-width:200px;transform:translate(100%);opacity:0;visibility:hidden;transition:all .3s ease;gap:8px;align-items:stretch;z-index:1000;justify-content:flex-start}.nav-links.open{transform:translate(0);opacity:1;visibility:visible}.nav-link{width:100%;text-align:center;padding:12px 20px;font-size:1rem}.hamburger{display:flex}.logo{font-size:1.2rem}.parish-name{display:none}.logo img{height:45px;width:45px}.lang-item{margin-left:0;width:100%}.lang-toggle{width:100%;text-align:center;justify-self:center}}@media screen and (max-width: 480px){.navbar{padding:10px 12px}.navbar-header-right{gap:8px}.admin-login-btn{padding:5px}.admin-login-btn svg{width:16px;height:16px}.logo{font-size:1rem}.logo img{height:30px;width:30px}.nav-links{right:10px;padding:15px;min-width:180px}.nav-link{padding:10px 16px;font-size:.95rem}}@media print{.navbar{display:none}}.site-footer{background-color:#333;color:#fff;padding:40px 20px;font-size:.9rem}.footer-columns{display:flex;justify-content:space-between;flex-wrap:wrap}.footer-columns div{flex:1;min-width:200px;margin:10px}.footer-columns h4{margin-bottom:10px;font-size:1.1rem}.social-icons img{width:24px;margin-right:10px}.footer-bottom{margin-top:20px;text-align:center;border-top:1px solid #555;padding-top:10px}.social-icons img{width:24px;margin-right:12px;transition:transform .2s ease}.social-icons img:hover{transform:scale(1.1)}.connect-form{margin-top:10px}.connect-form input{padding:10px;width:100%;max-width:200px;margin-bottom:8px;border:none;border-radius:6px}.connect-form button{padding:10px 16px;border:none;border-radius:6px;background-color:#f0c987;color:#333;cursor:pointer;font-weight:700}.connect-form button:hover:not(:disabled){background-color:#e0b36d}.connect-form button:disabled{background-color:#999;cursor:not-allowed;opacity:.7}.subscription-message{margin-top:10px;padding:8px 12px;border-radius:4px;font-size:.8rem;font-weight:500;text-align:center}.subscription-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.subscription-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:2rem}.loading-spinner{position:relative;width:60px;height:60px}.spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top:3px solid #8b4513;border-radius:50%;animation:spin 1.5s linear infinite}.spinner-ring:nth-child(2){width:80%;height:80%;top:10%;left:10%;border-top-color:#daa520;animation-duration:1.2s;animation-direction:reverse}.spinner-ring:nth-child(3){width:60%;height:60%;top:20%;left:20%;border-top-color:#654321;animation-duration:.9s}.loading-text{margin-top:1rem;color:#654321;font-family:Georgia,serif;font-size:1rem;letter-spacing:.5px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner-ring{animation:none}.loading-text:after{content:"...";animation:pulse 1.5s ease-in-out infinite}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-fallback{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background:linear-gradient(135deg,#f8f6f0,#f0ede4)}.error-container{text-align:center;max-width:500px;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px #8b45131a;border:1px solid rgba(139,69,19,.1)}.error-icon{color:#8b4513;margin-bottom:1rem}.error-icon svg{width:64px;height:64px;stroke-width:1.5}.error-title{color:#654321;font-family:Georgia,serif;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.error-description{color:#8b4513;font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.error-details{margin:1rem 0;text-align:left}.error-details summary{cursor:pointer;color:#8b4513;font-size:.9rem;margin-bottom:.5rem}.error-details code{display:block;background:#f5f5f5;padding:.75rem;border-radius:6px;font-size:.85rem;color:#d63384;word-break:break-word;max-height:100px;overflow-y:auto}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-button{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-width:120px}.error-button.primary{background:#8b4513;color:#fff}.error-button.primary:hover{background:#654321;transform:translateY(-1px)}.error-button.secondary{background:transparent;color:#8b4513;border:2px solid #8b4513}.error-button.secondary:hover{background:#8b4513;color:#fff;transform:translateY(-1px)}@media (max-width: 768px){.error-fallback{padding:1rem;min-height:300px}.error-container{padding:1.5rem}.error-actions{flex-direction:column;align-items:center}.error-button{width:100%;max-width:200px}}
