/* Opt-in French Creek / Cambridge visitor polish. Existing art and transitions stay intact. */
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-skip{position:fixed;z-index:10001;top:.6rem;left:.6rem;transform:translateY(-200%);padding:.7rem 1rem;border-radius:.5rem;background:#fff;color:#17211d;font-weight:800;text-decoration:none;box-shadow:0 3px 12px #0003}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-skip:focus{transform:none;outline:3px solid #275a78}
:is(.church-site--frenchccc,.church-site--csfcog) :is(button,input,a):focus-visible{outline:3px solid #17211d;outline-offset:4px}
:is(.church-site--frenchccc,.church-site--csfcog) #main-content:focus{outline:none}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-information{gap:1rem;padding:clamp(1rem,4vw,1.6rem)}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-information h2{font-size:clamp(1.8rem,5vw,2.25rem)}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-information :is(p,address){line-height:1.65;overflow-wrap:anywhere}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-information .directions{white-space:normal;text-align:center;min-height:48px;width:100%}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-contact-actions{display:grid;gap:.7rem}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-return{display:grid;gap:.7rem;border-top:1px solid #d3ded5;padding-top:1rem;margin-top:.25rem}
.church-site--frenchccc .church-visitor-information .directions,.church-site--frenchccc .church-visitor-share .directions,.church-site--frenchccc .church-visitor-share-dialog .directions{border:2px solid #3472ab;background:linear-gradient(135deg,#244f24,#3b7f2a);color:#fffdf2;box-shadow:0 3px 0 #f5cf46;font-weight:800}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share{display:grid;justify-items:stretch;padding-block:.25rem}
:is(.church-site--frenchccc,.church-site--csfcog) button.directions{font:inherit;font-weight:800;cursor:pointer;white-space:normal;min-height:48px}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-tagline{color:#275a78;font-weight:750;letter-spacing:.025em}
:is(.church-site--frenchccc,.church-site--csfcog) .church-calendar-event{border-top:1px solid #d3ded5;padding:1rem 0 .25rem;gap:.4rem}
:is(.church-site--frenchccc,.church-site--csfcog) .church-calendar-event h3{margin:0;font-size:1.2rem;color:var(--church-primary)}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-dialog{width:min(31rem,calc(100% - 1.5rem));max-height:calc(100dvh - 1.5rem);border:2px solid var(--church-primary);border-radius:1rem;padding:0;background:#fffdf5;color:#17211d;box-shadow:0 20px 80px #0005;overscroll-behavior:contain}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-dialog::backdrop{background:#142b23bb}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-panel{position:relative;display:grid;justify-items:center;gap:.8rem;padding:3.5rem 1.2rem 1rem;text-align:center}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-panel h2{font-size:clamp(1.5rem,5vw,2rem)}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-panel p{margin:0}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-close{position:absolute;right:.6rem;top:.6rem;width:44px;height:44px;border:2px solid var(--church-primary);border-radius:50%;font-size:1.7rem;line-height:1;background:#fff;color:#17211d;cursor:pointer}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-qr{width:min(100%,16rem);height:auto;aspect-ratio:1;background:#fff}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-panel input{width:100%;min-height:44px;border:1px solid #63716a;border-radius:.4rem;padding:.6rem;font:inherit;color:#17211d;background:#fff}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-actions [hidden]{display:none}
:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-status{min-height:1.5em;font-size:.9rem}
@media(max-width:40rem){:is(.church-site--frenchccc,.church-site--csfcog) .visit-card:not(.church-information){grid-template-columns:minmax(0,1fr);gap:.4rem}:is(.church-site--frenchccc,.church-site--csfcog) .visit-card:not(.church-information) .bulletin{justify-self:start}:is(.church-site--frenchccc,.church-site--csfcog) .visit-details{margin-top:0}:is(.church-site--frenchccc,.church-site--csfcog) .directions--map{justify-self:stretch;white-space:normal;min-height:48px}}
@media(min-width:34rem){:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-return{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){:is(.church-site--frenchccc,.church-site--csfcog) .church-visitor-share-dialog{scroll-behavior:auto}}
.church-site--frenchccc .church-visitor-share-dialog,.church-site--csfcog .church-visitor-share-dialog{margin:auto}
.church-site--frenchccc .visit-details .phone{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;margin-top:.25rem;border:2px solid #3472ab;border-radius:.65rem;background:linear-gradient(135deg,#244f24,#3b7f2a);color:#fffdf2;text-decoration:none;box-shadow:0 3px 0 #f5cf46}
:is(.church-site--frenchccc,.church-site--csfcog) .site-signature--social{width:44px;min-height:44px}
.church-site--frenchccc .church-visitor-owner-link{text-align:center;margin:0}
.church-site--frenchccc .church-visitor-owner-link .directions{background:transparent;color:#275a78;border:1px solid #275a78;min-height:44px;box-shadow:none}
.church-site--frenchccc .church-visitor-preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}
.church-site--frenchccc .church-visitor-announcements{gap:.75rem}
.church-site--frenchccc .church-visitor-announcements h3{margin:0;font-size:1.1rem;color:#275a78}
