/*
Theme Name: روائع لأوقات الصلاة
Theme URI: https://example.com/
Author: OpenAI
Description: قالب ووردبريس عربي RTL لصفحة هبوط تطبيق روائع لأوقات الصلاة.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: roaaiw-prayer
Tags: rtl, landing-page, mosque, arabic, responsive
*/

:root{
  --bg:#07111f;
  --bg-2:#0b1729;
  --surface:#0f1f35;
  --surface-2:#132745;
  --card:rgba(255,255,255,.06);
  --card-border:rgba(255,255,255,.09);
  --text:#f8fafc;
  --muted:#cbd5e1;
  --soft:#94a3b8;
  --primary:#10b981;
  --primary-2:#0f766e;
  --accent:#f59e0b;
  --accent-2:#fbbf24;
  --shadow: 0 20px 70px rgba(0,0,0,.35);
  --radius:28px;
  --radius-lg:36px;
  --max:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Cairo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at top right, rgba(16,185,129,.15), transparent 22%),
    radial-gradient(circle at top left, rgba(245,158,11,.12), transparent 20%),
    linear-gradient(180deg, var(--bg) 0%, #08101c 38%, #07111f 100%);
  color:var(--text);
  line-height:1.9;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;height:auto}
button,input,textarea,select{font-family:inherit}
.container{
  width:min(var(--max), calc(100% - 32px));
  margin-inline:auto;
}
.site{
  min-height:100vh;
}

/* Top bar */
.topbar{
  position:sticky;
  top:0;
  z-index:60;
  backdrop-filter: blur(18px);
  background:rgba(7,17,31,.7);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:900;
  letter-spacing:-.3px;
}
.brand-mark{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, var(--primary) 0%, #0ea5e9 100%);
  box-shadow:0 12px 28px rgba(16,185,129,.25);
  flex:0 0 auto;
}
.brand-mark svg{
  width:26px;height:26px;
  fill:white;
}
.brand-title{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.brand-title strong{
  font-size:1.05rem;
  line-height:1.2;
}
.brand-title span{
  color:var(--soft);
  font-size:.88rem;
}

.nav-links{
  display:flex;
  gap:24px;
  color:var(--muted);
  font-size:.98rem;
}
.nav-links a:hover{color:#fff}
.nav-cta,
.btn,
.store-btn{
  transition:.25s ease;
}
.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--primary) 0%, #059669 100%);
  color:white;
  font-weight:800;
  box-shadow:0 14px 30px rgba(16,185,129,.22);
  min-height:48px;
}
.nav-cta:hover{transform:translateY(-2px)}

.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0;
  flex-direction:column;
  flex:0 0 auto;
}
.menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#fff;
}

.mobile-menu{
  display:none;
  margin:12px 0 0;
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 16px 32px rgba(0,0,0,.18);
}
.mobile-menu[hidden]{
  display:none !important;
}
.mobile-menu:not([hidden]){
  display:none;
}
.mobile-menu a{
  display:block;
  padding:12px 14px;
  border-radius:14px;
  color:#fff;
}
.mobile-menu a:hover{
  background:rgba(255,255,255,.08);
}

body.menu-open{
  overflow:hidden;
}

/* Hero */
.hero{
  padding:52px 0 30px;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.08fr .92fr;
  gap:32px;
  align-items:center;
  min-height:calc(100vh - 92px);
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(16,185,129,.12);
  border:1px solid rgba(16,185,129,.18);
  color:#d1fae5;
  font-weight:700;
  font-size:.95rem;
  margin-bottom:18px;
}
.badge i{
  width:8px;height:8px;border-radius:50%;
  background:var(--primary);
  box-shadow:0 0 0 6px rgba(16,185,129,.12);
  display:inline-block;
}
h1{
  margin:0 0 16px;
  font-size:clamp(2.3rem, 5vw, 4.8rem);
  line-height:1.08;
  letter-spacing:-.8px;
}
.lead{
  margin:0 0 28px;
  color:var(--muted);
  font-size:1.12rem;
  max-width:62ch;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:22px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 22px;
  border-radius:18px;
  font-weight:900;
  border:1px solid transparent;
  min-height:54px;
}
.btn-primary{
  background:linear-gradient(135deg, var(--primary) 0%, #059669 100%);
  color:#fff;
  box-shadow:0 16px 34px rgba(16,185,129,.22);
}
.btn-primary:hover{transform:translateY(-2px)}
.btn-secondary{
  background:rgba(255,255,255,.04);
  color:#fff;
  border-color:rgba(255,255,255,.10);
}
.btn-secondary:hover{transform:translateY(-2px); background:rgba(255,255,255,.07)}
.btn-dark{
  background:#fff;
  color:#08111f;
}

.download-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:12px 0 24px;
}
.store-btn{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--card-border);
  min-width:180px;
}
.store-btn:hover{transform:translateY(-2px); background:rgba(255,255,255,.09)}
.store-ico{
  width:40px;height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.12);
  flex:0 0 auto;
  font-size:1.1rem;
}
.store-text{
  display:flex;
  flex-direction:column;
  line-height:1.3;
}
.store-text small{
  color:var(--muted);
  font-size:.82rem;
}
.store-text strong{
  font-size:.98rem;
}

.trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  color:var(--muted);
  font-size:.95rem;
}
.trust-row span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  padding:9px 14px;
  border-radius:999px;
}

/* Visual */
.visual{
  position:relative;
  min-height:620px;
  display:grid;
  place-items:center;
}
.glow{
  position:absolute;
  inset:auto;
  width:420px;height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(16,185,129,.22), rgba(16,185,129,.05) 45%, transparent 70%);
  filter:blur(10px);
  z-index:0;
  transform:translate(60px, -40px);
}
.phone{
  position:relative;
  width:min(100%, 430px);
  height:640px;
  border-radius:42px;
  background:linear-gradient(180deg, #0f172a 0%, #020617 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--shadow);
  padding:16px;
  z-index:1;
  transform:rotate(-4deg);
}
.phone::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}
.phone-screen{
  height:100%;
  border-radius:32px;
  background:
    radial-gradient(circle at top right, rgba(16,185,129,.12), transparent 24%),
    linear-gradient(180deg, #111827 0%, #0b1220 100%);
  overflow:hidden;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.screen-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#dbeafe;
  font-size:.92rem;
  opacity:.95;
}
.screen-card{
  border-radius:24px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
  padding:18px;
  backdrop-filter: blur(10px);
}
.screen-card h3{
  margin:0 0 6px;
  font-size:1.08rem;
}
.screen-card p{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
}
.prayer-panel{
  display:grid;
  gap:12px;
  background:linear-gradient(135deg, rgba(16,185,129,.18), rgba(15,118,110,.10));
  border:1px solid rgba(16,185,129,.16);
  border-radius:24px;
  padding:18px;
}
.prayer-panel .label{
  color:#d1fae5;
  font-size:.95rem;
}
.prayer-time{
  font-size:1.5rem;
  font-weight:900;
  letter-spacing:.2px;
}
.times{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px;
}
.time-item{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:12px 14px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:.95rem;
}
.time-item span:last-child{
  color:#f8fafc;
  font-weight:800;
}
.mini-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:auto;
}
.mini{
  min-height:124px;
  border-radius:22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  padding:16px;
}
.mini strong{
  display:block;
  margin-bottom:8px;
  font-size:1rem;
}
.mini span{
  color:#cbd5e1;
  font-size:.92rem;
  line-height:1.7;
}

.floating-badge{
  position:absolute;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(14px);
  box-shadow:0 15px 35px rgba(0,0,0,.25);
  padding:14px 16px;
  z-index:2;
}
.float-1{top:34px; right:-10px}
.float-2{bottom:54px; left:-18px}
.floating-badge strong{
  display:block;
  font-size:.96rem;
  margin-bottom:4px;
}
.floating-badge span{
  color:var(--muted);
  font-size:.88rem;
}

/* Sections */
.section{
  padding:78px 0;
  content-visibility:auto;
  contain-intrinsic-size:1px 820px;
}
.section-head{
  text-align:center;
  margin-bottom:34px;
}
.section-head h2{
  margin:0 0 12px;
  font-size:clamp(1.7rem, 3vw, 2.7rem);
  line-height:1.2;
}
.section-head p{
  margin:0 auto;
  max-width:820px;
  color:var(--muted);
  font-size:1.02rem;
}

.metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:30px;
}
.metric{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:22px;
  text-align:center;
}
.metric strong{
  display:block;
  font-size:1.9rem;
  margin-bottom:6px;
  color:#fff;
}
.metric span{
  color:var(--muted);
  font-size:.96rem;
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.feature{
  background:var(--card);
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  padding:24px;
  box-shadow:0 14px 40px rgba(0,0,0,.16);
  transition:.25s ease;
}
.feature:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.08);
}
.icon{
  width:56px;height:56px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(16,185,129,.18), rgba(245,158,11,.12));
  border:1px solid rgba(255,255,255,.08);
  font-size:1.4rem;
  margin-bottom:14px;
}
.feature h3{
  margin:0 0 10px;
  font-size:1.2rem;
}
.feature p{
  margin:0;
  color:var(--muted);
  font-size:.98rem;
}

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.panel{
  background:linear-gradient(180deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.04) 100%);
  border:1px solid rgba(255,255,255,.09);
  border-radius:30px;
  padding:28px;
  box-shadow:var(--shadow);
}
.panel h3{
  margin:0 0 16px;
  font-size:1.35rem;
}
.checklist{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:14px;
}
.checklist li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:var(--muted);
  font-size:1rem;
}
.check{
  width:26px;height:26px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(16,185,129,.14);
  color:#34d399;
  font-weight:900;
  flex:0 0 auto;
  margin-top:2px;
}

.gallery{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
}
.photo-card{
  min-height:340px;
  border-radius:30px;
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.09);
  background:
    linear-gradient(180deg, rgba(7,17,31,.05) 0%, rgba(7,17,31,.72) 100%),
    url("https://images.unsplash.com/photo-1518118573785-4b3b3f7a5f9a?auto=format&fit=crop&w=1200&q=80") center/cover no-repeat;
}
.photo-card .overlay{
  position:absolute;
  inset:auto 0 0 0;
  padding:24px;
  background:linear-gradient(180deg, transparent 0%, rgba(7,17,31,.82) 55%, rgba(7,17,31,.95) 100%);
}
.photo-card h3{
  margin:0 0 8px;
  font-size:1.45rem;
}
.photo-card p{
  margin:0;
  color:var(--muted);
  max-width:42ch;
}

