/* Heritage theme (Design A) — components for rewritten inner pages (login, register, search, ...).
   Scoped under body.jr-site; loaded after jr-legacy.css. */

.jr-site .jr-main { max-width: 1280px; margin: 0 auto; padding: 40px 32px 80px; }
.jr-site .jr-main *, .jr-site .jr-main *::before, .jr-site .jr-main *::after { box-sizing: border-box; }
.jr-site .jr-dsp { font-family: var(--jr-serif) !important; font-weight: 600; letter-spacing: -0.01em; color: var(--jr-ink); margin: 0; }
.jr-site .jr-mu { color: var(--jr-muted); }
.jr-site .jr-card { background: var(--jr-paper); border: 1px solid var(--jr-line); border-radius: var(--jr-radius); }
.jr-site .jr-page-head { margin-bottom: 24px; }
.jr-site .jr-page-head h1 { font-size: 44px; line-height: 1.05; }
.jr-site .jr-page-head p { margin: 4px 0 0; }

/* Labels and fields */
.jr-site .jr-lbl { display: block; font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--jr-muted); margin: 0 0 6px; }
.jr-site .jr-field { margin-bottom: 18px; position: relative; }
.jr-site .jr-main input[type=text], .jr-site .jr-main input[type=email], .jr-site .jr-main input[type=password],
.jr-site .jr-main input[type=number], .jr-site .jr-main input[type=tel], .jr-site .jr-main select {
	display: block; width: 100%; height: 48px !important; min-height: 48px; padding: 0 14px !important; margin: 0;
	font-size: 16px !important; line-height: normal;
}
.jr-site .jr-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.jr-site .jr-row > .jr-field { margin-bottom: 0; }
.jr-site .jr-inline { display: flex; gap: 10px; align-items: center; }
.jr-site .jr-inline > select { flex: 0 0 104px; width: 104px; }
.jr-site .jr-inline > input { flex: 1; min-width: 0; }
.jr-site .jr-eye { position: absolute !important; right: 14px !important; left: auto !important; top: auto !important; bottom: 15px !important; margin: 0 !important; color: var(--jr-muted); cursor: pointer; }
.jr-site .jr-check { display: inline-flex; gap: 8px; align-items: center; font-size: 15px; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--jr-ink); margin: 0; cursor: pointer; }
.jr-site .jr-check input { width: 18px; height: 18px; margin: 0; }

/* Buttons (inner pages) */
.jr-site .jr-btn-block { width: 100%; }
.jr-site .jr-divider { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: var(--jr-muted); font-size: 14px; }
.jr-site .jr-divider::before, .jr-site .jr-divider::after { content: ''; flex: 1; height: 1px; background: var(--jr-line); }

/* Messages */
.jr-site .jr-main .alert { margin: 0 0 16px; font-size: 15px; }

/* Auth pages (login, forgot password, verify) */
.jr-site .jr-auth { max-width: 520px; margin: 0 auto; }
.jr-site .jr-auth-card { padding: 32px 36px; }
.jr-site .jr-auth-card h1 { font-size: 34px; margin-bottom: 6px; }
.jr-site .jr-auth-card > .jr-mu { margin: 0 0 22px; }
.jr-site .jr-auth-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: -4px 0 22px; font-size: 15px; flex-wrap: wrap; }
.jr-site .jr-auth-foot { text-align: center; margin-top: 22px; font-size: 15px; color: var(--jr-muted); }
.jr-site .jr-auth-foot a { font-weight: 700; }
.jr-site .jr-captcha { display: flex; gap: 10px; align-items: center; }
.jr-site .jr-captcha-img { flex: none; display: flex; align-items: center; }
.jr-site .jr-captcha-img img { height: 48px; border-radius: 10px; display: block; }
.jr-site .jr-captcha-refresh { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--jr-field); background: transparent; color: var(--jr-maroon); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.jr-site .jr-captcha input { flex: 1; min-width: 0; }
.jr-site .jr-otp-boxes { display: flex; gap: 10px; justify-content: center; margin: 8px 0 20px; }
.jr-site .jr-main .jr-otp-boxes input { width: 52px; height: 56px !important; padding: 0 !important; text-align: center; font-size: 22px !important; font-weight: 600; }
.jr-site .jr-timer { text-align: center; color: var(--jr-muted); font-size: 14px; margin-top: 12px; }
.jr-site .jr-link-btn { background: none; border: 0; padding: 0; color: var(--jr-maroon); font-weight: 600; cursor: pointer; font-size: 15px; }
.jr-site .jr-link-btn:hover { text-decoration: underline; }


