/* One popup shell for current and future Rainham pages. */
body.rainham-popup-open{overflow:hidden!important}
:is(body.rsg-page,body.rsu-page,body.rvu-page,body.rh-page,body.rcu-page,body.rfa-page,body.rgi-page,body.rlm-page,body.rgv-page,body.rjn-page,body.rwo-page,body.rev-page) dialog.rainham-popup{width:min(680px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:85svh;margin:auto;padding:0!important;border:1px solid #fff!important;border-radius:28px!important;background:#f8fbff!important;color:#263e50;box-shadow:0 30px 100px #142b4540;overflow:auto;font-family:var(--rainham-font)}
:is(body.rsg-page,body.rsu-page,body.rvu-page,body.rh-page,body.rcu-page,body.rfa-page,body.rgi-page,body.rlm-page,body.rgv-page,body.rjn-page,body.rwo-page,body.rev-page) dialog.rainham-popup::backdrop{background:#20364c80;backdrop-filter:blur(14px)}
.rainham-popup .rainham-popup-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;padding:18px 26px!important;background:#e4eef7!important;border-bottom:1px solid #d4e0eb}
.rainham-popup .rainham-popup-header :is(.eyebrow,.rsg-eyebrow){margin:0!important;color:#647d92!important;font-size:10px!important;font-weight:650;line-height:1.6;letter-spacing:.15em;text-transform:uppercase}
.rainham-popup .rainham-popup-header :is(.close,.rsg-close){position:static!important;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid #fff;border-radius:50%;background:#f8fbff;color:#526d83;font-size:24px;line-height:1;box-shadow:0 3px 10px #34495e0a;cursor:pointer}
.rainham-popup .rainham-popup-body{padding:28px!important}
.rainham-popup .rainham-popup-body h2{font-size:34px!important;font-weight:550!important;line-height:1.1!important;letter-spacing:-.045em;margin:0 0 24px;text-transform:uppercase}
.rainham-popup .rainham-popup-body h3{font-size:18px;font-weight:550;line-height:1.3;letter-spacing:-.025em;text-transform:uppercase}
.rainham-popup .rainham-popup-body p{font-size:15px;line-height:1.75}
.rainham-popup .dialog-icon{margin:0 0 22px}
body.rsu-page #watch.rainham-popup{width:min(960px,calc(100% - 32px))}
.rainham-popup button:focus-visible,.rainham-popup a:focus-visible{outline:3px solid #be703e;outline-offset:4px}
@media(max-width:600px){.rainham-popup .rainham-popup-header{padding:16px 20px!important;min-height:64px}.rainham-popup .rainham-popup-body{padding:22px!important}.rainham-popup .rainham-popup-body h2{font-size:30px!important}}

/* Keep each popup's name alongside the shared church identity. */
.rainham-popup .rainham-popup-titles{display:flex;flex-direction:column;gap:8px;min-width:0}
.rainham-popup .rainham-popup-header h2{margin:0!important;color:inherit;font-size:26px!important;font-weight:600!important;line-height:1.15!important;letter-spacing:-.035em;text-transform:uppercase;overflow-wrap:anywhere}
.rainham-popup .rainham-popup-header :is(.close,.rsg-close){align-self:flex-start}
@media(max-width:600px){.rainham-popup .rainham-popup-header h2{font-size:22px!important}.rainham-popup .rainham-popup-titles{gap:6px}}

/* Keep diocesan safeguarding actions beneath their explanatory text. */
body.rsg-page :is(.rsg-dialog-body,.rainham-popup-body) a[href*="rochester"]{display:table!important;width:fit-content;max-width:100%;clear:both;margin:18px 0 0!important;white-space:normal}
body.rsg-page .rainham-popup-body .rainham-action-row,body.rsg-page .rsg-dialog-body .rainham-action-row{display:block!important;flex:0 0 100%;width:100%;clear:both;margin:18px 0 0!important}
body.rsg-page .rainham-action-row+.rainham-action-row{margin-top:14px!important}
body.rsg-page .rainham-action-row>a{display:inline-flex!important;margin:0!important;max-width:100%;white-space:normal}
body.rsu-page #service-text .dialog-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#dfd3ef;color:#8870aa;margin:0 0 22px;border:1px solid white}
body.rsu-page #service-text .dialog-icon svg{width:25px;height:25px}
/* One gap above actions, without extra margins on the link itself. */
body.rsg-page #rsg-children .rainham-action-row{margin-top:12px!important}
body.rsg-page #rsg-children .rainham-action-row>a{margin:0!important}
body.rsg-page #rsg-children p:has(+.rainham-action-row){margin-bottom:0!important}
body.rsg-page #rsg-children .rainham-action-row+.rainham-action-row{margin-top:12px!important}
body.rsg-page a[href^="tel:"]{font-weight:750!important}
body.rsg-page #rsg-support a.rainham-support-button{display:inline-flex!important;align-items:center;justify-content:center;gap:12px;padding:12px 18px!important;border:1px solid #ffffff80;border-radius:14px;background:linear-gradient(145deg,#59788f,#34495e);color:white!important;text-decoration:none!important;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.4;box-shadow:0 6px 16px #34495e20,inset 0 1px 0 #ffffff50}
body.rsg-page #rsg-children .rainham-childline-actions{display:flex!important;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0 20px;clear:both}
body.rsg-page #rsg-children .rainham-childline-actions>a{display:inline-flex!important;align-items:center;justify-content:center;margin:0!important;padding:12px 18px!important;border:1px solid #ffffff80;border-radius:14px;background:linear-gradient(145deg,#59788f,#34495e);color:white!important;text-decoration:none!important;text-transform:uppercase;font-size:12px;font-weight:750!important;line-height:1.4;box-shadow:0 6px 16px #34495e20,inset 0 1px 0 #ffffff50}

/* Optional videos share one responsive frame across all event and gathering popups. */
.rainham-popup .rainham-media-video{width:100%;aspect-ratio:16/9;border:2px solid #be703e;border-radius:18px;overflow:hidden;margin:22px 0;background:#0c1821}
.rainham-popup .rainham-media-video :is(iframe,video){display:block;width:100%;height:100%;border:0;object-fit:contain}

/* Decorative popup icons only: preserve calendar graphics, dates and action icons. */
body .rainham-popup .rainham-popup-body > :is(.dialog-icon,.rgi-popup-icon,.rfa-popup-icon,.rsu-popup-icon,.rsg-popup-icon),body .rainham-popup .rev-dialog-intro > .rev-dialog-icon{display:none!important}

/* Popup navigation uses the close control; suppress legacy Back actions. */
body .rainham-popup :is(.rev-popup-back,.rgi-back,.popup-back,.dialog-back,.rainham-popup-back,[data-popup-back],[data-rainham-back]){display:none!important}

/* A single policies presentation, shared by Safeguarding and Governance. */
body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-documents{display:block!important;padding:0!important;margin:0!important;list-style:none!important}
body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-documents li{border:0!important;border-top:1px solid #d3dfe8!important;padding:14px 0!important;margin:0!important;list-style:none!important}
body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-documents a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;text-decoration:none!important;font-size:13px!important;font-weight:550!important;letter-spacing:.025em!important;text-transform:uppercase!important;color:inherit!important;box-shadow:none!important}
body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-documents a span{white-space:nowrap!important;color:#7b91a3!important;font-size:10px!important;font-weight:inherit!important}
body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-emanual{margin:24px 0 28px!important;padding:26px!important;background:#e0ebf4!important;border:1px solid #9fb8cd!important;border-radius:20px!important;box-shadow:inset 0 1px 0 #ffffffb3,0 7px 18px #365e840d!important}
body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-emanual h3{margin-top:0!important;color:#294d69!important}
body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-emanual .rainham-action-row{display:flex!important;justify-content:center!important;margin-top:22px!important;width:100%!important}
body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-emanual .rsg-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:24px!important;padding:15px 20px!important;background:linear-gradient(150deg,#59788f,#34495e)!important;border:1px solid #ffffff50!important;border-radius:15px!important;color:#fff!important;text-decoration:none!important;box-shadow:0 8px 20px #34495e22,inset 0 1px 0 #ffffff40!important;font-weight:550!important;font-size:13px!important;text-transform:uppercase!important;margin:0!important;max-width:100%!important;white-space:normal!important;text-align:center!important}
@media(max-width:600px){body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-emanual{padding:21px 18px!important}body dialog.rainham-popup:is(#rsg-policies,#rgv-policies) .rsg-emanual .rsg-button{width:100%!important}}