.stack{
  display:grid;
  gap:18px;
}
.stack-item{
  border-radius:26px;
  padding:22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.stack-item strong{
  display:block;
  margin-bottom:8px;
  font-size:1.08rem;
}
.stack-item span{
  color:var(--muted);
  font-size:.96rem;
}

.cta{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(16,185,129,.20), transparent 22%),
    radial-gradient(circle at bottom left, rgba(245,158,11,.18), transparent 20%),
    linear-gradient(135deg, rgba(12,25,43,.98) 0%, rgba(7,17,31,.98) 100%);
  border:1px solid rgba(255,255,255,.09);
  border-radius:36px;
  box-shadow:var(--shadow);
  padding:30px;
}
.cta::after{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.12), transparent 68%);
  inset:auto -110px -120px auto;
  pointer-events:none;
}
.cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.cta h3{
  margin:0 0 10px;
  font-size:1.9rem;
  line-height:1.2;
}
.cta p{
  margin:0;
  color:var(--muted);
  max-width:62ch;
}
.cta .actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

footer{
  padding:34px 0 48px;
  color:var(--soft);
  text-align:center;
  font-size:.95rem;
}

/* WordPress compatibility */
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.9rem;color:var(--muted)}
.gallery-caption{color:var(--muted)}
.aligncenter{display:block;margin-inline:auto}
.alignleft{float:left;margin:0 1rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1rem}

/* Responsive */
@media (max-width: 1024px){
  .hero-grid,
  .split,
  .gallery,
  .feature-grid,
  .metrics{
    grid-template-columns:1fr;
  }
  .nav-links{display:none}
  .hero{
    padding-top:34px;
  }
  .hero-grid{
    min-height:auto;
  }
  .visual{min-height:auto; padding-top:14px}
  .phone{
    transform:none;
    width:min(100%, 430px);
  }
}

@media (max-width: 640px){
  .container{width:min(var(--max), calc(100% - 20px))}
  .nav{height:auto; padding:12px 0; flex-wrap:wrap}
  .brand-title span{display:none}
  .btn, .store-btn, .nav-cta{width:100%}
  .hero-actions, .download-row, .cta .actions{flex-direction:column}
  .phone{height:auto}
  .phone-screen{min-height:620px}
  .times{grid-template-columns:1fr}
  .mini-grid{grid-template-columns:1fr}
  .metric strong{font-size:1.6rem}
}

.form-alert{
  margin:0 auto 22px;
  max-width:900px;
  border-radius:22px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  color:#fff;
}
.form-alert.success{
  background:rgba(16,185,129,.12);
  border-color:rgba(16,185,129,.24);
}
.form-alert.error{
  background:rgba(248,113,113,.12);
  border-color:rgba(248,113,113,.24);
}