/* Validation messages (jquery.validate) */
.jr-site .jr-main label.jr-error, .jr-site .jr-main span.jr-error { display: block; margin: 6px 0 0; font-size: 13px; font-weight: 500; color: #A1261B; text-transform: none; letter-spacing: 0; }
.jr-site .jr-main input.jr-error, .jr-site .jr-main select.jr-error { border-color: #A1261B !important; }

/* Segmented choice (gender etc.) */
.jr-site .jr-seg { display: flex; gap: 8px; }
.jr-site .jr-seg label { flex: 1; margin: 0; cursor: pointer; }
.jr-site .jr-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.jr-site .jr-seg span { display: flex; align-items: center; justify-content: center; min-height: 48px; border: 1px solid var(--jr-field); border-radius: 999px; font-weight: 600; color: var(--jr-muted); background: var(--jr-paper); }
.jr-site .jr-seg input:checked + span { background: var(--jr-maroon); border-color: var(--jr-maroon); color: var(--jr-paper); }
.jr-site .jr-seg input:focus-visible + span { outline: 3px solid var(--jr-gold-soft); outline-offset: 2px; }

/* Date of birth picker (common_model->birth_date_picker markup) */
.jr-site .jr-dob { display: grid; grid-template-columns: 1fr 1.2fr 1.1fr; gap: 10px; }
.jr-site .jr-dob > div { width: auto !important; padding: 0 !important; float: none !important; }

/* Registration */
.jr-site .jr-reg-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; max-width: 1200px; margin: 16px auto 0; }
.jr-site .jr-reg-card { padding: 44px; border-radius: 24px; }
.jr-site .jr-reg-title { font-size: 46px; line-height: 1.05; margin-bottom: 8px; }
.jr-site .jr-reg-sub { margin: 0 0 28px; }
.jr-site .jr-reg-group { font-size: 26px; margin: 30px 0 16px; }
.jr-site .jr-reg-terms { margin-top: 22px; }
.jr-site .jr-reg-actions { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-top: 28px; }
.jr-site .jr-reg-aside { padding-top: 12px; }
.jr-site .jr-reg-aside h2 { font-size: 36px; line-height: 1.1; margin-bottom: 24px; }
.jr-site .jr-gold-rule { width: 56px; height: 2px; background: var(--jr-gold); margin-bottom: 16px; }
.jr-site .jr-diamond-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.jr-site .jr-diamond-list li { position: relative; padding-left: 26px; }
.jr-site .jr-diamond-list li::before { content: ''; position: absolute; left: 0; top: 9px; width: 10px; height: 10px; background: var(--jr-gold); transform: rotate(45deg); }
.jr-site .jr-diamond-list strong { display: block; font-weight: 600; }
.jr-site .jr-diamond-list span { font-size: 15px; }

/* Registration progress */
.jr-site .jr-steps { display: flex; align-items: center; gap: 12px; list-style: none; margin: 0 0 28px; padding: 0; flex-wrap: wrap; }
.jr-site .jr-steps li { display: flex; align-items: center; gap: 10px; color: var(--jr-muted); }
.jr-site .jr-steps li + li::before { content: ''; width: 40px; height: 1px; background: var(--jr-field); margin-right: 2px; }
.jr-site .jr-step-num { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--jr-field); display: inline-flex; align-items: center; justify-content: center; font-weight: 600; }
.jr-site .jr-steps li.is-current, .jr-site .jr-steps li.is-done { color: var(--jr-ink); font-weight: 600; }
.jr-site .jr-steps li.is-current .jr-step-num, .jr-site .jr-steps li.is-done .jr-step-num { background: var(--jr-maroon); border-color: var(--jr-maroon); color: var(--jr-paper); }

@media (max-width: 991px) {
	.jr-site .jr-reg-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 820px) {
	.jr-site .jr-reg-card { padding: 22px 18px; }
	.jr-site .jr-reg-title { font-size: 36px; }
	.jr-site .jr-steps li + li::before { width: 16px; }
	.jr-site .jr-step-label { font-size: 14px; }
}


