/* Phase 10 — Partner Platform styles.
 * Reuses tokens defined by the Seraj design system (theme.css).
 */
.seraj-partner { padding: 3rem 0 4rem; }
.seraj-partner__grid { display: grid; grid-template-columns: 260px 1fr; gap: 2rem; }
@media (max-width: 800px) { .seraj-partner__grid { grid-template-columns: 1fr; } }

.seraj-partner__nav { position: sticky; top: 5rem; align-self: start; border: 1px solid var(--seraj-border,#e5e5e5); border-radius: 14px; padding: 1.25rem; background: var(--seraj-surface,#fff); }
.seraj-partner__user { display: flex; gap: .75rem; align-items: center; margin-bottom: 1rem; }
.seraj-partner__user img { border-radius: 999px; }
.seraj-partner__nav ul { list-style: none; padding: 0; margin: 0; }
.seraj-partner__nav li a { display: block; padding: .55rem .75rem; border-radius: 10px; color: inherit; text-decoration: none; font-weight: 500; }
.seraj-partner__nav li a:hover, .seraj-partner__nav li a.is-active { background: var(--seraj-accent-soft,#f0efe9); }

.seraj-partner__main { min-width: 0; }
.seraj-partner__header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 1.25rem; }
.seraj-partner__header h1 { font-family: var(--seraj-font-display, Fraunces, serif); font-size: 2rem; margin: 0; }

.seraj-partner__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1rem; margin: 1rem 0 2rem; }
.seraj-partner__card { padding: 1rem 1.1rem; border: 1px solid var(--seraj-border,#e5e5e5); border-radius: 14px; background: var(--seraj-surface,#fff); }
.seraj-partner__card span { display: block; color: var(--seraj-muted,#666); font-size: .82rem; }
.seraj-partner__card strong { display: block; font-size: 1.6rem; font-family: var(--seraj-font-display, Fraunces, serif); margin-top: .25rem; }

.seraj-partner__table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.seraj-partner__table th, .seraj-partner__table td { text-align: left; padding: .75rem .5rem; border-bottom: 1px solid var(--seraj-border,#eee); vertical-align: top; font-size: .95rem; }
.seraj-partner__table th { font-weight: 600; color: var(--seraj-muted,#555); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }

.seraj-partner__form { display: grid; gap: 1rem; max-width: 720px; }
.seraj-partner__form label { display: grid; gap: .35rem; font-weight: 500; font-size: .9rem; }
.seraj-partner__form input, .seraj-partner__form textarea, .seraj-partner__form select { width: 100%; padding: .6rem .75rem; border: 1px solid var(--seraj-border,#ddd); border-radius: 10px; font: inherit; }
.seraj-partner__form textarea { resize: vertical; }
.seraj-field-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }

.seraj-partner__filters { display: flex; gap: .75rem; margin-bottom: 1rem; flex-wrap: wrap; align-items: center; }

.seraj-partner__badges { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.seraj-partner__badge { display: inline-flex; padding: .25rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 600; background: var(--seraj-accent-soft,#f0efe9); color: var(--seraj-accent,#8a6d3b); }
.seraj-partner__badge--verified { background: #e6f6ea; color: #167030; }
.seraj-partner__badge--pending { background: #fff5d9; color: #7a5c00; }
.seraj-partner__badge--rejected, .seraj-partner__badge--suspended { background: #fde5e5; color: #8a1c1c; }

.seraj-partner__plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.seraj-partner__plan { border: 1px solid var(--seraj-border,#e5e5e5); border-radius: 14px; padding: 1.25rem; background: var(--seraj-surface,#fff); }
.seraj-partner__price { font-size: 1.6rem; font-family: var(--seraj-font-display, Fraunces, serif); }

/* Claim block — matches the sitewide card/enquiry styling. */
.seraj-claim-section { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.seraj-claim {
	background: var(--seraj-surface, #fff);
	border: 1px solid var(--seraj-border, rgba(20,20,19,.08));
	border-radius: var(--seraj-radius-lg, 22px);
	padding: clamp(1.35rem, 4vw, 2.5rem);
	box-shadow: 0 24px 60px -48px rgba(0,0,0,.55);
	max-width: 780px;
}
.seraj-claim__head { margin-bottom: 1.5rem; }
.seraj-claim__eyebrow {
	display: inline-block; text-transform: uppercase; letter-spacing: .15em;
	font-size: .7rem; font-weight: 700; color: var(--seraj-accent, #a67043); margin-bottom: .6rem;
}
.seraj-claim__title {
	font-family: var(--seraj-font-display, Fraunces, serif);
	font-size: clamp(1.5rem, 4vw, 2.1rem); line-height: 1.15; margin: 0 0 .6rem;
	overflow-wrap: anywhere;
}
.seraj-claim__lede { margin: 0; color: var(--seraj-muted, #5c5a55); font-size: 1rem; line-height: 1.6; }

.seraj-claim__form { display: grid; gap: 1rem; }
.seraj-claim__form label { display: grid; gap: .35rem; font-size: .85rem; font-weight: 600; color: var(--seraj-text, #141413); }
.seraj-claim__form input,
.seraj-claim__form textarea {
	width: 100%; max-width: 100%; box-sizing: border-box;
	padding: .7rem .85rem; font: inherit; font-weight: 400;
	color: var(--seraj-text, #141413);
	background: var(--seraj-bg, #f7f5ef);
	border: 1px solid var(--seraj-border, rgba(20,20,19,.12));
	border-radius: 10px;
}
.seraj-claim__form textarea { resize: vertical; }
.seraj-claim__form input:focus-visible,
.seraj-claim__form textarea:focus-visible {
	outline: 2px solid var(--seraj-primary, #2f5d3a); outline-offset: 1px;
	background: var(--seraj-surface, #fff);
}
.seraj-claim__legal { font-size: .8rem; color: var(--seraj-muted, #5c5a55); margin: -.25rem 0 0; }
.seraj-claim__actions { margin-top: .35rem; }
.seraj-claim__form button[disabled] { opacity: .6; cursor: progress; }

/* Alerts (shared by claim + partner surfaces). */
.seraj-alert { padding: .75rem 1rem; border-radius: 12px; margin: 0; }
.seraj-alert--ok { background: #e6f2ea; color: #1e4b2c; }
.seraj-alert--err { background: #fdecec; color: #8b1e1e; }

/* Claim form — spam guards + confirmation UI */
.seraj-hp-wrap { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.seraj-claim__notice { display: grid; gap: .25rem; margin: 0 0 1.25rem; padding: 1rem 1.15rem; border-radius: 12px; }
.seraj-claim__notice strong { font-size: 1rem; }
.seraj-claim__notice span { font-size: .92rem; opacity: .9; }
.seraj-claim__notice:focus { outline: 2px solid currentColor; outline-offset: 2px; }


/* Ad slots */
.seraj-ad { position: relative; margin: 1.5rem 0; border-radius: 14px; overflow: hidden; }
.seraj-ad img { display: block; width: 100%; height: auto; }
.seraj-ad__label { position: absolute; top: .5rem; right: .5rem; background: rgba(0,0,0,.6); color: #fff; font-size: .68rem; letter-spacing: .04em; padding: .18rem .5rem; border-radius: 999px; text-transform: uppercase; }