.whatsapp-form-wrap{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  align-items:start;
}
.whatsapp-form{
  background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.05) 100%);
  border:1px solid rgba(255,255,255,.09);
  border-radius:30px;
  padding:26px;
  box-shadow:var(--shadow);
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.field-full{
  grid-column:1 / -1;
}
.field label{
  font-weight:700;
  color:#fff;
  font-size:.96rem;
}
.field input,
.field textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(7,17,31,.55);
  color:#fff;
  border-radius:18px;
  padding:14px 16px;
  outline:none;
  transition:.2s ease;
}
.field input::placeholder,
.field textarea::placeholder{color:#94a3b8}
.field input:focus,
.field textarea:focus{
  border-color:rgba(16,185,129,.55);
  box-shadow:0 0 0 4px rgba(16,185,129,.08);
}
.form-actions{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}
.btn-submit{
  border:none;
  cursor:pointer;
}
.form-note{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.form-side{
  display:grid;
  gap:16px;
}
.side-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
  border-radius:26px;
  padding:22px;
}
.side-card strong{
  display:block;
  margin-bottom:12px;
  font-size:1.08rem;
}
.side-card ul{
  margin:0;
  padding:0 18px 0 0;
  color:var(--muted);
}
.side-card li{
  margin-bottom:8px;
}

@media (max-width: 1024px){
  .whatsapp-form-wrap{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .form-grid{grid-template-columns:1fr}
}

.brand-mark-logo{
  overflow:hidden;
  padding:0;
}
.brand-mark-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hero-emblem{
  width:min(100%, 260px);
  margin:0 auto 18px;
  padding:14px;
  border-radius:28px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 46px rgba(0,0,0,.24);
  display:grid;
  place-items:center;
}
.hero-emblem img{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
  filter: drop-shadow(0 10px 22px rgba(245,158,11,.15));
}
@media (max-width: 1024px){
  .hero-emblem{max-width:220px}
}

.topbar{
  box-shadow:0 10px 30px rgba(0,0,0,.14);
}

.nav{
  gap:20px;
}

.brand{
  min-width:0;
  align-items:center;
  gap:12px;
  padding:8px 12px 8px 8px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}

.brand-mark-logo{
  width:52px;
  height:52px;
  border-radius:16px;
  overflow:hidden;
  flex:0 0 auto;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}

.brand-mark-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.brand-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  line-height:1.25;
}

.brand-name{
  font-size:1.08rem;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.brand-desc{
  color:var(--soft);
  font-size:.84rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nav-links{
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}

.nav-links a{
  position:relative;
  padding:6px 2px;
}

.nav-links a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-2px;
  width:0;
  height:2px;
  background:linear-gradient(90deg, var(--accent) 0%, var(--primary) 100%);
  transition:width .25s ease;
  border-radius:999px;
}

.nav-links a:hover::after{
  width:100%;
}

.nav-cta{
  background:linear-gradient(135deg, var(--accent) 0%, #d97706 100%);
  color:#fff;
  box-shadow:0 16px 34px rgba(245,158,11,.22);
}

.nav-cta:hover{
  transform:translateY(-2px);
}

@media (max-width: 640px){
  .brand{
    width:100%;
    background:rgba(255,255,255,.03);
  }
  .brand-mark-logo{
    width:46px;
    height:46px;
  }
  .brand-name{
    font-size:1rem;
  }
  .brand-desc{
    font-size:.78rem;
  }
}

/* Responsive compatibility for all devices */
img, video, iframe, svg{
  max-width:100%;
  height:auto;
}

body{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

.container{
  width:min(var(--max), calc(100% - 24px));
}

.nav{
  flex-wrap:wrap;
}

.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0;
  flex-direction:column;
}
.menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#fff;
}

@media (max-width: 1180px){
  .hero-grid{
    gap:24px;
  }
  .phone{
    width:min(100%, 400px);
    height:600px;
  }
  .visual{
    min-height:auto;
  }
}

@media (max-width: 1024px){
  .nav-links{
    display:none;
  }

  .menu-toggle{
    display:inline-flex;
    margin-inline-start:auto;
  }

  .nav-cta{
    display:none;
  }

  .mobile-menu{
    display:block;
  }

  .hero-grid,
  .split,
  .gallery,
  .feature-grid,
  .metrics,
  .whatsapp-form-wrap{
    grid-template-columns:1fr;
  }

  .hero{
    padding-top:28px;
  }

  .hero-grid{
    min-height:auto;
  }

  .hero-emblem{
    max-width:220px;
  }

  .visual{
    order:-1;
    margin-bottom:12px;
  }

  .phone{
    transform:none;
    width:min(100%, 430px);
    margin-inline:auto;
  }

  .floating-badge{
    max-width:44%;
  }

  .brand-copy{
    max-width:calc(100vw - 210px);
  }
}

@media (max-width: 768px){
  .section{
    padding:58px 0;
  }

  h1{
    font-size:clamp(2rem, 8vw, 3rem);
  }

  .lead{
    font-size:1rem;
  }

  .hero-actions,
  .download-row,
  .cta .actions{
    flex-direction:column;
  }

  .btn,
  .store-btn{
    width:100%;
  }

  .hero-points,
  .trust-row{
    gap:10px;
  }

  .hero-points span,
  .trust-row span{
    width:100%;
    justify-content:center;
  }

  .mini-grid{
    grid-template-columns:1fr;
  }

  .phone-screen{
    min-height:unset;
  }

  .floating-badge{
    position:static;
    width:100%;
    margin-bottom:10px;
  }

  .visual{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .glow{
    display:none;
  }

  .panel,
  .whatsapp-form,
  .card,
  .feature,
  .metric,
  .side-card,
  .stack-item,
  .photo-card,
  .cta{
    border-radius:24px;
  }

  .form-grid{
    grid-template-columns:1fr;
  }

  .field-full{
    grid-column:auto;
  }
}

@media (max-width: 480px){
  .container{
    width:min(var(--max), calc(100% - 18px));
  }

  .nav{
    gap:10px;
  }

  .brand{
    width:100%;
    padding:8px;
  }

  .brand-mark-logo{
    width:42px;
    height:42px;
  }

  .brand-name{
    font-size:.98rem;
  }

  .brand-desc{
    font-size:.74rem;
  }

  .phone{
    width:100%;
    height:auto;
  }

  .phone-screen{
    padding:14px;
  }

  .screen-card,
  .prayer-panel,
  .mini,
  .stack-item{
    padding:14px;
  }

  .cta{
    padding:20px;
  }

  .cta h3{
    font-size:1.5rem;
  }

  .whatsapp-form{
    padding:18px;
  }

  .field input,
  .field textarea{
    border-radius:14px;
  }
}

@media (max-width: 1024px){
  .brand-title{
    min-width:0;
  }
}

@media (max-width: 640px){
  .topbar{
    position:sticky;
  }
}

.hero img,
.gallery img,
.photo-card img,
.brand-mark-logo img{
  display:block;
}

.hero.has-hero-bg{
  position:relative;
}
.hero.has-hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(7,17,31,.70) 0%, rgba(7,17,31,.86) 100%),
    var(--hero-bg) center/cover no-repeat;
  opacity:.42;
  pointer-events:none;
  z-index:0;
}
.hero.has-hero-bg > .container{
  position:relative;
  z-index:1;
}

.site-footer{
  padding:20px 0 44px;

  content-visibility:auto;
  contain-intrinsic-size:1px 260px;
}
.footer-inner{
  display:grid;
  gap:18px;
  align-items:center;
  justify-items:center;
  text-align:center;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  padding:24px;
}
.footer-brand strong{
  display:block;
  font-size:1.1rem;
  color:#fff;
  margin-bottom:4px;
}
.footer-brand p{
  margin:0;
  color:var(--muted);
}
.footer-nav ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 18px;
  padding:0;
  margin:0;
}
.footer-nav a{
  color:var(--muted);
}
.footer-nav a:hover{
  color:#fff;
}

