/* ==========================================================================
   PHWO Rishta Desk — public page
   Uses the theme's tokens (--phwo-color-primary etc.) so it never drifts
   from the rest of the site.
   ========================================================================== */

.phwo-rishta-page .phwo-prose > .phwo-rishta-hero,
.phwo-rishta-page .phwo-prose > .phwo-rishta-promises,
.phwo-rishta-page .phwo-prose > .phwo-rishta-how,
.phwo-rishta-page .phwo-prose > .phwo-rishta-elig,
.phwo-rishta-page .phwo-prose > .phwo-rishta-register,
.phwo-rishta-page .phwo-prose > .phwo-rishta-done {
	max-width: none;
}

/* ---- hero ---- */
.phwo-rishta-hero {
	position: relative;
	margin: 0 0 2rem;
	padding: clamp(2.2rem, 5vw, 4rem) clamp(1.2rem, 4vw, 3rem);
	border-radius: calc(var(--phwo-radius, 12px) * 1.5);
	color: #fff;
	background:
		radial-gradient(1200px 400px at 85% -10%, rgba(232, 163, 61, .35), transparent 60%),
		linear-gradient(135deg, var(--phwo-color-primary, #0D5C63) 0%, #083f45 100%);
	overflow: hidden;
}
.phwo-rishta-hero.has-image {
	background-image:
		linear-gradient(100deg, rgba(8,63,69,.94) 0%, rgba(13,92,99,.82) 45%, rgba(13,92,99,.35) 100%),
		var(--phwo-rishta-hero-img);
	background-size: cover;
	background-position: center right;
	min-height: 420px;
	display: flex; align-items: center;
}
.phwo-rishta-hero.has-image::after { display: none; }
.phwo-rishta-hero::after {
	content: "";
	position: absolute; inset: 0;
	background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
	background-size: 22px 22px;
	pointer-events: none;
}
.phwo-rishta-hero-inner { position: relative; max-width: 720px; }
.phwo-rishta-kicker {
	display: inline-block;
	margin: 0 0 .9rem;
	padding: .35rem .8rem;
	border-radius: 999px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.25);
	font-size: .8rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
}
.phwo-rishta-hero h1, .phwo-rishta-hero h2 {
	margin: 0 0 1rem;
	font-family: var(--phwo-font-head, Georgia, serif);
	font-size: clamp(1.7rem, 3.4vw, 2.6rem);
	line-height: 1.15;
	color: #fff;
}
.phwo-rishta-lead { font-size: 1.08rem; line-height: 1.65; opacity: .95; margin: 0 0 1.5rem; }
.phwo-rishta-hero-cta { display: flex; flex-wrap: wrap; gap: .75rem; }

.phwo-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: .8rem 1.4rem;
	border-radius: 10px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	font-size: 1rem;
	line-height: 1.2;
	transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.phwo-btn-primary { background: var(--phwo-color-accent, #E8A33D); color: #14262B; }
.phwo-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.15); }
.phwo-btn-ghost { background: transparent; color: inherit; border-color: currentColor; }
.phwo-rishta-hero .phwo-btn-ghost { color: #fff; }
.phwo-btn:disabled { opacity: .6; cursor: progress; transform: none; }

/* ---- promises ---- */
.phwo-rishta-promises ul {
	list-style: none; margin: 0 0 2.5rem; padding: 0;
	display: grid; gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.phwo-rishta-promises li {
	display: grid; gap: .35rem;
	padding: 1.2rem 1.2rem 1.3rem;
	background: #fff;
	border: 1px solid var(--phwo-line, #dde5e6);
	border-radius: var(--phwo-radius, 12px);
	box-shadow: 0 1px 2px rgba(20,38,43,.04);
}
.phwo-rishta-promises li strong { font-size: 1.02rem; color: var(--phwo-color-ink, #14262B); }
.phwo-rishta-promises li span:last-child { color: var(--phwo-muted, #6b7a80); font-size: .95rem; line-height: 1.5; }
.phwo-rishta-pi { font-size: 1.5rem; line-height: 1; }

/* ---- how it works ---- */
.phwo-rishta-how { margin: 0 0 2.5rem; }
.phwo-rishta-how h2, .phwo-rishta-register-head h2 {
	font-family: var(--phwo-font-head, Georgia, serif);
	font-size: clamp(1.4rem, 2.6vw, 1.9rem);
	margin: 0 0 1.2rem;
}
.phwo-rishta-steps {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	counter-reset: none;
}
.phwo-rishta-steps li {
	position: relative;
	padding: 1.2rem 1.1rem 1.2rem;
	background: var(--phwo-color-mist, #F5F8F8);
	border-radius: var(--phwo-radius, 12px);
	border-top: 3px solid var(--phwo-color-primary, #0D5C63);
}
.phwo-rishta-steps li > span {
	display: inline-grid; place-items: center;
	width: 2rem; height: 2rem; border-radius: 50%;
	background: var(--phwo-color-primary, #0D5C63); color: #fff;
	font-weight: 700; font-size: .95rem; margin-bottom: .6rem;
}
.phwo-rishta-steps li strong { display: block; margin-bottom: .3rem; }
.phwo-rishta-steps li p { margin: 0; color: var(--phwo-muted, #6b7a80); font-size: .94rem; line-height: 1.55; }

/* ---- eligibility ---- */
.phwo-rishta-elig { margin: 0 0 3rem; }
.phwo-rishta-elig-grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.phwo-rishta-elig-grid > div {
	padding: 1.3rem 1.4rem;
	border: 1px solid var(--phwo-line, #dde5e6);
	border-radius: var(--phwo-radius, 12px);
	background: #fff;
}
.phwo-rishta-elig h3 { margin: 0 0 .7rem; font-size: 1.1rem; }
.phwo-rishta-elig ul { margin: 0; padding-left: 1.2rem; }
.phwo-rishta-elig li { margin: .35rem 0; line-height: 1.5; }
.phwo-rishta-elig-grid > div:last-child { border-color: rgba(232,163,61,.5); background: #fffaf1; }

/* ---- hero proof ---- */
.phwo-rishta-hero-proof { list-style: none; margin: 1.4rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; font-size: .9rem; opacity: .92; }
.phwo-rishta-hero-proof li::before { content: "✓"; display: inline-block; margin-right: .4rem; color: var(--phwo-color-accent, #E8A33D); font-weight: 700; }

/* ---- register ---- */
.phwo-rishta-register { scroll-margin-top: 90px; }
.phwo-rishta-register-head p { color: var(--phwo-muted, #6b7a80); margin: 0 0 1.2rem; max-width: 760px; }

.phwo-rishta-resume {
	display: flex; flex-wrap: wrap; align-items: center; gap: .7rem;
	margin: 0 0 1rem; padding: .9rem 1.1rem;
	background: #fffaf1; border: 1px solid rgba(232,163,61,.6); border-radius: 10px;
}
.phwo-rishta-resume span { flex: 1 1 260px; font-weight: 600; }
.phwo-rishta-resume .phwo-btn { padding: .55rem 1rem; font-size: .92rem; }
.phwo-rishta-resume .phwo-btn-ghost { color: var(--phwo-color-primary, #0D5C63); }

.phwo-rishta-form {
	background: #fff;
	border: 1px solid var(--phwo-line, #dde5e6);
	border-radius: calc(var(--phwo-radius, 12px) * 1.4);
	box-shadow: 0 14px 44px rgba(20,38,43,.07);
	overflow: hidden;
}
.phwo-rishta-shell { display: grid; grid-template-columns: 250px minmax(0, 1fr); min-height: 560px; }
@media (max-width: 860px) { .phwo-rishta-shell { grid-template-columns: 1fr; } }

/* rail */
.phwo-rishta-rail {
	background: linear-gradient(180deg, #0f4f56 0%, #083f45 100%);
	color: #fff; padding: 1.4rem 1rem;
	display: flex; flex-direction: column; gap: 1rem;
}
.phwo-rishta-rail ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; }
.phwo-rishta-rail li {
	display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: .6rem;
	padding: .5rem .55rem; border-radius: 9px; font-size: .9rem; color: rgba(255,255,255,.72);
	cursor: default; transition: background .12s ease;
}
.phwo-rishta-rail li.is-reachable { cursor: pointer; }
.phwo-rishta-rail li.is-reachable:hover { background: rgba(255,255,255,.08); }
.phwo-rishta-rail li.is-current { background: rgba(255,255,255,.14); color: #fff; font-weight: 600; }
.phwo-rail-no {
	position: relative; width: 34px; height: 34px; border-radius: 50%;
	display: grid; place-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); font-size: 1rem;
}
.phwo-rail-tick { display: none; font-weight: 700; color: #0b3b40; }
.phwo-rishta-rail li.is-done .phwo-rail-no { background: var(--phwo-color-accent, #E8A33D); border-color: transparent; }
.phwo-rishta-rail li.is-done .phwo-rail-ico { display: none; }
.phwo-rishta-rail li.is-done .phwo-rail-tick { display: block; }
.phwo-rishta-rail li.is-current .phwo-rail-no { border-color: var(--phwo-color-accent, #E8A33D); box-shadow: 0 0 0 3px rgba(232,163,61,.25); }
.phwo-rail-privacy { margin-top: auto; padding: .9rem; border-radius: 10px; background: rgba(255,255,255,.08); font-size: .82rem; line-height: 1.45; display: grid; gap: .3rem; }
.phwo-rail-privacy strong { color: var(--phwo-color-accent, #E8A33D); }
@media (max-width: 860px) {
	.phwo-rishta-rail { padding: .8rem; }
	.phwo-rishta-rail ol { grid-template-columns: repeat(8, 1fr); gap: .25rem; }
	.phwo-rishta-rail li { grid-template-columns: 1fr; justify-items: center; padding: .3rem 0; gap: .25rem; }
	.phwo-rail-label { font-size: .62rem; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
	.phwo-rail-no { width: 28px; height: 28px; font-size: .85rem; }
	.phwo-rail-privacy { display: none; }
}

/* panel */
.phwo-rishta-panel { padding: clamp(1rem, 3vw, 2rem); }
.phwo-rishta-topbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; font-size: .85rem; color: var(--phwo-muted, #6b7a80); }
.phwo-rishta-counter { font-weight: 600; color: var(--phwo-color-primary, #0D5C63); }
.phwo-rishta-savestate { opacity: 0; transition: opacity .3s; }
.phwo-rishta-savestate.is-on { opacity: 1; }
.phwo-rishta-savestate.is-on::before { content: "●"; color: var(--phwo-color-support, #2A9D8F); margin-right: .35rem; font-size: .7rem; }

.phwo-rishta-step { display: none; border: 0; padding: 0; margin: 0; min-width: 0; }
.phwo-rishta-step.is-active { display: block; animation: phwoRishtaIn .22s ease; }
@keyframes phwoRishtaIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.phwo-rishta-step legend { font-family: var(--phwo-font-head, Georgia, serif); font-size: 1.45rem; font-weight: 600; color: var(--phwo-color-ink, #14262B); padding: 0; margin: 0 0 .3rem; }
.phwo-step-intro { margin: 0 0 1.2rem; color: var(--phwo-muted, #6b7a80); }
.phwo-rishta-sub { margin: 1.5rem 0 .7rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--phwo-color-primary, #0D5C63); }
.phwo-rishta-note {
	margin: 0 0 1.1rem; padding: .8rem 1rem;
	background: var(--phwo-color-mist, #F5F8F8);
	border-left: 3px solid var(--phwo-color-primary, #0D5C63);
	border-radius: 8px; font-size: .93rem; line-height: 1.5;
}
[data-submitter].is-muted { display: none; }

/* fields */
.phwo-rishta-form .phwo-grid { display: grid; gap: 1rem 1.1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.phwo-rf { display: grid; gap: .35rem; margin: 0 0 1rem; min-width: 0; }
.phwo-grid > .phwo-rf { margin: 0; }
.phwo-rf-label { font-size: .86rem; font-weight: 600; color: var(--phwo-color-ink, #14262B); }
.phwo-rf-label em { color: #c0392b; font-style: normal; }
.phwo-rf input:not([type="file"]):not([type="checkbox"]), .phwo-rf textarea, .phwo-rf select {
	width: 100%; box-sizing: border-box;
	padding: .75rem .9rem; font: inherit; font-size: 1rem;
	border: 1px solid #cfd8db; border-radius: 10px; background: #fff; color: var(--phwo-color-ink, #14262B);
	transition: border-color .12s ease, box-shadow .12s ease;
}
.phwo-rf textarea { resize: vertical; min-height: 88px; }
.phwo-rf input:focus, .phwo-rf textarea:focus, .phwo-rf select:focus {
	outline: none; border-color: var(--phwo-color-primary, #0D5C63); box-shadow: 0 0 0 3px rgba(13,92,99,.14);
}
.phwo-rf-select { position: relative; }
.phwo-rf-select::after { content: ""; position: absolute; right: .95rem; top: 50%; width: .5rem; height: .5rem; border-right: 2px solid #6b7a80; border-bottom: 2px solid #6b7a80; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.phwo-rf select { appearance: none; -webkit-appearance: none; padding-right: 2.4rem; }
.phwo-rf-help { font-size: .82rem; color: var(--phwo-muted, #6b7a80); line-height: 1.45; }
.phwo-rf-error { display: none; font-size: .82rem; color: #b32d2e; font-weight: 600; }
.phwo-rf.is-invalid .phwo-rf-error:not(:empty) { display: block; }
.phwo-rf.is-invalid input, .phwo-rf.is-invalid textarea, .phwo-rf.is-invalid select { border-color: #c0392b; box-shadow: 0 0 0 3px rgba(192,57,43,.12); }
.phwo-rishta-inline { margin: 0 0 1rem; padding: .8rem 1rem; border-radius: 10px; background: #f8e3e3; color: #8a1f1f; font-weight: 600; }

/* dropzones */
.phwo-drop-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.phwo-drop-zone {
	position: relative; display: block; cursor: pointer;
	border: 2px dashed #cfd8db; border-radius: 12px; background: #fafcfc;
	min-height: 190px; overflow: hidden; transition: border-color .12s ease, background .12s ease;
}
.phwo-drop:hover .phwo-drop-zone, .phwo-drop.is-over .phwo-drop-zone { border-color: var(--phwo-color-primary, #0D5C63); background: #f2f8f8; }
.phwo-drop.has-file .phwo-drop-zone { border-style: solid; border-color: var(--phwo-color-support, #2A9D8F); background: #fff; }
.phwo-drop-zone input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.phwo-drop-idle { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: .4rem; text-align: center; padding: 1rem; }
.phwo-drop.has-file .phwo-drop-idle { display: none; }
.phwo-drop-icon { font-size: 1.8rem; }
.phwo-drop-text { display: grid; gap: .15rem; }
.phwo-drop-text strong { color: var(--phwo-color-primary, #0D5C63); }
.phwo-drop-text span { font-size: .8rem; color: var(--phwo-muted, #6b7a80); }
.phwo-drop-preview { position: absolute; inset: 0; display: block; }
.phwo-drop-preview img, .phwo-drop-preview video { width: 100%; height: 100%; object-fit: cover; display: block; }
.phwo-drop-name { position: absolute; left: 0; right: 0; bottom: 0; padding: .4rem .6rem; font-size: .75rem; background: rgba(20,38,43,.7); color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.phwo-drop-remove {
	position: absolute; top: .4rem; right: .4rem; width: 28px; height: 28px; border-radius: 50%;
	border: 0; background: rgba(20,38,43,.75); color: #fff; font-size: 1.1rem; line-height: 1; cursor: pointer; z-index: 2;
}
.phwo-drop.is-invalid .phwo-drop-zone { border-color: #c0392b; }

/* review */
.phwo-review { display: grid; gap: .8rem; margin: 0 0 1.4rem; }
.phwo-review-block { border: 1px solid var(--phwo-line, #dde5e6); border-radius: 10px; padding: .9rem 1rem; }
.phwo-review-head { display: flex; justify-content: space-between; align-items: center; gap: .6rem; margin-bottom: .5rem; }
.phwo-review-head strong { font-size: .95rem; }
.phwo-review-edit { border: 1px solid var(--phwo-line, #dde5e6); background: #fff; color: var(--phwo-color-primary, #0D5C63); font-weight: 600; font-size: .8rem; padding: .3rem .7rem; border-radius: 999px; cursor: pointer; }
.phwo-review-edit:hover { border-color: var(--phwo-color-primary, #0D5C63); }
.phwo-review dl { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: .3rem .8rem; margin: 0; font-size: .88rem; }
.phwo-review dt { color: var(--phwo-muted, #6b7a80); }
.phwo-review dd { margin: 0; color: var(--phwo-color-ink, #14262B); word-break: break-word; }
.phwo-review-empty { margin: 0; font-size: .85rem; color: var(--phwo-muted, #6b7a80); }

/* consents */
.phwo-rishta-consents { display: grid; gap: .7rem; }
.phwo-rishta-consents .phwo-check {
	display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start;
	padding: .85rem 1rem; border: 1px solid var(--phwo-line, #dde5e6); border-radius: 10px;
	line-height: 1.5; font-size: .93rem; cursor: pointer;
}
.phwo-rishta-consents .phwo-check:has(input:checked) { border-color: var(--phwo-color-support, #2A9D8F); background: #f3faf8; }
.phwo-rishta-consents .phwo-check.is-invalid { border-color: #c0392b; }
.phwo-rishta-consents input { margin-top: .3rem; width: 1.1rem; height: 1.1rem; accent-color: var(--phwo-color-primary, #0D5C63); }

/* nav */
.phwo-rishta-nav {
	display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap;
	margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--phwo-line, #dde5e6);
}
.phwo-rishta-nav-right { margin-left: auto; display: flex; gap: .6rem; }
.phwo-rishta-nav .phwo-btn-primary { min-width: 170px; }
.phwo-rishta-nav .phwo-btn-ghost { color: var(--phwo-color-primary, #0D5C63); }
.phwo-rishta-upload { margin-top: 1rem; }
.phwo-rishta-upload-bar { height: 8px; border-radius: 8px; background: var(--phwo-line, #dde5e6); overflow: hidden; }
.phwo-rishta-upload-bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--phwo-color-support, #2A9D8F), var(--phwo-color-accent, #E8A33D)); transition: width .25s ease; }
.phwo-rishta-upload p { margin: .5rem 0 0; font-size: .88rem; color: var(--phwo-color-primary, #0D5C63); font-weight: 600; }

/* ---- camera captures ---- */
.phwo-capture-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-top: 1rem; }
.phwo-capture {
	border: 1px solid var(--phwo-line, #dde5e6);
	border-radius: var(--phwo-radius, 12px);
	padding: 1rem;
	background: #fff;
	transition: border-color .15s ease;
}
.phwo-capture.is-done { border-color: var(--phwo-color-support, #2A9D8F); background: #f3faf8; }
.phwo-capture.is-invalid { border-color: #c0392b; }
.phwo-capture-head { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; margin-bottom: .2rem; }
.phwo-capture-state { font-size: .8rem; color: var(--phwo-muted, #6b7a80); font-weight: 600; }
.phwo-capture.is-done .phwo-capture-state { color: var(--phwo-color-support, #2A9D8F); }
.phwo-capture.is-recording .phwo-capture-state { color: #c0392b; }
.phwo-capture .phwo-help { display: block; margin: 0 0 .7rem; font-size: .85rem; color: var(--phwo-muted, #6b7a80); line-height: 1.45; }

.phwo-capture-stage {
	position: relative;
	aspect-ratio: 4 / 3;
	background: #0f1d20;
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: .7rem;
}
.phwo-capture-stage > video, .phwo-capture-stage > img, .phwo-capture-stage > canvas {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.phwo-capture[data-facing="user"] .phwo-capture-video { transform: scaleX(-1); }
.phwo-capture-frame {
	position: absolute; inset: 8%;
	border: 2px dashed rgba(255,255,255,.55);
	border-radius: 10px;
	pointer-events: none;
}
.phwo-capture[data-facing="user"] .phwo-capture-frame { inset: 10% 22%; border-radius: 50% / 40%; }
.phwo-capture.is-done .phwo-capture-frame { display: none; }
.phwo-capture.is-recording .phwo-capture-stage::after {
	content: "● REC"; position: absolute; top: .6rem; left: .7rem;
	color: #fff; background: #c0392b; padding: .2rem .5rem; border-radius: 6px;
	font-size: .75rem; font-weight: 700; letter-spacing: .05em;
}
.phwo-capture-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.phwo-capture-actions .phwo-btn { padding: .6rem 1rem; font-size: .92rem; }
.phwo-capture-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.phwo-capture-input.is-visible { position: static; width: auto; height: auto; opacity: 1; pointer-events: auto; margin-top: .6rem; }

.phwo-rishta-challenge {
	margin-top: 1rem; padding: 1rem 1.2rem;
	background: #fffaf1; border: 1px solid rgba(232,163,61,.6); border-radius: 10px;
	display: grid; gap: .25rem;
}
.phwo-rishta-challenge span { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--phwo-muted, #6b7a80); }
.phwo-rishta-challenge strong { font-size: 1.1rem; color: var(--phwo-color-ink, #14262B); line-height: 1.4; }

/* ---- done ---- */
.phwo-rishta-done {
	margin: 0 0 2rem; padding: 2rem;
	text-align: center;
	background: #f3faf8;
	border: 1px solid var(--phwo-color-support, #2A9D8F);
	border-radius: calc(var(--phwo-radius, 12px) * 1.4);
	scroll-margin-top: 90px;
}
.phwo-rishta-done-icon {
	width: 3.2rem; height: 3.2rem; margin: 0 auto 1rem;
	display: grid; place-items: center; border-radius: 50%;
	background: var(--phwo-color-support, #2A9D8F); color: #fff; font-size: 1.6rem; font-weight: 700;
}
.phwo-rishta-done h2 { margin: 0 0 .5rem; font-family: var(--phwo-font-head, Georgia, serif); }
.phwo-rishta-ref { font-size: 1.1rem; }
.phwo-rishta-ref strong { letter-spacing: .05em; }

@media (max-width: 640px) {
	.phwo-rishta-progress { grid-template-columns: repeat(4, 1fr); }
	.phwo-rishta-nav .phwo-btn-primary { min-width: 0; flex: 1; }
	.phwo-rishta-counter { width: 100%; order: -1; margin-left: 0; }
}

/* The theme gives ordinary pages a reading-width column; this page is an
   application and needs the full width, like the zakat calculator does. */
.phwo-rishta-page .phwo-container.is-narrow { max-width: var(--phwo-col-page, 1280px); }
.phwo-rishta-page .phwo-prose { max-width: none; }

/* capture: idle placeholder + live ring */
.phwo-capture-idle { position: absolute; inset: 0; display: grid; place-items: center; font-size: 2rem; color: rgba(255,255,255,.45); }
.phwo-capture.is-live .phwo-capture-frame { border-color: var(--phwo-color-accent, #E8A33D); }
.phwo-capture .phwo-rf-help { display: block; margin: 0 0 .7rem; }

/* ---- fixes: hidden must beat display:inline-flex / display:grid ---- */
.phwo-rishta-form [hidden], .phwo-rishta-page [hidden] { display: none !important; }
.phwo-rishta-form [data-submitter].is-muted { display: none !important; }

/* The hero IS the page header on this page; the theme's masthead above it
   only repeated the title and pushed the banner below the fold. */
.phwo-rishta-page .phwo-page-head { display: none; }
.phwo-rishta-page .phwo-rishta-hero { margin-top: .5rem; }

/* ---- hero urdu line ---- */
.phwo-rishta-urdu { margin: -.4rem 0 1rem; font-size: 1.15rem; color: var(--phwo-color-accent, #E8A33D); font-weight: 600; text-align: left; direction: rtl; unicode-bidi: isolate; display: inline-block; }

/* ---- nikah assistance strip ---- */
.phwo-rishta-assist {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: center;
	margin: 0 0 2.5rem; padding: clamp(1.4rem, 3vw, 2.2rem);
	border-radius: calc(var(--phwo-radius, 12px) * 1.4);
	background: linear-gradient(135deg, #fff8ea 0%, #fff 100%);
	border: 1px solid rgba(232,163,61,.55);
}
.phwo-rishta-assist h2 { margin: .3rem 0 .6rem; font-family: var(--phwo-font-head, Georgia, serif); font-size: clamp(1.3rem, 2.4vw, 1.7rem); line-height: 1.25; }
.phwo-rishta-assist p:last-child { margin: 0; color: var(--phwo-muted, #6b7a80); line-height: 1.6; }
.phwo-rishta-kicker.is-dark { background: rgba(13,92,99,.08); border-color: rgba(13,92,99,.25); color: var(--phwo-color-primary, #0D5C63); margin-bottom: 0; }
@media (max-width: 720px) { .phwo-rishta-assist { grid-template-columns: 1fr; } }

/* ---- faq ---- */
.phwo-rishta-faq { margin: 0 0 3rem; }
.phwo-rishta-faq h2 { font-family: var(--phwo-font-head, Georgia, serif); font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0 0 1.2rem; }
.phwo-rishta-faq-grid { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.phwo-rishta-faq-item { border: 1px solid var(--phwo-line, #dde5e6); border-radius: 12px; background: #fff; padding: 0 1.1rem; transition: border-color .12s ease; }
.phwo-rishta-faq-item[open] { border-color: var(--phwo-color-primary, #0D5C63); }
.phwo-rishta-faq-item summary { cursor: pointer; padding: .95rem 0; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.phwo-rishta-faq-item summary::-webkit-details-marker { display: none; }
.phwo-rishta-faq-item summary::after { content: "+"; font-size: 1.3rem; line-height: 1; color: var(--phwo-color-primary, #0D5C63); flex: 0 0 auto; }
.phwo-rishta-faq-item[open] summary::after { content: "–"; }
.phwo-rishta-faq-item p { margin: 0 0 1rem; color: var(--phwo-muted, #6b7a80); line-height: 1.6; font-size: .95rem; }
/* ---- our role and its limits ---- */
.phwo-rishta-role { margin: 0 0 3rem; }
.phwo-rishta-role h2 { font-family: var(--phwo-font-head, Georgia, serif); font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0 0 1.2rem; }
.phwo-rishta-role-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.phwo-rishta-role-card { padding: 1.3rem 1.4rem; border-radius: var(--phwo-radius, 12px); border: 1px solid var(--phwo-line, #dde5e6); background: #fff; }
.phwo-rishta-role-card.is-do { border-top: 4px solid var(--phwo-color-support, #2A9D8F); }
.phwo-rishta-role-card.is-dont { border-top: 4px solid var(--phwo-color-accent, #E8A33D); }
.phwo-rishta-role-card h3 { margin: 0 0 .7rem; font-size: 1.05rem; }
.phwo-rishta-role-card ul { margin: 0; padding-left: 1.2rem; }
.phwo-rishta-role-card li { margin: .45rem 0; line-height: 1.55; }
.phwo-rishta-role-note { margin: 1rem 0 0; padding: .9rem 1.1rem; border-radius: 10px; background: var(--phwo-color-mist, #F5F8F8); font-size: .92rem; line-height: 1.6; color: var(--phwo-color-ink, #14262B); }
.phwo-rishta-role-note a { color: var(--phwo-color-primary, #0D5C63); font-weight: 600; }
/* The theme builds an "On this page" rail from the H2s and narrows the body
   to a reading column. This page is an application, not an article: no rail,
   full width. */
.phwo-rishta-page .phwo-reg-layout { display: block; }
.phwo-rishta-page .phwo-reg-rail { display: none; }
.phwo-rishta-page .phwo-reg-body, .phwo-rishta-page .phwo-doc, .phwo-rishta-page .phwo-prose { max-width: none; }
.phwo-rishta-page .phwo-rishta-register { margin: 0 0 3rem; }

/* ---- completion meter ---- */
.phwo-rishta-meter { margin: -.4rem 0 1.2rem; }
.phwo-rishta-meter-head { display: flex; justify-content: space-between; gap: 1rem; font-size: .82rem; color: var(--phwo-muted, #6b7a80); margin-bottom: .4rem; }
.phwo-rishta-meter-head strong { color: var(--phwo-color-ink, #14262B); }
.phwo-rishta-meter-req strong { color: var(--phwo-color-primary, #0D5C63); }
.phwo-rishta-meter-bar { height: 8px; border-radius: 8px; background: var(--phwo-line, #dde5e6); overflow: hidden; }
.phwo-rishta-meter-bar span { display: block; height: 100%; width: 0; border-radius: 8px; background: linear-gradient(90deg, var(--phwo-color-primary, #0D5C63), var(--phwo-color-support, #2A9D8F)); transition: width .3s ease; }
.phwo-rishta-meter.is-complete .phwo-rishta-meter-bar span { background: linear-gradient(90deg, var(--phwo-color-support, #2A9D8F), var(--phwo-color-accent, #E8A33D)); }
/* the theme centres forms inside articles at reading width; this one is the page */
.phwo-rishta-page .phwo-rishta-form, .phwo-rishta-page .phwo-rishta-register { max-width: none; width: 100%; margin-left: 0; margin-right: 0; }

.phwo-btn-small { padding: .45rem .8rem; font-size: .84rem; }
.phwo-capture-actions { align-items: center; }
.phwo-capture-actions .phwo-btn-ghost { color: var(--phwo-color-primary, #0D5C63); border-color: rgba(13,92,99,.35); }
.phwo-rishta-inline.is-info { background: #e2f4f0; color: #14665b; }
.phwo-rishta-nav [data-save-later] { margin-right: auto; }

/* ---- focus mode: only the form ---- */
.phwo-rishta-focus .phwo-rishta-hero,
.phwo-rishta-focus .phwo-rishta-promises,
.phwo-rishta-focus .phwo-rishta-how,
.phwo-rishta-focus .phwo-rishta-elig,
.phwo-rishta-focus .phwo-rishta-assist,
.phwo-rishta-focus .phwo-rishta-role,
.phwo-rishta-focus .phwo-rishta-faq,
.phwo-rishta-focus .phwo-rishta-register-head p,
.phwo-rishta-focus .phwo-reviewed,
.phwo-rishta-focus .phwo-stickybar { display: none !important; }
.phwo-rishta-focus .phwo-rishta-register { margin-top: .5rem; }
.phwo-rishta-focus .phwo-rishta-register-head h2 { font-size: 1.3rem; margin-bottom: .8rem; }
.phwo-rishta-focusbar {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
	margin: 0 0 1rem; padding: .7rem 1rem;
	background: var(--phwo-color-mist, #F5F8F8); border: 1px solid var(--phwo-line, #dde5e6); border-radius: 10px;
	font-size: .88rem; color: var(--phwo-muted, #6b7a80);
}
.phwo-rishta-focusbar strong { color: var(--phwo-color-primary, #0D5C63); }
.phwo-rishta-focusbar .phwo-btn-ghost { color: var(--phwo-color-primary, #0D5C63); border-color: rgba(13,92,99,.35); }.phwo-rishta-nav [data-save-later], .phwo-rishta-nav [data-prev], .phwo-rishta-focusbar [data-focus-exit], .phwo-capture-actions .phwo-btn-ghost, .phwo-rishta-resume .phwo-btn-ghost {
	background: transparent !important; color: var(--phwo-color-primary, #0D5C63) !important;
	border: 1px solid rgba(13,92,99,.4) !important; box-shadow: none !important;
}
.phwo-rishta-nav [data-save-later]:hover, .phwo-rishta-nav [data-prev]:hover { background: rgba(13,92,99,.06) !important; }

/* ---- register head ---- */
.phwo-rishta-register-head { margin: 0 0 1.4rem; }
.phwo-rishta-register-head .phwo-rishta-kicker.is-dark { margin-bottom: .6rem; }
.phwo-rishta-register-head h2 { margin: 0 0 .5rem; }
.phwo-rishta-register-lead { margin: 0 0 1.2rem; color: var(--phwo-muted, #6b7a80); font-size: 1.05rem; max-width: 720px; }
.phwo-rishta-prep {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.phwo-rishta-prep li {
	display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: .8rem; row-gap: .15rem; align-items: center;
	padding: .9rem 1rem; background: #fff; border: 1px solid var(--phwo-line, #dde5e6); border-radius: 12px;
	box-shadow: 0 1px 2px rgba(20,38,43,.04);
}
.phwo-rishta-prep-ico {
	grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 12px;
	display: grid; place-items: center; color: var(--phwo-color-primary, #0D5C63);
	background: linear-gradient(135deg, rgba(13,92,99,.10), rgba(232,163,61,.14));
}
.phwo-rishta-prep li strong { font-size: .95rem; color: var(--phwo-color-ink, #14262B); }
.phwo-rishta-prep li span:last-child { font-size: .82rem; color: var(--phwo-muted, #6b7a80); line-height: 1.4; }
.phwo-rishta-focus .phwo-rishta-prep, .phwo-rishta-focus .phwo-rishta-register-lead, .phwo-rishta-focus .phwo-rishta-register-head .phwo-rishta-kicker { display: none !important; }
/* donations.css (loaded wherever a donation shortcode renders) restyles the
   generic .phwo-btn with an undefined variable, which blanks our buttons.
   Re-assert ours with a scoped selector so both plugins keep their look. */
.phwo-rishta-page .phwo-btn { display: inline-flex; width: auto; padding: .8rem 1.4rem; border-radius: 10px; border: 1px solid transparent; font-size: 1rem; line-height: 1.2; background: transparent; color: inherit; }
.phwo-rishta-page .phwo-btn-primary { background: var(--phwo-color-accent, #E8A33D); color: #14262B; }
.phwo-rishta-page .phwo-btn-ghost { background: transparent; border-color: currentColor; }
.phwo-rishta-page .phwo-rishta-hero .phwo-btn-ghost { color: #fff; }
.phwo-rishta-page .phwo-rishta-resume .phwo-btn { padding: .55rem 1rem; font-size: .92rem; }
.phwo-rishta-page .phwo-rishta-resume .phwo-btn-ghost { color: var(--phwo-color-primary, #0D5C63); }
.phwo-rishta-page .phwo-btn-small { padding: .55rem 1rem; font-size: .9rem; }
@media (max-width: 640px) {
	.phwo-rishta-page .phwo-rishta-hero-cta .phwo-btn { flex: 1 1 45%; }
	.phwo-rishta-page .phwo-rishta-nav { display: flex; flex-wrap: wrap; gap: .6rem; }
	.phwo-rishta-page .phwo-rishta-nav .phwo-btn { flex: 1 1 45%; }
	.phwo-rishta-page .phwo-rishta-nav [data-save-later] { flex-basis: 100%; order: 3; margin-right: 0; }
}
.phwo-rishta-page .phwo-prose .phwo-btn, .phwo-rishta-page .phwo-btn { text-decoration: none; }
@media (max-width: 640px) {
	.phwo-rishta-page .phwo-rishta-hero-cta { flex-direction: column; gap: .6rem; }
	.phwo-rishta-page .phwo-rishta-hero-cta .phwo-btn { flex: none; width: 100%; }
	.phwo-rishta-page .phwo-rishta-hero-proof { margin-top: 1.4rem; }
	.phwo-rishta-page .phwo-rishta-hero .phwo-rishta-kicker { font-size: .68rem; letter-spacing: .08em; }
}
@media (max-width: 640px) {
	.phwo-rishta-page .phwo-rishta-nav .phwo-btn-primary { flex: 1 1 auto; margin-left: 0; }
	.phwo-rishta-page .phwo-rishta-nav [data-prev] { flex: 0 1 40%; }
}

/* breathing room between the hero buttons and the proof line */
.phwo-rishta-hero-cta { margin-top: 1.6rem; }
.phwo-rishta-hero-proof { margin-top: 1.6rem !important; gap: .7rem 1.6rem; }
