/* Shared action layout for the homepage, booking and policy pages. */
:root{--action-radius:12px;--action-height:52px;--action-gap:12px}
:is(.site-home,.site-booking,.site-policy) :is(a,button,summary){touch-action:manipulation}
:is(.site-home,.site-booking,.site-policy) :is(a,button):focus-visible{outline:3px solid #c90024;outline-offset:4px}
.site-home :where(.btn,.portal-link,.text-link,.social-link,.facebook-play,.notice-cta),
.site-booking :where(.b-submit,.b-header .b-wrap>a:last-child,.b-location>a,.b-success>a),
.site-policy :where(header>a:last-child,nav>a,.back){
 box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;
 min-width:0;min-height:var(--action-height);max-width:100%;padding:14px 20px;
 border-radius:var(--action-radius);font-size:14px;font-weight:700;line-height:1.45;
 text-align:center;text-decoration:none;overflow-wrap:break-word;
}
.site-home .btn svg,.site-home .btn>span[aria-hidden],.site-booking .b-submit>span[aria-hidden]{flex:0 0 auto}
.site-home .btn>span[aria-hidden]{font-size:21px;line-height:1}
.site-home .btn{border-width:1px}
.site-home .btn.light{border-color:#d9dde2;background:#fff;color:#24272c}
.site-home .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--action-gap);width:100%;max-width:540px}
.site-home .hero-actions>.btn{width:100%;margin:0;min-height:56px;padding:14px 16px}
.site-home header nav{gap:20px}
.site-home header .navlinks{gap:8px}
.site-home header .navlinks>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border-radius:10px;font-size:13px;white-space:nowrap}
.site-home header .navlinks>.btn{min-height:48px;padding:12px 18px;margin:0 0 0 6px;color:#fff}
.site-home header .portal-link{border:1px solid #ead6da;background:#fff7f8;color:#a90022}
.site-home .menu{width:48px;height:48px;border:1px solid #e3e5e8;border-radius:12px;flex-shrink:0}
.site-home .service{gap:0}
.site-home .service .text-link{display:flex;justify-content:space-between;gap:12px;min-height:48px;padding:11px 13px;border:1px solid #e3e5e8;background:#fafbfc;color:#8c001b;font-size:12px}
.site-home .service .text-link span{flex:0 0 24px;width:24px;height:24px;background:#fff;font-size:18px}
.site-home .chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.site-home .chip{min-height:50px;width:100%;min-width:0;padding:12px 14px;border-radius:12px;text-align:left;font-size:13px;line-height:1.5}
.site-home .diagnostic-result .btn{width:100%;margin-top:16px}
.site-home .social-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch}
.site-home .social-link{width:100%;min-height:48px;padding:12px 10px;font-size:12px;border-radius:12px;line-height:1.4}
.site-home .social-link img{flex:0 0 20px}
.site-home .social-panel-head{align-items:center;gap:10px}
.site-home .social-panel-head>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid #e2e5e9;border-radius:10px;background:#fff;font-size:11px;line-height:1.4}
.site-home .feed-empty a,.site-home :is(.facebook-post,.threads-post)>a{display:flex;align-items:center;gap:8px;min-height:44px;line-height:1.5}
.site-home .facebook-feed-fallback .btn{display:flex;width:100%;margin:12px 0 0}
.site-home .reviews-action{gap:12px}
.site-home .reviews-action .btn{width:100%;align-self:stretch;min-height:52px}
.site-home .contact .tel{display:inline-flex;align-items:center;min-height:52px}
.site-home .address>a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:14px;padding:11px 16px;border:1px solid #d4d9e1;border-radius:12px;background:#fff;font-size:13px;text-decoration:none}
.site-home .booking .form .btn{margin-top:20px;min-height:56px}
.site-home .footer-bottom>div:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}
.site-home .footer-top>a:not(.brand){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid #ffffff45;border-radius:12px;font-size:13px;line-height:1.4;text-align:center}
.site-home .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0}
.site-home .mobile-cta{padding:10px 5% max(10px,env(safe-area-inset-bottom));gap:12px}
.site-home .mobile-cta .btn{min-height:54px;justify-content:center;gap:12px}
.site-home .booking-notice .notice-cta{display:flex;min-height:44px;width:100%;padding:10px 12px;margin-top:12px;border:1px solid #ffffff45;border-radius:9px;color:#fff;text-decoration:none;background:#ffffff12;font-size:12px}
.site-home .booking-notice button{width:44px;height:44px;right:5px;top:5px}
.site-booking .b-header .b-wrap{gap:16px}
.site-booking .b-header .b-wrap>a:last-child{min-height:44px;padding:10px 14px;border:1px solid #dfe2e5;font-size:12px;background:white;line-height:1.4}
.site-booking .b-submit{width:100%;justify-content:space-between;gap:14px;min-height:56px;margin-top:22px;padding:15px 20px}
.site-booking .b-submit>span:first-child{flex:1;text-align:center}
.site-booking .b-location>a,.site-booking .b-success>a{display:flex;width:100%;margin-top:16px;min-height:48px;padding:12px 16px;border:1px solid #d8dce1;background:#fff;color:#202120}
.site-booking .b-success>a{background:#d90025;border-color:#d90025;color:#fff}
.site-booking .b-location p>a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px;padding:6px 0}
.site-booking .b-footer a{display:inline-flex;align-items:center;min-height:44px;padding:6px}
:is(.site-home,.site-booking) .friday-audio-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
:is(.site-home,.site-booking) .friday-audio-actions button{min-height:48px;min-width:0;border-radius:10px;padding:12px 16px;line-height:1.4}
:is(.site-home,.site-booking) .khutbah-link{min-height:46px;padding-block:10px}
.site-policy header>a:last-child,.site-policy nav>a,.site-policy .back{border:1px solid #dce0e6;background:#fff;min-height:46px;padding:11px 16px;font-size:13px}
.site-policy nav{gap:10px}
.site-policy .back{background:#d90025;color:#fff;border-color:#d90025}
@media(min-width:1001px){.site-home header .menu{display:none}}
@media(max-width:1100px) and (min-width:761px){.site-home .hero-actions{grid-template-columns:1fr}}
@media(max-width:1000px){
 .site-home header nav{height:80px}
 .site-home header .menu{display:grid;place-items:center}
 .site-home header .navlinks{display:none;position:absolute;top:80px;left:0;right:0;padding:18px 5%;background:#fff;border-bottom:1px solid #e3e5e8;box-shadow:0 12px 24px #1118270d}
 .site-home header .navlinks.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .site-home header .navlinks>a{width:100%;justify-content:flex-start;white-space:normal;padding:12px 14px;min-height:46px;background-image:none}
 .site-home header .navlinks>.portal-link,.site-home header .navlinks>.btn{grid-column:1/-1}
 .site-home header .navlinks>.btn{justify-content:center;margin:4px 0 0;min-height:50px}
 .site-home .social-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-home .social-links>.social-link:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:760px){
 .site-home .footer-bottom{width:100%}
 .site-home .footer-bottom>div:last-child{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .site-home .footer-bottom a{justify-content:center;padding:10px;border:1px solid #ffffff25;border-radius:10px;color:#e7e9ed;text-align:center}
 .site-home .address>a{width:100%}
}
@media(max-width:560px){
 .site-home .hero-actions{grid-template-columns:1fr;gap:10px;max-width:none}
 .site-home .hero-actions>.btn{min-height:54px}
 .site-home header .navlinks.open{grid-template-columns:1fr}
 .site-home .social-panel-head>a{font-size:11px;padding:10px}
 .site-booking .b-header .b-wrap{gap:12px;padding-top:16px;padding-bottom:16px}
 .site-booking .b-header .b-wrap>a:last-child{max-width:170px;padding:10px 12px}
 .site-policy header{align-items:center}
 .site-policy header>a:last-child{padding:10px 12px;max-width:145px}
}
@media(max-width:420px){
 .site-home .chips{grid-template-columns:1fr}
 .site-booking .b-brand{width:132px}
 .site-booking .b-header .b-wrap>a:last-child{font-size:11px;flex:0 1 auto}
 .site-home .footer-bottom>div:last-child{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){:is(.site-home,.site-booking,.site-policy) :is(a,button){transition:none!important}}


/* Homepage identity stays beside the logo; AJ begins the hero copy. */
.site-home .hero-copy .aj-dock{width:100%;margin:0;padding-bottom:0}
@media(max-width:1000px){
 .site-home>header nav{gap:12px}
 .site-home>header .brand{flex:1;min-width:0;gap:10px}
 .site-home>header .brand small{display:block;flex:1;min-width:0;padding:0;border:0;text-align:center;font-size:9px;letter-spacing:.8px;line-height:1.65}
}
@media(max-width:360px){
 .site-home>header .brand small{font-size:8px;letter-spacing:.55px}
}

/* SCS public contact actions: readable glass, native links, no blocking animation. */
.scs-contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
:is(.site-home,.site-booking) .scs-contact-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:48px;padding:12px 18px;border:1px solid #d6dce2;border-radius:999px;background:#f4f6f8;color:#20272e;box-shadow:inset 0 1px 0 #fff,0 3px 10px #17212e09;text-decoration:none;font:700 13px/1.4 Arial,Helvetica,sans-serif;transition:transform 140ms ease,background-color 180ms ease,box-shadow 180ms ease;touch-action:manipulation}
:is(.site-home,.site-booking) .scs-contact-button :is(svg,img){width:20px;height:20px;flex:0 0 20px}
:is(.site-home,.site-booking) .scs-contact-button span{font-size:inherit;line-height:inherit}
:is(.site-home,.site-booking) .scs-contact-whatsapp{background:#eaf5ee;border-color:#bddcc8;color:#12582f}
:is(.site-home,.site-booking) .scs-contact-call svg{color:#ba1430}
:is(.site-home,.site-booking) .scs-contact-button:active{transform:scale(.97)}
@media(hover:hover){:is(.site-home,.site-booking) .scs-contact-button:hover{background:#fff;box-shadow:inset 0 1px 0 #fff,0 4px 16px #17212e16}}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 :is(.site-home,.site-booking) .scs-contact-button{background:linear-gradient(135deg,#ffffffd9,#edf0f3ad);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
 :is(.site-home,.site-booking) .scs-contact-whatsapp{background:linear-gradient(135deg,#f4fff9ed,#dbeee3b8)}
}
.site-booking .b-location .scs-contact-actions{margin:20px 0 12px}
.site-home .scs-contact-bar{display:none}
@media(max-width:760px){
 .site-home .scs-contact-bar{display:flex;gap:7px;padding:10px 4% max(10px,env(safe-area-inset-bottom));background:#f8fafce8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid #d9dfe6}
 .site-home .scs-contact-bar .scs-contact-button{flex:1;min-height:50px;padding:10px 7px;font-size:12px;gap:6px;white-space:nowrap}
 .site-home .scs-contact-bar .scs-contact-booking{background:#ce0022;color:#fff;border-color:#ce0022;backdrop-filter:none;box-shadow:inset 0 1px 0 #ffffff30}
 .site-home:has(dialog[open]) .scs-contact-bar{visibility:hidden;pointer-events:none}
}
@media(max-width:360px){.site-home .scs-contact-bar .scs-contact-button{font-size:11px;gap:4px}.site-home .scs-contact-bar .scs-contact-button svg,.site-home .scs-contact-bar .scs-contact-button img{width:18px;height:18px;flex-basis:18px}}
@media(prefers-reduced-motion:reduce){:is(.site-home,.site-booking) .scs-contact-button{transition:none;transform:none}}
@media print{.scs-contact-bar{display:none!important}}