@media (max-width: 768px){
  .footer-inner{
    padding:18px;
  }
}

.menu-toggle:focus-visible,
.nav-cta:focus-visible,
.btn:focus-visible,
.store-btn:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(245,158,11,.75);
  outline-offset:2px;
}

.verse-section{
  padding-top: 12px;
}

.verse-band{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  align-items:stretch;
}

.verse-copy,
.verse-card{
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));
  border-radius:30px;
  box-shadow:var(--shadow);
}

.verse-copy{
  padding:28px;
}

.verse-kicker{
  margin:0 0 10px;
  color:var(--accent-2);
  font-weight:800;
  letter-spacing:.3px;
}

.verse-copy h2{
  margin:0 0 14px;
  font-size:clamp(1.5rem, 2.8vw, 2.2rem);
  line-height:1.6;
}

.verse-text{
  margin:0 0 12px;
  color:var(--muted);
  font-size:1.02rem;
  line-height:2;
}

.verse-source{
  display:inline-flex;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(16,185,129,.12);
  border:1px solid rgba(16,185,129,.18);
  color:#d1fae5;
  font-weight:700;
}

.verse-card{
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.verse-card strong{
  display:block;
  margin-bottom:12px;
  font-size:1.2rem;
  color:#fff;
}

.verse-card p{
  margin:0;
  color:var(--muted);
  line-height:2;
}

@media (max-width: 1024px){
  .verse-band{
    grid-template-columns:1fr;
  }
}

@media (max-width: 768px){
  .verse-copy,
  .verse-card{
    padding:20px;
  }
}

.field select{
  width:100%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(7,17,31,.55);
  color:#fff;
  border-radius:18px;
  padding:14px 16px;
  outline:none;
  transition:.2s ease;
}
.field select:focus{
  border-color:rgba(16,185,129,.55);
  box-shadow:0 0 0 4px rgba(16,185,129,.08);
}
.field select option{
  color:#0f172a;
}

.prayer-times-section{
  padding-top: 10px;
}

.prayer-times-panel{
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));
  border-radius:30px;
  box-shadow:var(--shadow);
  padding:26px;
}

.prayer-head{
  margin-bottom:22px;
}

.prayer-times-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:12px;
}

.prayer-time-item{
  padding:18px 14px;
  border-radius:22px;
  background:rgba(7,17,31,.48);
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
}

.prayer-time-item span{
  display:block;
  color:var(--muted);
  margin-bottom:10px;
  font-size:.95rem;
}

.prayer-time-item strong{
  display:block;
  font-size:1.35rem;
  color:#fff;
  letter-spacing:.4px;
}

.prayer-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
  color:var(--muted);
  font-size:.95rem;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}

.prayer-footer span:first-child{
  color:#d1fae5;
  font-weight:700;
}

@media (max-width: 1024px){
  .prayer-times-grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

@media (max-width: 640px){
  .prayer-times-panel{
    padding:18px;
  }
  .prayer-times-grid{
    grid-template-columns:repeat(2, 1fr);
  }
  .prayer-time-item strong{
    font-size:1.2rem;
  }
}

.prayer-city-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.prayer-city-badge,
.prayer-date-badge{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#d1fae5;
  font-weight:700;
  font-size:.92rem;
}

.prayer-countdown-box{
  margin-bottom:18px;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(16,185,129,.16), rgba(245,158,11,.10));
  border:1px solid rgba(255,255,255,.08);
}

.countdown-title{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.95rem;
}

.countdown-main{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
  flex-wrap:wrap;
}

.countdown-main strong{
  color:#fff;
  font-size:1.2rem;
}

.countdown-main span{
  color:#fff;
  font-size:1.9rem;
  font-weight:900;
  letter-spacing:1px;
  direction:ltr;
}

.countdown-sub{
  margin:8px 0 0;
  color:var(--muted);
  font-size:.9rem;
}

@media (max-width: 640px){
  .countdown-main span{
    font-size:1.5rem;
  }
}

.prayer-city-badge.is-loading{
  opacity:.8;
}

.city-selector{
  margin: 14px 0 18px;
  padding: 16px;
  border-radius: 24px;
  background: rgba(7,17,31,.35);
  border: 1px solid rgba(255,255,255,.08);
}

.city-selector label{
  display:block;
  color:#d1fae5;
  font-weight:700;
  margin-bottom:10px;
}

.city-selector select{
  width:100%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(7,17,31,.55);
  color:#fff;
  border-radius:18px;
  padding:14px 16px;
  outline:none;
  transition:.2s ease;
}