/* Registration step 2 */
.jr-site .jr-reg-head { max-width: 760px; margin: 0 auto 24px; }
.jr-site .jr-reg-narrow { max-width: 760px; margin: 0 auto; }
.jr-site .jr-substeps { display: flex; gap: 8px; list-style: none; margin: -8px 0 22px; padding: 0; flex-wrap: wrap; }
.jr-site .jr-substeps li { flex: 1 1 0; min-width: 110px; padding-top: 10px; border-top: 3px solid var(--jr-line); font-size: 13px; font-weight: 600; color: var(--jr-muted); }
.jr-site .jr-substeps li.activeStep { border-top-color: var(--jr-maroon); color: var(--jr-ink); }
.jr-site .jr-substeps li.completedStep { border-top-color: var(--jr-gold); color: var(--jr-ink); }
.jr-site .jr-reg-part-title { font-size: 28px; margin: 0 0 18px; }
.jr-site .jr-reg-part-title + .row, .jr-site .jr-reg-card .row + .jr-reg-part-title { margin-top: 0; }
.jr-site .jr-reg-card .row + .jr-reg-part-title { margin-top: 28px; }
.jr-site .jr-reg-actions-split { justify-content: space-between; }

/* Fields from common_front_model->generate_common_front_form() */
.jr-site .jr-gen-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin: 0; }
.jr-site .jr-gen-row::before, .jr-site .jr-gen-row::after { display: none; }
.jr-site .jr-gen-row > div { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.jr-site .jr-gen-row > div > label:first-child { display: block; font-family: var(--jr-sans) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .04em; text-transform: uppercase; color: var(--jr-muted) !important; margin: 0 0 6px; }
.jr-site .jr-gen-row .select2-lbl-span, .jr-site .jr-gen-row label .color-d { color: var(--jr-maroon) !important; font-size: 13px !important; }
.jr-site .jr-gen-row .select2-container { width: 100% !important; }
.jr-site .select2-container--default .select2-selection--multiple { padding: 4px 8px; }
.jr-site .select2-container--default .select2-selection--multiple .select2-selection__choice { background: var(--jr-chip); border: 0; border-radius: 999px; color: var(--jr-ink); padding: 2px 10px; }
.jr-site .chosen-container .chosen-choices li.search-choice { background: var(--jr-chip); border: 0; border-radius: 999px; box-shadow: none; color: var(--jr-ink); }

.jr-site .jr-textarea { display: block; width: 100%; min-height: 120px; padding: 12px 14px !important; resize: vertical; line-height: 1.5; }
.jr-site .jr-help { margin: 8px 0 0; font-size: 14px; }

/* Photo */
.jr-site .jr-photo-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; align-items: start; margin-top: 18px; }
.jr-site .jr-photo-preview img { width: 220px; height: 260px; object-fit: cover; border-radius: var(--jr-radius); border: 1px solid var(--jr-line); background: var(--jr-chip); display: block; }
.jr-site .jr-photo-preview p { margin: 8px 0 0; font-size: 14px; text-align: center; }
.jr-site .jr-notes { margin: 18px 0 0; padding-left: 18px; color: var(--jr-muted); font-size: 14px; }
.jr-site .jr-crop-tools { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.jr-site .jr-crop-tools .jr-btn { min-height: 40px; padding: 6px 16px; font-size: 14px; }
.jr-site .upload-wapper { position: relative; overflow: hidden; background: transparent !important; }
.jr-site .upload-wapper input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

@media (max-width: 820px) {
	.jr-site .jr-gen-row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.jr-site .jr-photo-grid { grid-template-columns: minmax(0, 1fr); }
	.jr-site .jr-photo-preview img { margin: 0 auto; }
}


/* Registration step 3 + success */
.jr-site .jr-range { display: flex; align-items: center; gap: 10px; }
.jr-site .jr-range select { flex: 1; min-width: 0; }
.jr-site .jr-range .select2-container { flex: 1; width: auto !important; min-width: 0; }
.jr-site .jr-gen-full { grid-template-columns: minmax(0, 1fr); margin-top: 18px; }
.jr-site .jr-gen-row textarea { display: block; width: 100%; min-height: 110px; padding: 12px 14px !important; }
.jr-site .jr-done-mark { width: 56px; height: 56px; border-radius: 50%; background: var(--jr-maroon); color: var(--jr-paper); display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 18px; }
.jr-site .jr-next-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.jr-site .jr-next-card { display: flex; flex-direction: column; gap: 8px; padding: 22px; border: 1px solid var(--jr-line); border-radius: var(--jr-radius); background: var(--jr-cream); color: var(--jr-ink) !important; text-decoration: none !important; }
.jr-site .jr-next-card:hover { border-color: var(--jr-maroon); }
.jr-site .jr-next-card strong { font-size: 24px; }
.jr-site .jr-next-card span.jr-mu { font-size: 15px; flex: 1; }
.jr-site .jr-next-card .jr-btn { align-self: flex-start; margin-top: 6px; }
.jr-site .jr-featured-aside { min-width: 0; }

@media (max-width: 820px) {
	.jr-site .jr-next-grid { grid-template-columns: minmax(0, 1fr); }
}


/* Search pages (quick / advance / keyword / ID) */
.jr-site .jr-tabs-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.jr-site .jr-pill { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--jr-line); background: var(--jr-paper); color: var(--jr-ink) !important; font-weight: 600; font-size: 15px; white-space: nowrap; text-decoration: none !important; }
.jr-site .jr-pill:hover { border-color: var(--jr-maroon); }
.jr-site .jr-pill.is-on { background: var(--jr-maroon); border-color: var(--jr-maroon); color: var(--jr-paper) !important; text-shadow: none !important; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.jr-site .jr-search-grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 28px; align-items: start; }
.jr-site .jr-search-aside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.jr-site .jr-aside-card { padding: 24px; }
.jr-site .jr-aside-card h2 { font-size: 24px; margin-bottom: 6px; }
.jr-site .jr-aside-card p { margin: 0 0 14px; font-size: 15px; }
.jr-site .jr-aside-card .jr-inline input { height: 44px !important; min-height: 44px; }
.jr-site .jr-saved-row { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--jr-line); font-size: 15px; }
.jr-site .jr-saved-row a { font-weight: 700; }

