/* v5.14: shared, unobtrusive additions. Both presentation modes remain selectable. */
.j514-faq,.j514-related,.j514-privacy{width:min(860px,calc(100% - 40px));margin:32px auto 56px;}
.j514-faq{font-size:16px;line-height:1.85;}
.j514-faq-search{padding:22px 24px;background:var(--soft,#f3f1eb);border:1px solid var(--line,#dadbd4);}
.j514-faq-search label{display:block;font-weight:600;margin:0 0 10px;}
.j514-faq-search input{display:block;width:100%;max-width:100%;min-height:48px;padding:11px 12px;font:inherit;border:1px solid #7c887c;background:#fff;border-radius:3px;box-sizing:border-box;}
.j514-faq-search p{font-size:13px;margin:8px 0 0;color:#505a50;}
.j514-faq-topics{display:flex;flex-wrap:wrap;gap:7px 18px;padding:20px 0 6px;}
.j514-faq-topics a{display:inline-flex;align-items:center;min-height:44px;color:var(--green,#263e31);text-underline-offset:4px;font-size:15px;}
.j514-faq-group{margin-top:34px;scroll-margin-top:130px;}
.j514-faq-group h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;font-weight:500;color:var(--green,#263e31);margin:0 0 16px;}
.j514-faq-item{border:0;border-top:1px solid var(--line,#dadbd4);border-radius:0;background:transparent;margin:0;padding:0;scroll-margin-top:130px;}
.j514-faq-item:last-child{border-bottom:1px solid var(--line,#dadbd4);}
.j514-faq-item summary{list-style:none;display:block;position:relative;padding:18px 35px 18px 0;font-size:16px;font-weight:600;line-height:1.7;cursor:pointer;}
.j514-faq-item summary::-webkit-details-marker{display:none;}
.j514-faq-item summary:after{content:"＋";position:absolute;right:6px;top:18px;font-weight:400;}
.j514-faq-item[open] summary:after{content:"−";}
.j514-faq-answer{padding:0 6px 20px;line-height:1.9;color:#333e34;}
.j514-faq-answer p{margin:0 0 14px;}
.j514-faq-answer p:last-child{margin-bottom:0;}
.j514-faq-answer a{color:var(--green,#263e31);text-underline-offset:4px;}
.j514-faq [hidden]{display:none!important;}
.j514-faq :focus-visible,.j514-related a:focus-visible{outline:2px solid #596e58;outline-offset:4px;}
.j514-related{display:flex;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line,#dadbd4);padding:22px 0;}
.j514-related a{color:var(--green,#263e31);font-size:15px;line-height:1.7;min-height:44px;display:flex;align-items:center;}
.j514-priest-photo{width:min(280px,calc(100% - 40px));margin:40px auto 28px;}
.j514-priest-photo img{width:100%;height:auto;display:block;object-fit:contain;}
.j514-privacy{font-size:15px;line-height:1.9;}
.j514-privacy h2{font-family:"Yu Mincho",serif;font-size:26px;color:var(--green,#263e31);font-weight:500;}
.j514-privacy p{margin:0 0 20px;}
.j514-privacy a{overflow-wrap:anywhere;}
.j514-chat-consent{padding:8px 12px;border-top:1px solid #d7ddce;background:#fff;line-height:1.5;font-size:12px;}
.j514-chat-consent label{display:flex;align-items:flex-start;gap:7px;cursor:pointer;min-height:32px;}
.j514-chat-consent input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:#263e31;}
.j514-chat-consent small{display:block;margin-top:4px;color:#4b574b;font-size:11px;line-height:1.5;}
.j-ai .j-ai-panel,.j13 .j-ai-panel{grid-template-rows:auto auto minmax(60px,1fr) auto auto auto auto;}
.j-ai .j-ai-messages{min-height:60px;}
/* Longer submenus remain scrollable rather than leaving the viewport. */
@media(min-width:1021px){.desktop-nav>ul>li>.sub-menu{max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;}}
@media(max-width:620px){
 .j514-faq,.j514-related,.j514-privacy{width:calc(100% - 32px);margin-top:24px;}
 .j514-faq-search{padding:17px;}
 .j514-faq-topics{gap:5px 14px;}
 .j514-faq-item summary{padding-top:16px;padding-bottom:16px;}
 .j514-chat-consent{font-size:12px;padding:7px 10px;}
 .j514-chat-consent small{font-size:11px;}
 .j514-faq-group h2{font-size:23px;}
}

/* Keep consent and send controls usable when a mobile keyboard reduces the viewport. */
.j-ai.j514-compact .j-ai-panel{grid-template-rows:auto auto minmax(30px,1fr) auto auto auto;}
.j-ai.j514-compact .j-ai-header{padding:8px 12px;}
.j-ai.j514-compact .j-ai-header small{display:none;}
.j-ai.j514-compact .j-ai-warning{max-height:48px;overflow:auto;padding-top:5px;padding-bottom:5px;}
.j-ai.j514-compact .j-ai-messages{min-height:30px;padding:8px 12px;}
.j-ai.j514-compact .j-ai-suggestions{display:none;}
.j-ai.j514-compact .j514-chat-consent{max-height:86px;overflow:auto;}
.j-ai.j514-compact .j-ai-form{padding:7px 10px;}
.j-ai.j514-compact .j-ai-footer{padding-bottom:4px;}