.city-selector select:focus{
  border-color:rgba(16,185,129,.55);
  box-shadow:0 0 0 4px rgba(16,185,129,.08);
}

.city-selector-note{
  margin:10px 0 0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.7;
}

.prayer-times-panel.is-loading{
  opacity:.96;
}

@media (max-width: 1024px){
  .nav{
    align-items:center;
    gap:12px;
  }

  .nav-links{
    display:none !important;
  }

  .menu-toggle{
    display:inline-flex;
    margin-inline-start:auto;
  }

  .nav-cta{
    display:none;
  }

  .mobile-menu{
    display:block;
    width:100%;
  }

  .topbar{
    position:sticky;
    top:0;
    z-index:1000;
  }

  .brand{
    min-width:0;
    flex:1 1 auto;
  }
}

@media (max-width: 640px){
  .brand{
    padding:8px;
  }

  .brand-copy{
    max-width:calc(100vw - 175px);
  }

  .mobile-menu a{
    padding:14px 12px;
  }
}

.phone-screen .phone-prayer-header{
  margin-bottom:12px;
}

.phone-screen .phone-prayer-kicker{
  margin:0 0 6px;
  color:var(--accent-2);
  font-weight:800;
  font-size:1rem;
}

.phone-screen .phone-prayer-header h3{
  margin:0;
  color:#fff;
  font-size:.98rem;
  line-height:1.7;
  font-weight:600;
}

.phone-screen .city-selector{
  margin:12px 0 14px;
  padding:12px;
  border-radius:20px;
}

.phone-screen .prayer-countdown-box{
  padding:14px;
  margin-bottom:14px;
}

.phone-screen .prayer-times-grid{
  grid-template-columns:repeat(2, 1fr);
  gap:8px;
}

.phone-screen .prayer-time-item{
  padding:12px 10px;
  border-radius:18px;
}

.phone-screen .prayer-time-item span{
  font-size:.82rem;
  margin-bottom:6px;
}

.phone-screen .prayer-time-item strong{
  font-size:1.05rem;
}

.phone-screen .countdown-main span{
  font-size:1.35rem;
}

@media (max-width: 640px){
  .phone-screen .phone-prayer-header h3{
    font-size:.92rem;
  }
}

.phone{
  width:min(100%, 430px);
  height:680px;
  border-radius:44px;
  background:linear-gradient(180deg, #0b1220 0%, #020817 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 32px 90px rgba(0,0,0,.48);
  padding:14px;
  transform:rotate(-4deg);
}

.phone-screen{
  height:100%;
  border-radius:34px;
  background:
    radial-gradient(circle at top, rgba(16,185,129,.20), transparent 28%),
    radial-gradient(circle at bottom left, rgba(245,158,11,.16), transparent 22%),
    linear-gradient(180deg, #0f172a 0%, #0b1220 100%);
  overflow:hidden;
  padding:14px;
}

.app-shell{
  height:100%;
  display:flex;
  flex-direction:column;
  gap:12px;
  color:#fff;
}

.app-status{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.84rem;
  color:#e2e8f0;
  opacity:.95;
  padding:2px 2px 0;
}

.app-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 4px 6px;
}

.app-kicker{
  margin:0 0 3px;
  color:#94a3b8;
  font-size:.8rem;
}

.app-header h3{
  margin:0;
  font-size:1.3rem;
  line-height:1.1;
  letter-spacing:-.2px;
}

.app-avatar{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(16,185,129,.18), rgba(245,158,11,.14));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 28px rgba(0,0,0,.18);
  font-size:1.35rem;
}

.hero-prayer-card{
  position:relative;
  border-radius:28px;
  padding:18px;
  background:linear-gradient(135deg, rgba(16,185,129,.24), rgba(15,118,110,.18));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 40px rgba(0,0,0,.18);
}

.hero-prayer-top{
  display:flex;
  gap:8px;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}

.chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.1px;
  border:1px solid rgba(255,255,255,.10);
}

.chip.live{
  background:rgba(239,68,68,.16);
  color:#fecaca;
}

.chip.muted{
  background:rgba(255,255,255,.08);
  color:#e2e8f0;
}

.hero-prayer-title{
  font-size:1.2rem;
  font-weight:900;
  margin-bottom:4px;
}

.hero-prayer-sub{
  color:#dbeafe;
  font-size:.82rem;
  line-height:1.7;
  opacity:.95;
  margin-bottom:12px;
}

.hero-next{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:end;
  padding:12px 14px;
  border-radius:22px;
  background:rgba(8,15,28,.34);
  border:1px solid rgba(255,255,255,.08);
  margin-bottom:10px;
}
.hero-next span{
  color:#cbd5e1;
  font-size:.82rem;
}
.hero-next strong{
  font-size:1.05rem;
}
.hero-next b{
  font-size:1.4rem;
  font-weight:900;
}

.hero-countdown{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:20px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.hero-countdown span{
  color:#cbd5e1;
  font-size:.82rem;
}
.hero-countdown strong{
  font-size:1.25rem;
  font-weight:900;
  letter-spacing:1px;
  direction:ltr;
}

.time-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px;
}