/* Legacy search form markup inside .jr-search-main */
.jr-site .jr-search-main > [class*="col-md-"] { width: auto !important; float: none !important; padding: 0 !important; }
.jr-site .jr-search-main .mega-box-new { background: var(--jr-paper) !important; border: 1px solid var(--jr-line) !important; border-radius: var(--jr-radius) !important; box-shadow: none !important; padding: 30px 32px !important; margin: 0 !important; }
.jr-site .jr-search-main .m-add-box, .jr-site .jr-search-main .add-box-2 { padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.jr-site .jr-search-main .m-add-box > p.text-center:first-child { text-align: left !important; color: var(--jr-muted); margin: 0 0 6px; }
.jr-site .jr-search-main .search-hr { display: none; }
.jr-site .jr-search-main .t-transform-ue { text-transform: none !important; text-align: left !important; font-family: var(--jr-serif) !important; font-size: 28px !important; font-weight: 600 !important; color: var(--jr-ink) !important; margin: 0 0 18px; }
.jr-site .jr-search-main .t-transform-ue span { color: inherit !important; text-transform: lowercase; }
.jr-site .jr-search-main h1, .jr-site .jr-search-main h2 { margin: 0; font-size: inherit; }
.jr-site .jr-search-main .add-b-cstm { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 16px !important; }
.jr-site .jr-search-main .add-b-cstm::before, .jr-site .jr-search-main .add-b-cstm::after { display: none; }
.jr-site .jr-search-main .add-b-cstm > [class*="col-"] { width: auto !important; float: none !important; padding: 0 !important; flex: 1 1 0; min-width: 0; }
.jr-site .jr-search-main .add-b-cstm > [class*="col-"]:first-child { flex: 0 0 190px; }
.jr-site .jr-search-main .add-b-cstm > .hidden-sm.hidden-xs { flex: 0 0 auto; }
.jr-site .jr-search-main .ad-name { margin: 0 !important; font-family: var(--jr-sans) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .04em; text-transform: uppercase; color: var(--jr-muted) !important; }
.jr-site .jr-search-main .to-n, .jr-site .jr-search-main .to-n label { margin: 0 !important; color: var(--jr-muted); font-weight: 400; }
.jr-site .jr-search-main .add-input { margin: 0 !important; }
.jr-site .jr-search-main .md-radio { margin: 0 !important; }
.jr-site .jr-search-main .checkboxes { margin: 0 !important; }
.jr-site .jr-search-main label.checkbox { display: inline-flex; align-items: center; gap: 8px; padding: 0; margin: 0; font-weight: 400; color: var(--jr-ink); }
.jr-site .jr-search-main label.checkbox .indicator { display: none; }
.jr-site .jr-search-main .add-b-cstm.mt-5 > [class*="col-"]:first-child:empty { display: none; }
.jr-site .jr-search-main .add-b-cstm.mt-5 > [class*="col-"] { flex: 0 0 auto; }
.jr-site .jr-search-main .add-w-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 26px !important; border-radius: 999px !important; background: var(--jr-maroon) !important; border: 1px solid var(--jr-maroon) !important; color: var(--jr-paper) !important; font-family: var(--jr-sans) !important; font-weight: 600 !important; font-size: 16px !important; width: auto !important; white-space: nowrap; }
.jr-site .jr-search-main .save-search-btn { background: transparent !important; color: var(--jr-ink) !important; border-color: var(--jr-field) !important; }
.jr-site .jr-search-main .panel, .jr-site .jr-search-main .panel-heading { background: transparent !important; border-color: var(--jr-line) !important; }

