:root{--pt-purple:#52309b;--pt-purple-2:#6f45cc;--pt-lavender:#9b7be2;--pt-cyan:#27b7cf;--pt-cyan-light:#84e0ea;--pt-coral:#ff746e;--pt-navy:#07172f;--pt-white:#fff;--pt-ink:#171552;--pt-shadow:0 16px 36px rgba(21,14,70,.18);--pt-radius:18px}
.pt-page,.pt-page *{box-sizing:border-box}
.pt-page{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#4c2795 0%,#6543bc 43%,#a891e3 100%);color:var(--pt-white);font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;padding:48px 20px 56px}
/* Isolate the component from the legacy mosque theme's broad element rules. */
.pt-page.pt-page{width:100%!important;max-width:none!important;margin:0!important;float:none!important;clear:both}
.pt-page span,.pt-page small,.pt-page strong,.pt-page time{width:auto!important;max-width:none!important;float:none!important}
.pt-page article,.pt-page section,.pt-page header,.pt-page dl,.pt-page dt,.pt-page dd{float:none!important}
.pt-page .pt-shell,.pt-page .pt-hero,.pt-page .pt-next,.pt-page .pt-prayer-grid,.pt-page .pt-timeline,.pt-page .pt-friday,.pt-page .pt-tomorrow{float:none!important;clear:both}
.pt-page .pt-hero h1,.pt-page .pt-next h2,.pt-page .pt-prayer-card h2,.pt-page .pt-timeline h2,.pt-page .pt-tomorrow h2{width:auto!important;max-width:none!important;padding-left:0!important;padding-right:0!important;border:0!important;background:none!important;float:none!important;text-transform:none}
.pt-page h1,.pt-page h2,.pt-page h3{position:static!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none}
.pt-page h1:before,.pt-page h1:after,.pt-page h2:before,.pt-page h2:after,.pt-page h3:before,.pt-page h3:after{content:none!important;display:none!important;border:0!important}
.pt-page .pt-date-line>span{display:inline!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important}
.pt-page .pt-prayer-grid>.pt-prayer-card{display:block!important;width:auto!important;max-width:none!important;margin:0!important;float:none!important;clear:none!important}
.pt-page .pt-prayer-card dl,.pt-page .pt-prayer-card dt,.pt-page .pt-prayer-card dd,.pt-page .pt-next dl,.pt-page .pt-next dt,.pt-page .pt-next dd{width:auto!important;max-width:none!important;float:none!important}
.pt-page .pt-timeline h2{position:relative!important;left:auto!important;right:auto!important;top:auto!important;text-align:left!important}
.pt-page .pt-timeline-stop span,.pt-page .pt-timeline-stop small{width:auto!important;margin-left:0!important;margin-right:0!important;float:none!important}
.pt-page .pt-tomorrow>header,.pt-page .pt-tomorrow-grid,.pt-page .pt-tomorrow-grid>div,.pt-page .pt-ramadan{width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;float:none!important}
.pt-pattern{position:absolute;inset:0;z-index:-1;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23fff' stroke-width='.7'%3E%3Cpath d='M60 4 76 28l28-4-12 26 22 18-28 8-2 28-24-15-24 15-2-28-28-8 22-18-12-26 28 4Z'/%3E%3Ccircle cx='60' cy='60' r='24'/%3E%3C/g%3E%3C/svg%3E")}
.pt-shell{width:min(1120px,100%);margin:auto}
.pt-home-widget{padding-top:34px}.pt-home-widget .pt-next{margin-top:0}
.pt-hero{text-align:center;margin-bottom:24px}
.pt-hero h1{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6vw,5.3rem);line-height:1;margin:0 0 18px;text-shadow:0 3px 20px rgba(13,6,54,.22)}
.pt-date-line{display:flex;align-items:center;justify-content:center;gap:14px;font-size:1.4rem;font-weight:600}
.pt-date-line i{width:1px;height:18px;background:rgba(255,255,255,.5)}
.pt-clock{display:block;margin-top:14px;font-size:clamp(3.2rem,7vw,5.8rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.pt-next{width:min(640px,100%);margin:28px auto;display:grid;grid-template-columns:118px 1fr 190px;align-items:center;gap:24px;padding:22px 30px;color:var(--pt-ink);background:#fff;border-radius:var(--pt-radius);box-shadow:var(--pt-shadow)}
.pt-next-icon,.pt-tomorrow-icon{display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#805ce0,#3f208f);color:#fff;box-shadow:0 8px 18px rgba(68,35,145,.25)}
.pt-next-icon{width:104px;height:104px}.pt-next-icon svg{width:56px;height:56px}
.pt-next-primary{border-right:1px solid #ded8ef}.pt-next-primary>span{display:block;color:#0796b1;font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.pt-next-primary h2{margin:4px 0 8px;color:#392181;font-family:Georgia,"Times New Roman",serif;font-size:2.7rem;line-height:1}
.pt-next-primary small{display:block;font-size:1.1rem}.pt-next-primary strong{display:block;color:var(--pt-coral);font-size:2.7rem;font-variant-numeric:tabular-nums;line-height:1.2}
.pt-next-times{display:grid;gap:18px;margin:0}.pt-next-times div{position:relative;padding-left:30px}.pt-next-times div:before{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;border:2px solid var(--pt-purple);border-radius:50%}.pt-next-times dt{font-size:1rem}.pt-next-times dd{margin:2px 0 0;font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums}
.pt-prayer-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin:26px 0}
.pt-prayer-card{position:relative;min-width:0;min-height:240px;padding:22px 12px 18px;text-align:center;color:var(--pt-ink);background:rgba(255,255,255,.96);border:2px solid transparent;border-radius:16px;box-shadow:0 10px 24px rgba(20,13,64,.15);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.pt-prayer-card:hover{transform:translateY(-6px);box-shadow:0 18px 32px rgba(20,13,64,.24)}
.pt-prayer-card.is-current{border-color:var(--pt-coral);box-shadow:0 0 0 4px rgba(255,116,110,.18),0 18px 34px rgba(20,13,64,.22)}
.pt-prayer-card.is-next{border-color:var(--pt-cyan);animation:pt-pulse 2.4s ease-in-out infinite}
.pt-prayer-icon{height:54px;color:var(--pt-purple)}.pt-prayer-icon svg{width:46px;height:46px}.pt-prayer-card.is-current .pt-prayer-icon,.pt-prayer-card.is-current h2{color:var(--pt-coral)}
.pt-prayer-card h2{margin:5px 0 16px;color:#30207f;font-size:1.35rem;font-weight:800}
.pt-prayer-card dl,.pt-prayer-card dl div{margin:0}.pt-prayer-card dl div+div{border-top:1px solid #e2deed;margin-top:12px;padding-top:12px}.pt-prayer-card dt{font-size:.95rem;color:#4d496a}.pt-prayer-card dd{margin:4px 0 0;font-size:1.85rem;font-weight:800;font-variant-numeric:tabular-nums}
.pt-timeline{margin:20px 0 14px;padding:22px 34px 42px;background:var(--pt-navy);border:1px solid rgba(128,224,234,.36);border-radius:var(--pt-radius);box-shadow:var(--pt-shadow)}
.pt-timeline h2{display:flex;align-items:center;gap:9px;margin:0 0 32px;color:#fff;font-size:1.25rem}.pt-timeline h2 svg{width:22px;height:22px;color:var(--pt-cyan-light)}
.pt-timeline-track{position:relative;height:52px;margin:0 12px;border-top:3px solid rgba(255,255,255,.5)}
.pt-timeline-progress{position:absolute;left:0;top:-3px;width:0;border-top:3px solid var(--pt-cyan-light);transition:width .8s ease}
.pt-timeline-stop{position:absolute;top:-48px;left:var(--stop);transform:translateX(-50%);width:100px;text-align:center}.pt-timeline-stop span,.pt-timeline-stop small{display:block;color:#fff;font-size:.86rem}.pt-timeline-stop small{margin-top:2px;font-weight:700}.pt-timeline-stop i{display:block;width:12px;height:12px;margin:14px auto 0;border:2px solid var(--pt-cyan-light);border-radius:50%;background:var(--pt-navy)}
.pt-now{position:absolute;left:0;top:-11px;transform:translateX(-50%);text-align:center;transition:left .8s ease}.pt-now i{display:block;width:20px;height:20px;margin:auto;border:4px solid #fff;border-radius:50%;background:var(--pt-coral);box-shadow:0 0 0 3px rgba(255,116,110,.35)}.pt-now span{display:block;margin-top:5px;padding:2px 7px;border-radius:10px;background:#fff;color:var(--pt-coral);font-weight:800}.pt-now small{display:block;color:var(--pt-coral);white-space:nowrap;font-weight:700}
.pt-friday{display:flex;align-items:center;justify-content:space-between;padding:18px 34px;margin:0 0 14px;background:linear-gradient(90deg,#5130a8,#7040d2);border:1px solid rgba(255,255,255,.34);border-radius:14px;box-shadow:0 9px 18px rgba(31,15,95,.2)}
.pt-friday>div{display:flex;align-items:center;gap:16px}.pt-friday svg{width:36px;height:36px}.pt-friday span strong,.pt-friday span small{display:block}.pt-friday span strong{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem}.pt-friday span small{margin-top:3px}.pt-friday>strong{font-size:2.5rem;font-variant-numeric:tabular-nums}
.pt-tomorrow{display:grid;grid-template-columns:230px 1fr 150px;align-items:center;gap:22px;padding:16px 22px;color:var(--pt-ink);background:rgba(255,255,255,.94);border-radius:14px;box-shadow:0 9px 18px rgba(31,15,95,.13)}
.pt-tomorrow header{display:flex;align-items:center;gap:13px}.pt-tomorrow-icon{width:58px;height:58px;flex:none;background:linear-gradient(145deg,#40c5d6,#1693ad)}.pt-tomorrow-icon svg{width:30px;height:30px}.pt-tomorrow h2{margin:0;font-size:1.5rem}.pt-tomorrow p{margin:4px 0 0;color:#5c5875;font-size:.92rem}
.pt-tomorrow-grid{display:grid;grid-template-columns:repeat(6,1fr)}.pt-tomorrow-grid>div{text-align:center;border-left:1px solid #ded9ea}.pt-tomorrow-grid span,.pt-tomorrow-grid strong,.pt-tomorrow-grid small{display:block}.pt-tomorrow-grid span{font-size:.85rem}.pt-tomorrow-grid strong,.pt-tomorrow-grid small{margin-top:4px;font-size:1.50rem;font-variant-numeric:tabular-nums}.pt-tomorrow-grid small{font-weight:700;color:#3e3971}
.pt-ramadan{display:flex;align-items:center;gap:9px;justify-content:center;align-self:stretch;padding:10px;background:#e3f8fb;border-radius:12px;color:#087a91}.pt-ramadan svg{width:27px;height:27px}
.pt-month-button{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:16px 26px;border:2px solid transparent;border-radius:14px;background:linear-gradient(90deg,#24abc5,#38c6d8);box-shadow:0 10px 20px rgba(5,83,113,.24);color:#fff!important;text-decoration:none!important;font-size:1.35rem;font-weight:800;transition:filter .2s ease,transform .2s ease}.pt-month-button span:first-child{display:flex;align-items:center;gap:12px}.pt-month-button svg{width:25px;height:25px}.pt-month-button:hover{filter:brightness(1.06);transform:translateY(-2px)}.pt-month-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.pt-error{max-width:700px;margin:50px auto;padding:40px;text-align:center;background:#fff;color:var(--pt-ink);border-radius:var(--pt-radius);box-shadow:var(--pt-shadow)}
/* Use viewport-friendly fixed floors because the legacy theme reduces root rem sizing. */
.pt-page .pt-date-line{font-size:clamp(15px,1.25vw,18px)}
.pt-page .pt-next-primary>span{font-size:14px}.pt-page .pt-next-primary h2{font-size:clamp(32px,2.6vw,42px)}.pt-page .pt-next-primary small{font-size:15px}.pt-page .pt-next-primary strong{font-size:clamp(30px,2.4vw,40px)}
.pt-page .pt-next-times dt{font-size:14px}.pt-page .pt-next-times dd{font-size:clamp(22px,1.8vw,29px)}
.pt-page .pt-prayer-card h2{font-size:clamp(20px,1.45vw,24px)}.pt-page .pt-prayer-card dt{font-size:16px;font-weight:600}.pt-page .pt-prayer-card dd{font-size:clamp(26px,1.8vw,30px);line-height:1.15}
.pt-page .pt-timeline h2{font-size:19px}.pt-page .pt-timeline-stop span{font-size:13px}.pt-page .pt-timeline-stop small{font-size:13px}.pt-page .pt-now span{font-size:14px}.pt-page .pt-now small{font-size:13px}
.pt-page .pt-friday span strong{font-size:clamp(20px,1.6vw,25px)}.pt-page .pt-friday span small{font-size:13px}.pt-page .pt-friday>strong{font-size:clamp(30px,2.4vw,40px)}
.pt-page .pt-tomorrow h2{font-size:24px}.pt-page .pt-tomorrow p{font-size:15px}.pt-page .pt-tomorrow-grid span{font-size:15px;font-weight:600}.pt-page .pt-tomorrow-grid strong,.pt-page .pt-tomorrow-grid small{font-size:20px;line-height:1.2}.pt-page .pt-ramadan{font-size:16px}.pt-page .pt-month-button{font-size:18px}
@keyframes pt-pulse{0%,100%{box-shadow:0 10px 24px rgba(20,13,64,.15)}50%{box-shadow:0 0 0 6px rgba(39,183,207,.18),0 18px 30px rgba(20,13,64,.2)}}
@media(max-width:900px){.pt-prayer-grid{grid-template-columns:repeat(3,1fr)}.pt-tomorrow{grid-template-columns:1fr}.pt-tomorrow-grid>div:first-child{border-left:0}.pt-ramadan{min-height:54px}.pt-timeline-stop{width:75px}}
@media(max-width:640px){.pt-page{padding:30px 12px 34px}.pt-hero h1{font-size:3rem}.pt-date-line{gap:8px;flex-wrap:wrap;font-size:.84rem}.pt-clock{font-size:3.15rem}.pt-next{grid-template-columns:70px 1fr;padding:18px 16px;gap:14px}.pt-next-icon{width:68px;height:68px}.pt-next-icon svg{width:38px;height:38px}.pt-next-primary{border-right:0}.pt-next-primary>span{font-size:.77rem}.pt-next-primary h2{font-size:1.75rem}.pt-next-primary strong{font-size:2rem}.pt-next-times{grid-column:1/-1;grid-template-columns:1fr 1fr;border-top:1px solid #ded8ef;padding-top:14px}.pt-next-times dd{font-size:1.4rem}.pt-prayer-grid{grid-template-columns:repeat(2,1fr);gap:10px}.pt-prayer-card{min-height:202px;padding:16px 9px}.pt-prayer-icon{height:42px}.pt-prayer-icon svg{width:36px;height:36px}.pt-prayer-card h2{font-size:1rem;margin:4px 0 11px}.pt-prayer-card dd{font-size:1.3rem}.pt-timeline{overflow:hidden;padding:18px 14px 40px}.pt-timeline h2{margin-bottom:45px}.pt-timeline-track{min-width:0;margin:0 5px}.pt-timeline-stop{width:52px;top:-40px}.pt-timeline-stop span,.pt-timeline-stop small{font-size:1.00rem}.pt-timeline-stop i{margin-top:11px}.pt-now span{font-size:.74rem}.pt-now small{font-size:.65rem}.pt-friday{padding:15px 18px}.pt-friday span strong{font-size:1.15rem}.pt-friday span small{font-size:.75rem}.pt-friday>strong{font-size:1.9rem}.pt-tomorrow{padding:16px}.pt-tomorrow-grid{grid-template-columns:repeat(3,1fr);row-gap:18px}.pt-tomorrow-grid>div:nth-child(4){border-left:0}.pt-month-button{font-size:1rem;padding:14px 17px}}
@media(max-width:640px){.pt-page .pt-date-line{font-size:12px}.pt-page .pt-next-primary>span{font-size:12px}.pt-page .pt-next-primary h2{font-size:28px}.pt-page .pt-next-primary small{font-size:15px}.pt-page .pt-next-primary strong{font-size:29px}.pt-page .pt-next-times dt{font-size:15px}.pt-page .pt-next-times dd{font-size:24px}.pt-page .pt-prayer-card{min-height:225px}.pt-page .pt-prayer-card h2{font-size:18px}.pt-page .pt-prayer-card dt{font-size:16px}.pt-page .pt-prayer-card dd{font-size:25px}.pt-page .pt-timeline h2{font-size:18px}.pt-page .pt-timeline-stop span,.pt-page .pt-timeline-stop small{font-size:10px}.pt-page .pt-now span{font-size:12px}.pt-page .pt-now small{font-size:10px}.pt-page .pt-friday span strong{font-size:18px}.pt-page .pt-friday span small{font-size:11px}.pt-page .pt-friday>strong{font-size:28px}.pt-page .pt-tomorrow h2{font-size:24px}.pt-page .pt-tomorrow p{font-size:14px}.pt-page .pt-tomorrow-grid span{font-size:14px}.pt-page .pt-tomorrow-grid strong,.pt-page .pt-tomorrow-grid small{font-size:18px}.pt-page .pt-month-button{font-size:16px}}
@media(prefers-reduced-motion:reduce){.pt-page *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