.time-pill{
  padding:12px 12px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.time-pill span{
  font-size:.84rem;
  color:#dbeafe;
}
.time-pill strong{
  font-size:.96rem;
  font-weight:800;
}
.time-pill.active{
  background:linear-gradient(135deg, rgba(245,158,11,.20), rgba(16,185,129,.18));
  border-color:rgba(255,255,255,.12);
  box-shadow:0 14px 26px rgba(0,0,0,.14);
}

.quick-actions{
  display:flex;
  gap:10px;
}
.qa{
  flex:1;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:46px;
  padding:0 14px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  font-weight:800;
  font-size:.9rem;
}
.qa.primary{
  background:linear-gradient(135deg, #f59e0b, #d97706);
  border-color:transparent;
  color:#fff;
}

.notice-card{
  margin-top:auto;
  padding:16px;
  border-radius:22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.notice-card strong{
  display:block;
  margin-bottom:4px;
  font-size:.95rem;
}
.notice-card p{
  margin:0;
  color:#cbd5e1;
  font-size:.88rem;
}

.tabbar{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  padding:10px 10px 2px;
  margin-top:2px;
}
.tab{
  text-align:center;
  font-size:.76rem;
  color:#94a3b8;
  padding:8px 6px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid transparent;
}
.tab.active{
  background:rgba(16,185,129,.12);
  color:#d1fae5;
  border-color:rgba(16,185,129,.18);
}

@media (max-width: 1024px){
  .phone{
    transform:none;
    width:min(100%, 430px);
    height:660px;
    margin-inline:auto;
  }
}

@media (max-width: 640px){
  .phone{
    width:100%;
    height:620px;
  }
  .phone-screen{
    padding:12px;
  }
  .time-grid{
    grid-template-columns:1fr 1fr;
  }
  .hero-next{
    grid-template-columns:1fr;
    align-items:start;
  }
}

.feature-grid-tight{
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}

@media (max-width: 1024px){
  .feature-grid-tight{
    grid-template-columns:1fr;
  }
}

.floating-whatsapp-wrap{
  margin-top:18px;
  display:flex;
  justify-content:flex-end;
}
.floating-whatsapp-btn{
  position:fixed;
  inset-inline-end:20px;
  inset-block-end:20px;
  z-index:9999;
  border:none;
  border-radius:999px;
  padding:14px 22px;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
  background:linear-gradient(135deg, #25d366, #128c7e);
  color:#fff;
  font-weight:800;
  font-size:1rem;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.floating-whatsapp-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 46px rgba(0,0,0,.34);
}
.floating-whatsapp-btn:focus-visible{
  outline:3px solid rgba(37,211,102,.35);
  outline-offset:3px;
}
@media (max-width: 768px){
  .floating-whatsapp-btn{
    inset-inline-end:14px;
    inset-block-end:14px;
    padding:13px 18px;
    font-size:.95rem;
  }
}

/* Hero logo and cleaned showcase */
.hero-copy{
  position:relative;
  z-index:1;
}
.hero-visual{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
.hero-logo-card{
  width:min(100%, 470px);
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 60px rgba(0,0,0,.20);
  backdrop-filter:blur(14px);
  position:relative;
  z-index:2;
}
.hero-logo{
  width:92px;
  height:auto;
  flex:0 0 auto;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.35));
}
.hero-logo-copy strong{
  display:block;
  font-size:1.2rem;
  margin-bottom:6px;
}
.hero-logo-copy span{
  color:var(--muted);
  line-height:1.6;
  font-size:.96rem;
}
.hero-screen-card{
  width:min(100%, 430px);
  margin-top:6px;
}
.hero-mini-grid{
  width:min(100%, 430px);
}
.hero-visual .phone{
  transform:rotate(-2deg);
}

@media (max-width: 980px){
  .hero-visual{
    margin-top:8px;
  }
  .hero-logo-card,
  .hero-screen-card,
  .hero-mini-grid{
    width:100%;
  }
  .hero-logo{
    width:80px;
  }
}

@media (max-width: 640px){
  .hero-logo-card{
    padding:16px;
    flex-direction:column;
    text-align:center;
  }
  .hero-logo{
    width:84px;
  }
  .hero-visual .phone{
    transform:none;
  }
}

/* Landing hero override */
.hero.hero-landing{
  padding-top:32px;
  padding-bottom:48px;
}
.hero-landing-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(380px, .98fr);
  gap:48px;
  align-items:center;
  min-height:calc(100vh - 120px);
  direction:ltr;
}
.hero-copy-landing{
  direction:rtl;
  text-align:right;
  max-width:720px;
}
.hero-copy-landing .hero-actions{
  justify-content:flex-start;
}
.hero-poster{
  direction:ltr;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.hero-poster picture{
  display:block;
}
.hero-poster img{
  width:min(100%, 760px);
  height:auto;
  display:block;
  border-radius:30px;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.08);
}
.btn-secondary{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.16);
}
.btn-secondary:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);
}
@media (max-width: 980px){
  .hero-landing-grid{
    grid-template-columns:1fr;
    min-height:auto;
    gap:28px;
    direction:rtl;
  }
  .hero-copy-landing,
  .hero-copy-landing .hero-actions{
    justify-content:center;
    text-align:center;
  }
  .hero-copy-landing{
    max-width:100%;
  }
  .hero-poster{
    justify-content:center;
    order:-1;
  }
  .hero-poster img{
    width:min(100%, 720px);
  }
}
@media (max-width: 640px){
  .hero.hero-landing{
    padding-top:22px;
    padding-bottom:28px;
  }
  .hero-poster img{
    border-radius:22px;
  }
}