/* Recent profiles strip under search */
.jr-site .jr-search-recent { margin-top: 40px; }
.jr-site .jr-search-recent > [class*="col-md-"] { width: 100% !important; float: none !important; padding: 0 !important; }
.jr-site .jr-search-recent .testimonial { padding: 0 10px; }
.jr-site .jr-search-recent .pic { border-radius: var(--jr-radius) !important; overflow: hidden; border: 1px solid var(--jr-line) !important; box-shadow: none !important; }
.jr-site .jr-search-recent .pic img { width: 100%; height: 240px; object-fit: cover; }
.jr-site .jr-search-recent .matri-id-s { font-family: var(--jr-serif) !important; font-size: 20px !important; color: var(--jr-ink) !important; margin: 10px 0 2px; }

@media (max-width: 991px) {
	.jr-site .jr-search-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 820px) {
	.jr-site .jr-search-main .mega-box-new { padding: 22px 18px !important; }
	.jr-site .jr-search-main .add-b-cstm > [class*="col-"]:first-child { flex: 1 0 100%; }
}


/* Advance search accordion + legacy md-radio */
.jr-site .jr-search-main .new-accordion .panel-group { margin: 8px 0 0; }
.jr-site .jr-search-main .new-accordion .panel-default { border: 1px solid var(--jr-line) !important; border-radius: 12px !important; background: var(--jr-paper) !important; box-shadow: none !important; margin: 0 0 10px !important; overflow: hidden; }
.jr-site .jr-search-main .new-accordion .panel-default > .panel-heading { background: var(--jr-cream) !important; color: var(--jr-ink) !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
.jr-site .jr-search-main .new-accordion .panel-title { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; gap: 12px; min-height: 52px; padding: 0 18px; margin: 0; cursor: pointer; font-family: var(--jr-serif) !important; font-size: 21px !important; font-weight: 600; color: var(--jr-ink) !important; }
.jr-site .jr-search-main .new-accordion .panel-title .hover-l { color: var(--jr-ink) !important; }
.jr-site .jr-search-main .new-accordion .panel-title i { color: var(--jr-maroon) !important; font-size: 14px; float: none !important; }
.jr-site .jr-search-main .new-accordion .panel-collapse { padding: 6px 18px 4px; }
.jr-site .jr-main .md-radio { display: inline-flex; align-items: center; position: relative; }
.jr-site .jr-main .md-radio input[type=radio] { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; }


/* Search results */
.jr-site .jr-results-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 16px; margin-bottom: 28px; }
.jr-site .jr-results-head h1 { font-size: 44px; line-height: 1.05; margin-top: 4px; }
.jr-site .jr-results-crumb { margin: 0; font-size: 14px; }
.jr-site .jr-results-tools { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.jr-site .jr-results-tools .jr-lbl { margin: 0; }
.jr-site .jr-results-tools select { width: 240px !important; height: 44px !important; min-height: 44px; }
.jr-site .jr-results-grid { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 32px; align-items: start; }
.jr-site .jr-results-bar { margin-bottom: 18px; }
.jr-site .jr-results-count { color: var(--jr-ink); }
.jr-site .jr-pagination { display: flex; justify-content: center; margin-top: 36px; }
.jr-site .jr-pagination .pagination { margin: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.jr-site .jr-pagination .pagination > li > a { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px !important; border: 1px solid var(--jr-field) !important; background: var(--jr-paper) !important; color: var(--jr-ink) !important; padding: 0 14px; }
.jr-site .jr-pagination .pagination > li.active > a { background: var(--jr-maroon) !important; border-color: var(--jr-maroon) !important; color: var(--jr-paper) !important; }
.jr-site .jr-empty { padding: 40px; text-align: center; }
.jr-site .jr-empty h2 { font-size: 30px; margin-bottom: 6px; }
.jr-site .jr-empty p { margin: 0 0 18px; }

/* Profile card (page_part/jr_member_card.php) */
.jr-site .jr-pcard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.jr-site .jr-pcard { background: var(--jr-paper); border: 1px solid var(--jr-line); border-radius: var(--jr-radius); display: flex; flex-direction: column; min-width: 0; }
.jr-site .jr-pcard-photo { position: relative; border-radius: var(--jr-radius) var(--jr-radius) 0 0; overflow: hidden; background: var(--jr-chip); }
.jr-site .jr-pcard-photo img { width: 100%; height: 260px; object-fit: cover; object-position: 50% 22%; display: block; }
.jr-site .jr-pcard-tag { position: absolute; top: 12px; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; line-height: 1.3; }
.jr-site .jr-pcard-verified { left: 12px; background: #23724A; color: #fff; }
.jr-site .jr-pcard-id { right: 12px; background: var(--jr-paper); color: var(--jr-ink); }
.jr-site .jr-pcard-plan { position: absolute; left: 10px; bottom: 10px; width: 54px; height: auto; }
.jr-site .jr-pcard-body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.jr-site .jr-pcard-title { font-size: 26px; color: var(--jr-ink) !important; text-decoration: none !important; line-height: 1.15; }
.jr-site .jr-pcard-lines { font-size: 15px; margin: 4px 0 6px; flex: 1; }
.jr-site .jr-pcard-by { font-size: 13px; color: var(--jr-muted); margin: 0 0 12px; }
.jr-site .jr-pcard-actions { display: flex; gap: 8px; align-items: center; position: relative; }
.jr-site .jr-pcard-actions .jr-btn { min-height: 42px; padding: 8px 14px; font-size: 15px; }
.jr-site .jr-pcard-main { flex: 1; min-width: 0; }
.jr-site .jr-pcard-actions .is-on { border-color: var(--jr-gold) !important; color: var(--jr-maroon) !important; background: var(--jr-chip) !important; }
.jr-site .jr-pcard-more { position: relative; }
.jr-site .jr-pcard-more > summary { list-style: none; width: 42px; padding: 0 !important; cursor: pointer; }
.jr-site .jr-pcard-more > summary::-webkit-details-marker { display: none; }
.jr-site .jr-pcard-menu { position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 30; min-width: 210px; background: var(--jr-paper); border: 1px solid var(--jr-line); border-radius: 12px; box-shadow: 0 12px 30px -16px rgba(43, 26, 20, .4); padding: 6px; }
.jr-site .jr-pcard-menu a { display: flex; gap: 10px; align-items: center; padding: 9px 12px; border-radius: 8px; color: var(--jr-ink) !important; font-size: 15px; cursor: pointer; text-decoration: none !important; }
.jr-site .jr-pcard-menu a:hover { background: var(--jr-cream); }
.jr-site .jr-pcard-menu a i { width: 16px; color: var(--jr-maroon); }

/* Results filter (search_result_filter.php) */
.jr-site .jr-filter { padding: 22px; position: sticky; top: 104px; max-height: calc(100vh - 124px); overflow-y: auto; }
.jr-site .jr-filter h2 { font-size: 26px; margin-bottom: 8px; }
.jr-site .jr-filter > .row { margin: 0; }
.jr-site .jr-filter > .row > [class*="col-"] { padding: 0; width: 100%; float: none; }
.jr-site .jr-filter .fr-main { padding: 0 !important; }
.jr-site .jr-filter .panel, .jr-site .jr-filter .panel-default { border: 0 !important; border-top: 1px solid var(--jr-line) !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; margin: 0 !important; }
.jr-site .jr-filter .panel-heading, .jr-site .jr-filter .panel-cstm { background: transparent !important; border: 0 !important; padding: 12px 0 !important; color: var(--jr-ink) !important; }
.jr-site .jr-filter .panel-title, .jr-site .jr-filter .panel-title a { font-family: var(--jr-sans) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase; color: var(--jr-muted) !important; text-decoration: none !important; }
.jr-site .jr-filter .panel-body { padding: 0 0 12px !important; border: 0 !important; }
.jr-site .jr-filter .box { padding: 4px 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
.jr-site .jr-filter .checkbox-m { margin: 0; font-size: 15px; color: var(--jr-ink); display: flex; align-items: center; gap: 8px; }
.jr-site .jr-filter .checkbox-m label { margin: 0; font-weight: 400; }
.jr-site .jr-filter .more { color: var(--jr-maroon) !important; font-weight: 600 !important; cursor: pointer; }
.jr-site .jr-filter input[type=checkbox] { -webkit-appearance: auto; appearance: auto; opacity: 1 !important; position: static !important; width: 17px; height: 17px; margin: 0; accent-color: var(--jr-maroon); }
.jr-site .jr-filter input[type=checkbox] + label:before { display: none !important; }
.jr-site .jr-filter .irs-bar { background: var(--jr-maroon) !important; border-color: var(--jr-maroon) !important; }
.jr-site .jr-filter .irs-from, .jr-site .jr-filter .irs-to, .jr-site .jr-filter .irs-single { background: var(--jr-maroon) !important; }
.jr-site .jr-filter .irs-slider { background: var(--jr-maroon) !important; border-color: var(--jr-maroon) !important; }

@media (max-width: 1100px) {
	.jr-site .jr-pcard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
	.jr-site .jr-results-grid { grid-template-columns: minmax(0, 1fr); }
	.jr-site .jr-filter { position: static; max-height: none; }
}
@media (max-width: 600px) {
	.jr-site .jr-pcard-grid { grid-template-columns: minmax(0, 1fr); }
	.jr-site .jr-results-tools select { width: 100% !important; }
}


/* Results filter: legacy custom radio/checkbox and accordion arrows */
.jr-site .jr-filter .row { margin-left: 0 !important; margin-right: 0 !important; }
.jr-site .jr-filter .row > [class*="col-"] { padding-left: 0 !important; padding-right: 0 !important; }
.jr-site .jr-filter .margin-top-20 { margin-top: 10px !important; }
.jr-site .jr-filter .fr-height { font-family: var(--jr-sans) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase; color: var(--jr-muted) !important; margin: 10px 0 8px; }
.jr-site .jr-filter .hr3, .jr-site .jr-filter hr.fr { border-color: var(--jr-line); margin: 12px 0; }
.jr-site .jr-filter .radio-custm { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; }
.jr-site .jr-filter input[type=radio] { -webkit-appearance: auto; appearance: auto; opacity: 1 !important; position: static !important; width: 17px; height: 17px; margin: 0; accent-color: var(--jr-maroon); }
.jr-site .jr-filter input[type=radio] + label, .jr-site .jr-filter input[type=checkbox] + label { padding: 0 !important; margin: 0 !important; font-weight: 400; font-size: 15px; color: var(--jr-ink); }
.jr-site .jr-filter input[type=radio] + label:before, .jr-site .jr-filter input[type=radio] + label:after,
.jr-site .jr-filter input[type=checkbox] + label:before, .jr-site .jr-filter input[type=checkbox] + label:after { display: none !important; content: none !important; }
.jr-site .jr-filter .panel-body, .jr-site .jr-filter .bg-color, .jr-site .jr-filter .content { background: transparent !important; }
.jr-site .jr-filter .panel-title > a { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; padding: 0 !important; position: relative; }
.jr-site .jr-filter .panel-title > a:before { display: none !important; }
.jr-site .jr-filter .panel-title > a:after { position: static !important; content: '' !important; width: 8px; height: 8px; border-right: 2px solid var(--jr-maroon); border-bottom: 2px solid var(--jr-maroon); transform: rotate(45deg); margin: 0 4px 4px 0; background: none !important; font-size: 0 !important; flex: none; }
.jr-site .jr-filter .panel-title > a[aria-expanded="true"]:after { transform: rotate(-135deg); margin-bottom: -2px; }
.jr-site .jr-filter .irs-from, .jr-site .jr-filter .irs-to, .jr-site .jr-filter .irs-single { color: #fff !important; font-size: 12px !important; border-radius: 6px; }
.jr-site .jr-filter .irs-min, .jr-site .jr-filter .irs-max { display: none; }

@media (max-width: 820px) {
	.jr-site .jr-main { padding: 24px 16px 48px; }
	.jr-site .jr-page-head h1 { font-size: 36px; }
	.jr-site .jr-row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.jr-site .jr-auth-card { padding: 22px 18px; }
}
.jr-site .jr-reg-grid > div:only-child { grid-column: 1 / -1; width: 100%; max-width: 760px; margin: 0 auto; }

/* Modals (verify mobile / confirm email in my_dashboard_info.php). Bootstrap 3 modal shell, Heritage card inside. */
.jr-site .jr-modal .modal-dialog { width: auto; max-width: 460px; margin: 80px auto; padding: 0 16px; }
.jr-site .jr-modal .modal-content { position: relative; background: var(--jr-paper); border: 1px solid var(--jr-line); border-radius: var(--jr-radius); box-shadow: var(--jr-shadow); padding: 30px 32px 28px; }
.jr-site .jr-modal .modal-content *, .jr-site .jr-modal .modal-content *::before, .jr-site .jr-modal .modal-content *::after { box-sizing: border-box; }
.jr-site .jr-modal h2 { font-size: 30px; margin: 0 32px 6px 0; }
.jr-site .jr-modal .jr-mu { margin: 0 0 20px; font-size: 15px; }
.jr-site .jr-modal .jr-modal-close { position: absolute; top: 14px; right: 18px; float: none; font-size: 28px; line-height: 1; color: var(--jr-muted); opacity: .8; text-shadow: none; }
.jr-site .jr-modal .jr-modal-close:hover { opacity: 1; color: var(--jr-maroon); }
.jr-site .jr-modal .alert { margin: 0 0 16px; font-size: 15px; }
.jr-site .jr-modal input[type=text], .jr-site .jr-modal select {
	display: block; width: 100%; height: 48px !important; min-height: 48px; padding: 0 14px !important; margin: 0;
	font-size: 16px !important; color: var(--jr-ink); background: var(--jr-paper); border: 1px solid var(--jr-field); border-radius: 10px; box-shadow: none;
}
.jr-site .jr-modal input[readonly], .jr-site .jr-modal select:disabled { background: var(--jr-cream); color: var(--jr-muted); }
.jr-site .jr-modal input:focus, .jr-site .jr-modal select:focus { outline: none; border-color: var(--jr-gold); box-shadow: 0 0 0 3px rgba(231, 194, 122, .45); }
.jr-site .jr-modal .jr-inline > .jr-captcha-refresh { flex: none; }
.jr-site .jr-modal #otp_mobile { text-align: center; font-size: 22px !important; letter-spacing: .3em; font-weight: 600; }
.jr-site .jr-modal #close_buttonn_div { margin-top: 4px; }
@media (max-width: 480px) {
	.jr-site .jr-modal .modal-dialog { margin: 40px auto; }
	.jr-site .jr-modal .modal-content { padding: 26px 20px 22px; }
	.jr-site .jr-modal .jr-inline > select { flex-basis: 88px; width: 88px; }
}
@media (max-width: 600px) {
	.jr-site .jr-steps { gap: 8px; flex-wrap: nowrap; }
	.jr-site .jr-steps li:not(.is-current) .jr-step-label { display: none; }
	.jr-site .jr-steps li + li::before { width: 14px; }
}