/* Wizard form */
.wizard-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:22px;
  align-items:start;
}
.wizard-form{
  background:linear-gradient(180deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.05) 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:34px;
  padding:28px;
  box-shadow:var(--shadow);
}
.wizard-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}
.wizard-kicker{
  margin:0 0 6px;
  color:#a7f3d0;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.84rem;
  font-weight:800;
}
.wizard-header h3{
  margin:0;
  font-size:1.45rem;
}
.wizard-step-count{
  min-width:74px;
  height:74px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:rgba(16,185,129,.10);
  border:1px solid rgba(16,185,129,.16);
  color:#fff;
  font-weight:900;
  line-height:1;
}
.wizard-step-count span{
  font-size:1.45rem;
}
.wizard-progress{
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  margin:0 0 14px;
}
.wizard-progress-bar{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg, #10b981 0%, #f59e0b 100%);
  border-radius:inherit;
  transition:width .35s ease;
}
.wizard-step-nav{
  display:flex;
  gap:10px;
  margin-bottom:22px;
  overflow:auto;
  padding-bottom:4px;
}
.wizard-step-dot{
  width:38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  font-weight:800;
  flex:0 0 auto;
}
.wizard-step-dot.is-active{
  background:linear-gradient(135deg, var(--primary) 0%, #059669 100%);
  color:#fff;
  border-color:transparent;
}
.wizard-step-dot.is-complete{
  background:rgba(16,185,129,.18);
  color:#d1fae5;
}
.wizard-step-head{
  margin-bottom:18px;
}
.wizard-step-head h4{
  margin:0 0 8px;
  font-size:1.2rem;
}
.wizard-step-head p{
  margin:0;
  color:var(--muted);
}
.wizard-step{
  display:block;
}
.time-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.form-grid-final{
  margin-top:18px;
}
.service-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.service-card{
  cursor:pointer;
}
.service-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.service-card-ui{
  display:block;
  height:100%;
  padding:18px;
  border-radius:24px;
  background:rgba(7,17,31,.44);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 28px rgba(0,0,0,.12);
  transition:.25s ease;
}
.service-card-ui strong{
  display:block;
  margin-bottom:6px;
  font-size:1.02rem;
}
.service-card-ui em{
  display:block;
  font-style:normal;
  color:#fbbf24;
  font-weight:900;
  margin-bottom:8px;
}
.service-card-ui small{
  color:var(--muted);
  line-height:1.7;
}
.service-card.is-selected .service-card-ui{
  border-color:rgba(16,185,129,.55);
  background:rgba(16,185,129,.10);
  transform:translateY(-2px);
}
.wizard-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
  align-items:center;
}
.wizard-footnote{
  margin:14px 0 0;
  color:var(--soft);
  font-size:.92rem;
}
.wizard-side{
  display:grid;
  gap:16px;
}
.wizard-summary-card li{
  transition:.2s ease;
}
.wizard-summary-card li:first-child{
  font-weight:800;
  color:#fff;
}
.wizard-summary-card li:nth-child(2){
  color:#d1fae5;
}
.wizard-summary-card li:nth-child(3){
  color:var(--muted);
}
@media (max-width: 1100px){
  .wizard-layout{
    grid-template-columns:1fr;
  }
}
@media (max-width: 900px){
  .service-cards{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .wizard-form{
    padding:20px;
    border-radius:28px;
  }
  .wizard-header{
    flex-direction:column;
    align-items:flex-start;
  }
  .time-grid{
    grid-template-columns:1fr;
  }
  .wizard-step-count{
    width:66px;
    height:66px;
  }
}

.payment-card{
  margin-top:18px;
  padding:18px;
  border-radius:24px;
  background:rgba(245,158,11,.08);
  border:1px solid rgba(245,158,11,.16);
}
.payment-card-head strong{
  display:block;
  margin-bottom:6px;
  font-size:1.03rem;
}
.payment-card-head p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.7;
}
.payment-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.payment-details div{
  padding:12px 14px;
  border-radius:18px;
  background:rgba(7,17,31,.35);
  border:1px solid rgba(255,255,255,.07);
}
.payment-details span{
  display:block;
  color:var(--soft);
  font-size:.86rem;
  margin-bottom:3px;
}
.payment-details strong{
  display:block;
  color:#fff;
  font-size:1rem;
  word-break:break-word;
}
.payment-confirm{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(16,185,129,.08);
  border:1px solid rgba(16,185,129,.14);
  cursor:pointer;
}
.payment-confirm input{
  width:18px;
  height:18px;
  margin-top:3px;
  accent-color: var(--primary);
  flex:0 0 auto;
}
.payment-confirm span{
  color:#e2e8f0;
  line-height:1.7;
}
