@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap");
:root{--jmj-accent:#ff4d71;--jmj-accent-dark:#e43d60;--jmj-accent-soft:#fff1f5;--jmj-text:#23262f;--jmj-muted:#6b7280;--jmj-border:#eceef3;--jmj-bg:#f6f8fb;--jmj-white:#fff;--jmj-shadow:0 8px 24px rgba(16,24,40,.07)}
*{box-sizing:border-box} body{margin:0;font-family:Poppins,Helvetica,sans-serif;color:var(--jmj-text);background:var(--jmj-bg)} a{text-decoration:none;color:inherit}
.jmj-topstrip{background:#fff;border-bottom:1px solid var(--jmj-border);font-size:13px;color:var(--jmj-muted)} .jmj-topstrip__inner,.jmj-member-header__inner,.jmj-tabs__inner,.jmj-footer__inner,.jmj-footer__bottom,.jmj-container{max-width:1180px;margin:0 auto;padding-left:16px;padding-right:16px}.jmj-topstrip__inner{padding-top:10px;padding-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:12px}.jmj-topstrip__right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.jmj-logout{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:999px;background:linear-gradient(90deg,var(--jmj-accent),#ff6b4a);color:#fff;font-weight:700;font-size:12px}
.jmj-member-header{background:#fff;border-bottom:1px solid var(--jmj-border)} .jmj-member-header__inner{padding-top:16px;padding-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:14px}.jmj-brand__logo{font-weight:800;color:var(--jmj-accent);font-size:22px}.jmj-primary-nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.jmj-primary-nav a{font-size:13px;font-weight:700;color:var(--jmj-accent)}.jmj-primary-nav a.active{border-bottom:2px solid var(--jmj-accent);padding-bottom:2px}.jmj-user{display:flex;align-items:center;gap:10px}.jmj-avatar{display:inline-flex;width:34px;height:34px;border-radius:50%;background:#e5e7eb}.jmj-avatar--large{width:74px;height:74px}.jmj-user__name{font-size:13px;font-weight:700}
.jmj-tabs{background:#fff;border-bottom:1px solid var(--jmj-border)} .jmj-tabs__inner{display:flex;gap:18px;overflow:auto}.jmj-tabs a{display:inline-block;padding:14px 0;font-size:13px;color:#4b5563;font-weight:600;white-space:nowrap}.jmj-tabs a.active{color:var(--jmj-accent);border-bottom:3px solid var(--jmj-accent)}
.jmj-member-wrap,.jmj-frontpage,.jmj-public-auth,.jmj-active-members-page{min-height:60vh}.jmj-container{padding-top:22px;padding-bottom:22px}.jmj-member-body{display:grid;grid-template-columns:290px 1fr;gap:20px;align-items:start}.jmj-member-sidebar,.jmj-member-aside{min-width:0}.jmj-member-main{min-width:0}
.jmj-sidebar{background:#fff;border:1px solid var(--jmj-border);border-radius:14px;box-shadow:var(--jmj-shadow);overflow:hidden;position:sticky;top:20px}.jmj-profile-card{padding:22px 18px 16px;text-align:center;border-bottom:1px solid var(--jmj-border)}.jmj-profile-card__avatar{display:flex;justify-content:center}.jmj-profile-card__name{font-size:18px;font-weight:800;margin:12px 0 14px}.jmj-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:8px;border:none;background:linear-gradient(90deg,var(--jmj-accent),#ff6b4a);color:#fff;font-weight:700;font-size:13px;cursor:pointer}.jmj-btn--small{padding:9px 14px;font-size:12px}.jmj-btn--ghost{background:#fff;color:var(--jmj-text);border:1px solid var(--jmj-border)}.jmj-btn--danger{background:linear-gradient(90deg,#ff4d71,#dc2626)}.jmj-btn--block{width:100%}
.jmj-sidebar-nav{padding:8px 0 16px}.jmj-sidebar-nav__link,.jmj-sidebar-nav__sublink{display:flex;align-items:center;gap:8px;width:100%;padding:12px 18px;background:transparent;border:none;color:#374151;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.jmj-sidebar-nav__link:hover,.jmj-sidebar-nav__sublink:hover{background:#fff7fa}.jmj-sidebar-nav__link.is-active,.jmj-sidebar-nav__sublink.is-active{background:var(--jmj-accent-soft);color:var(--jmj-accent)}.jmj-sidebar-nav__group{margin-top:4px}.jmj-sidebar-nav__toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 18px;border:none;background:transparent;font-size:13px;font-weight:700;color:#111827;cursor:pointer}.jmj-sidebar-nav__submenu{display:none}.jmj-sidebar-nav__submenu.open{display:block}.jmj-sidebar-nav__toggle.is-active,.jmj-sidebar-nav__group.is-open>.jmj-sidebar-nav__toggle{background:var(--jmj-accent-soft);color:var(--jmj-accent)}
.jmj-sidebar-nav__group.is-open .jmj-caret{transform:rotate(180deg)}
.jmj-caret{transition:transform .2s ease}
.jmj-sidebar-nav__submenu .jmj-sidebar-nav__sublink{padding-left:30px}
.is-disabled{opacity:.7;cursor:default}
.jmj-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.jmj-grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.jmj-stack{display:grid;gap:16px}.jmj-card{background:#fff;border:1px solid var(--jmj-border);border-radius:14px;box-shadow:var(--jmj-shadow)}.jmj-card,.jmj-card-b,.jmj-card-c{padding:18px}.jmj-card-h,.jmj-card-hd,.jmj-card-header{padding:18px;border-bottom:1px solid var(--jmj-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.jmj-card-title,h1,h2,h3{margin:0}.jmj-stat{min-height:122px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.jmj-stat-icon{font-size:28px}.jmj-stat-num,.jmj-stat-value{font-size:32px;font-weight:900;color:var(--jmj-accent)}.jmj-stat-label{font-size:13px;color:var(--jmj-muted);line-height:1.3}.jmj-package-badge,.jmj-verified{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:999px;background:#19c37d;color:#fff;font-weight:800}.jmj-package-list{list-style:none;padding:0;margin:18px auto 0;max-width:360px;text-align:left}.jmj-package-list li{padding:7px 0;border-bottom:1px solid #f1f2f5;font-size:14px}.jmj-package-list li.ok::before{content:"✓ ";color:#16a34a;font-weight:900}.jmj-package-list li.bad::before{content:"✕ ";color:#ef4444;font-weight:900}.jmj-callout{padding:16px;border-radius:10px;background:#f9fafb;color:#6b7280;font-size:14px}.jmj-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;border-radius:999px;background:var(--jmj-accent-soft);color:var(--jmj-accent);font-size:12px;font-weight:700}.jmj-btn-green{background:#19c37d}
.jmj-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.jmj-field label,.jmj-label{display:block;font-size:13px;font-weight:700;color:#374151;margin-bottom:8px}.jmj-field input,.jmj-field select,.jmj-input,textarea{width:100%;padding:11px 12px;border:1px solid var(--jmj-border);border-radius:8px;background:#fff;font-size:13px}.jmj-actions,.jmj-form-actions{display:flex;justify-content:flex-end;margin-top:16px}.jmj-h2,.jmj-page-title{font-size:28px;margin:0 0 10px}.jmj-muted{color:var(--jmj-muted)}
.jmj-table-wrap{overflow:auto}.jmj-table{width:100%;border-collapse:collapse}.jmj-table th,.jmj-table td{padding:12px 10px;border-bottom:1px solid var(--jmj-border);font-size:13px;text-align:left}.jmj-table th{background:#fafafa;color:#374151;font-weight:800}.jmj-icon-btn{width:34px;height:34px;border:1px solid var(--jmj-border);border-radius:50%;background:#fff;color:var(--jmj-accent);cursor:pointer}.jmj-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:220px;color:var(--jmj-muted)}.jmj-empty-icon{font-size:42px;line-height:1;opacity:.55}.jmj-empty-title{font-size:22px;font-weight:800;color:#111827;margin-top:8px}.jmj-empty-sub{font-size:14px;color:#9ca3af;margin-top:4px}
.jmj-dashboard-top{display:grid;grid-template-columns:1fr 1fr;gap:16px}.jmj-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:110px;border:1px dashed var(--jmj-border);border-radius:14px;background:#fff;cursor:pointer}.jmj-grid-2 > .jmj-card{min-width:0}

.jmj-modal{display:none;position:fixed;inset:0;z-index:9999;background:rgba(17,24,39,.5);padding:20px}.jmj-modal.is-open{display:flex;align-items:center;justify-content:center}.jmj-modal__dialog{max-width:520px;width:100%;background:#fff;border-radius:14px;box-shadow:0 30px 70px rgba(0,0,0,.25)}.jmj-modal__body{padding:24px}.jmj-modal__title{font-size:18px;font-weight:800;text-align:center;line-height:1.5}.jmj-modal__actions{display:flex;justify-content:center;gap:12px;margin-top:18px}.jmj-modal__backdrop{position:absolute;inset:0}
.jmj-home-hero{position:relative;overflow:hidden}.jmj-home-hero--loggedin{background:#fdf0ef;padding:44px 0 0}.jmj-home-hero__media{max-width:1180px;margin:0 auto;position:relative;min-height:440px;padding:0 16px}.jmj-home-hero__content{position:relative;z-index:2;padding-top:70px}.jmj-home-hero__content h1{font-size:58px;line-height:1.02;margin:0;color:#2f2b2c;font-family:Georgia,serif}.jmj-home-hero__content h2{font-size:52px;line-height:1.05;margin:8px 0 16px;color:#f38c8c;font-family:Georgia,serif}.jmj-home-hero__content p{max-width:430px;font-size:20px;color:#5c5c5c}.heart{position:absolute;border-radius:60% 60% 55% 55%/50% 50% 60% 60%;background:rgba(255,255,255,.55)}.heart-a{left:40px;top:160px;width:180px;height:210px}.heart-b{right:240px;top:30px;width:260px;height:280px;background:rgba(245,150,170,.45)}.heart-c{right:70px;top:160px;width:170px;height:190px;background:rgba(255,255,255,.82)}.jmj-home-search{max-width:1180px;margin:-36px auto 0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;background:#fff;border:1px solid var(--jmj-border);border-radius:8px;padding:18px 18px 20px;position:relative;z-index:5;box-shadow:0 10px 24px rgba(0,0,0,.06)}.jmj-home-search .field label,.jmj-filter-card label{display:block;font-size:13px;color:#777;margin-bottom:8px;font-weight:600}.field--btn{display:flex;align-items:flex-end}
.jmj-home-hero--public{min-height:560px;background:linear-gradient(135deg,#7d0205,#c71a22)}.jmj-home-public-bg{position:absolute;inset:0;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.08),transparent 32%)}.jmj-home-public-overlay{max-width:1180px;margin:0 auto;padding:160px 16px 80px;position:relative;min-height:560px}.jmj-home-public-copy{max-width:720px;margin:0 auto;text-align:center;color:#fff}.jmj-home-public-copy h1{font-size:56px;margin:0 0 10px}.jmj-home-public-copy p{font-size:26px;line-height:1.25;margin:0}.jmj-home-register-card{position:absolute;right:80px;bottom:80px;background:rgba(255,255,255,.88);padding:24px 32px;border-radius:8px;min-width:410px;text-align:center}.jmj-home-register-card h3{margin:0;color:var(--jmj-accent);font-size:28px}.jmj-home-register-card span{color:#666}
.jmj-premium-section{max-width:1180px;margin:60px auto;padding:0 16px 20px;text-align:center}.jmj-premium-section h2{font-size:46px;margin:0 0 12px}.jmj-premium-section p{max-width:760px;margin:0 auto 34px;color:#9aa0a6;font-size:18px;line-height:1.6}.jmj-premium-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.jmj-premium-card{background:#fff;border:1px solid var(--jmj-border);border-radius:14px;overflow:hidden;box-shadow:var(--jmj-shadow)}.jmj-premium-card__img{height:260px;background:linear-gradient(135deg,#dceff1,#d8d8d8)}.jmj-premium-card__body{padding:12px 10px}.jmj-premium-card__body h4{margin:0;color:var(--jmj-accent);font-size:24px}.jmj-premium-card__body small{color:#b8b8b8}
.jmj-public-auth{padding:56px 16px 70px;display:flex;justify-content:center}.jmj-auth-card{width:100%;max-width:580px;border:1px solid var(--jmj-border);border-radius:16px;padding:28px 26px;background:#fff;box-shadow:var(--jmj-shadow)}.jmj-auth-card h1{margin:0 0 6px;text-align:center;color:var(--jmj-accent);font-size:28px}.jmj-auth-card>p{text-align:center;color:#666;margin:0 0 18px}
.jmj-auth-switch a.is-active{background:linear-gradient(90deg,var(--jmj-accent),#ff6b4a);color:#fff;border-color:transparent}
.jmj-auth-card form>label{display:block;font-size:13px;font-weight:700;margin-bottom:8px;color:#374151}.jmj-auth-card form>.jmj-input,.jmj-auth-card form>select{margin-bottom:14px}.jmj-auth-links{display:flex;justify-content:space-between;margin:12px 0}.jmj-auth-links a,.jmj-auth-bottom a,.jmj-check a{color:var(--jmj-accent)}.jmj-auth-divider{text-align:center;color:#888;position:relative;margin:24px 0 16px}.jmj-auth-divider:before,.jmj-auth-divider:after{content:"";position:absolute;top:50%;width:36%;height:1px;background:#eee}.jmj-auth-divider:before{left:0}.jmj-auth-divider:after{right:0}.jmj-auth-bottom{text-align:center;color:#777;margin:24px 0 0}.jmj-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jmj-check{display:block;font-size:13px;color:#777;margin:14px 0}
.jmj-active-layout{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start}.jmj-filter-card{border:1px solid var(--jmj-border);border-radius:14px;padding:18px;background:#fff;position:sticky;top:20px;box-shadow:var(--jmj-shadow)}.jmj-filter-card h3{margin:0 0 14px;font-size:24px}.jmj-filter-grid>.jmj-two,.jmj-filter-grid>div{margin-bottom:12px}.jmj-member-list-card{display:grid;grid-template-columns:240px 1fr;gap:20px;border:1px solid var(--jmj-border);border-radius:14px;padding:0;margin-bottom:18px;background:#fff;overflow:hidden;box-shadow:var(--jmj-shadow)}.jmj-member-list-card .photo{background:linear-gradient(135deg,#ddd,#bbb);min-height:250px}.jmj-member-list-card .content{padding:18px}.jmj-member-list-card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.jmj-member-list-card .top h3{margin:0;font-size:38px}.jmj-member-list-card .badge{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff}.jmj-member-list-card .badge.premium{background:#17b26a}.jmj-member-list-card .badge.free{background:#31b4f3}.meta-row{color:#b1436b;margin:8px 0 12px}.jmj-member-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.jmj-member-cols div div{margin:8px 0;color:#777}.jmj-member-cols strong{color:#111;margin-left:8px}.jmj-actions-row{display:flex;justify-content:space-around;border-top:1px solid #eee;margin-top:16px;padding-top:16px;color:var(--jmj-accent);font-size:14px;font-weight:600}
.jmj-footer{background:#fff;border-top:1px solid var(--jmj-border)}.jmj-footer__inner{padding-top:36px;padding-bottom:28px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:18px}.jmj-footer__logo{font-size:26px;font-weight:800;color:var(--jmj-accent);margin-bottom:10px}.jmj-footer__col h4{margin:0 0 12px;font-size:16px}.jmj-footer__col ul{list-style:none;padding:0;margin:0}.jmj-footer__col li{margin:8px 0;color:#6b7280;font-size:14px}.jmj-footer__col a{color:#6b7280}.jmj-footer__bottom{padding-top:14px;padding-bottom:18px;border-top:1px solid var(--jmj-border);display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13px;color:#6b7280}.jmj-footer__socials{display:flex;gap:10px}.jmj-footer__socials span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f3f4f6;color:#374151;font-size:12px;font-weight:700}
@media(max-width:1100px){.jmj-member-body,.jmj-active-layout,.jmj-grid-2,.jmj-footer__inner{grid-template-columns:1fr}.jmj-grid-4,.jmj-premium-grid{grid-template-columns:repeat(2,1fr)}.jmj-home-search{grid-template-columns:1fr 1fr}.jmj-home-public-copy h1{font-size:40px}.jmj-home-register-card{position:static;min-width:unset;max-width:480px;margin:30px auto 0}.jmj-member-header__inner{flex-wrap:wrap}.jmj-primary-nav{justify-content:flex-start}.jmj-sidebar{position:static}.jmj-member-list-card{grid-template-columns:1fr}}
@media(max-width:680px){.jmj-grid-4,.jmj-premium-grid,.jmj-two,.jmj-form-grid,.jmj-home-search{grid-template-columns:1fr}.jmj-home-hero__content h1{font-size:40px}.jmj-home-hero__content h2{font-size:34px}.jmj-home-public-copy p{font-size:20px}.jmj-member-list-card .top h3{font-size:28px}.jmj-topstrip__inner,.jmj-member-header__inner,.jmj-topstrip__right{align-items:flex-start;flex-direction:column}}


.jmj-actions-row a{color:var(--jmj-accent)}
.jmj-profile-detail-page{padding-bottom:30px}
.jmj-profile-hero{background:linear-gradient(90deg,#ff643f,#ff1f73);padding:42px 0 0;color:#fff}
.jmj-profile-hero__grid{display:grid;grid-template-columns:240px 1fr 220px;gap:30px;align-items:center}
.jmj-profile-hero__photo{height:320px;border-radius:20px;background:linear-gradient(135deg,#e8e8e8,#cfcfcf);box-shadow:0 16px 40px rgba(0,0,0,.14);margin-bottom:-70px}
.jmj-profile-hero__content h1{font-size:46px;line-height:1.08;margin:0 0 10px;color:#fff}
.jmj-profile-hero__id{font-size:15px;color:#ffe2eb;margin-bottom:14px}
.jmj-profile-hero__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;padding:16px 0;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);font-size:16px}
.jmj-profile-hero__tabs{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.jmj-profile-hero__tabs span{display:inline-flex;padding:12px 18px;border-bottom:3px solid transparent;font-weight:700}.jmj-profile-hero__tabs .is-active{border-color:#fff}
.jmj-profile-hero__aside{display:flex;justify-content:center}.jmj-profile-interest-card{padding:24px 20px;border-left:1px solid rgba(255,255,255,.35);text-align:center}.jmj-profile-interest-card h3{font-size:18px;margin:0 0 18px;color:#fff}.jmj-profile-interest-btn{width:64px;height:64px;border-radius:50%;border:2px solid #fff;background:transparent;color:#fff;font-size:28px;cursor:pointer;margin-bottom:10px}
.jmj-profile-detail-layout{display:grid;grid-template-columns:240px 1fr;gap:34px;align-items:start;padding-top:62px}.jmj-profile-detail-sidebar{position:sticky;top:20px}.jmj-profile-side-card{background:#fff;border:1px solid var(--jmj-border);border-radius:20px;box-shadow:var(--jmj-shadow);overflow:hidden}.jmj-profile-side-card--compact{overflow:visible}.jmj-profile-side-card__body{padding:18px 18px 16px}.jmj-profile-side-card__body small{color:#e2557d;font-weight:700;display:block;margin-bottom:6px}.jmj-profile-side-card__body h3{font-size:28px;line-height:1.15;margin:0 0 10px}.jmj-profile-side-card__meta{font-size:14px;color:#6b7280;margin-bottom:6px}.jmj-profile-side-actions{display:grid;gap:10px;margin-top:14px}.jmj-profile-side-actions__row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top: 10px;}
.jmj-profile-detail-main{position:relative}.jmj-profile-detail-main:before{content:"";position:absolute;left:-42px;top:0;bottom:0;width:2px;background:#eceef3}.jmj-profile-section{position:relative;padding:0 0 26px 40px;margin-bottom:10px}.jmj-profile-section__marker{position:absolute;left:-62px;top:4px;width:40px;height:40px;border-radius:50%;border:1px solid #d8dee8;background:#fff;display:flex;align-items:center;justify-content:center;color:#ff4d71;font-weight:700}.jmj-profile-section__content h2{font-size:22px;color:#ff2c73;margin:0 0 14px}.jmj-profile-section__content p{font-size:16px;line-height:1.7;color:#525a68;margin:0}
.jmj-profile-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--jmj-border);background:#fff}.jmj-profile-info-grid--compact{max-width:760px}.jmj-profile-info-row{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;border-bottom:1px solid var(--jmj-border)}.jmj-profile-info-row:nth-child(odd){border-right:1px solid var(--jmj-border)}.jmj-profile-info-row span{color:#4b5563;font-weight:700}.jmj-profile-info-row strong{color:#1f2937;font-weight:600;text-align:right}
.jmj-profile-contact-card,.jmj-profile-table-card{background:#fff;border:1px solid var(--jmj-border);padding:18px}.jmj-profile-contact-card{max-width:500px}.jmj-profile-contact-card .jmj-btn{margin-top:12px}.jmj-profile-table{width:100%;border-collapse:collapse}.jmj-profile-table th,.jmj-profile-table td{padding:14px 12px;border-bottom:1px solid var(--jmj-border);text-align:left}.jmj-profile-table th{font-size:14px;color:#374151;background:#fafafa}.jmj-status-chip{display:inline-flex;padding:4px 10px;border-radius:999px;background:#ffe3ea;color:#de496e;font-size:12px;font-weight:800}.jmj-status-chip--green{background:#dff7eb;color:#0f9f59}
@media(max-width:1100px){.jmj-profile-hero__grid,.jmj-profile-detail-layout{grid-template-columns:1fr}.jmj-profile-hero__photo{max-width:320px;margin:0 auto}.jmj-profile-detail-layout{padding-top:24px}.jmj-profile-detail-main:before{display:none}.jmj-profile-section{padding-left:0}.jmj-profile-section__marker{position:relative;left:auto;top:auto;margin-bottom:12px}.jmj-profile-hero__aside{justify-content:flex-start}.jmj-profile-interest-card{border-left:none;padding-left:0}.jmj-profile-hero{padding-bottom:28px}}
@media(max-width:720px){.jmj-profile-hero__content h1{font-size:36px}.jmj-profile-hero__meta,.jmj-profile-info-grid{grid-template-columns:1fr}.jmj-profile-info-row:nth-child(odd){border-right:none}.jmj-profile-side-card__body h3{font-size:28px}}


/* v0.8 fixes */
.jmj-sidebar-nav__submenu .jmj-sidebar-nav__sublink{font-weight:700;color:#4b5563;border-top:1px solid #f4f4f5}
.jmj-sidebar-nav__submenu .jmj-sidebar-nav__sublink.is-active{background:#fdecef;color:var(--jmj-accent)}
.jmj-home-hero--loggedin{padding:38px 0 0}
.jmj-home-hero__media{min-height:420px}
.jmj-home-search{max-width:1010px;margin:-72px auto 0;grid-template-columns:1.05fr 1.05fr 1fr 1fr 180px;gap:16px;padding:16px 18px 18px;border-radius:10px;align-items:end}
.jmj-home-search .field{display:flex;flex-direction:column}
.jmj-home-search .field label{font-size:13px;color:#6b7280;margin-bottom:10px;font-weight:600}
.jmj-home-search input,.jmj-home-search select{width:100%;height:46px;padding:0 14px;border:1px solid #e7eaf0;border-radius:6px;background:#fff;font-size:14px;color:#374151;outline:none;box-shadow:none}
.jmj-home-search input:focus,.jmj-home-search select:focus{border-color:#f48a9a}
.jmj-home-search .field--btn{align-self:end}
.jmj-home-search .field--btn .jmj-btn{width:100%;height:46px;border-radius:14px;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center}
.jmj-home-hero__content p{font-size:17px;line-height:1.45;max-width:410px}
@media(max-width:1100px){.jmj-home-search{max-width:760px;grid-template-columns:1fr 1fr}.jmj-home-search .field--btn{grid-column:1/-1}}
@media(max-width:680px){.jmj-home-search{margin:-24px 16px 0;grid-template-columns:1fr}.jmj-home-hero__media{padding-bottom:24px}}

.jmj-profile-hero__tabs button{display:inline-flex;padding:12px 18px;border:none;background:transparent;border-bottom:3px solid transparent;font-weight:700;color:#fff;cursor:pointer;font-size:16px}
.jmj-profile-hero__tabs button.is-active{border-color:#fff}
.jmj-profile-side-actions .jmj-btn{width:100%;justify-content:center;border-radius:12px;padding:11px 14px;font-weight:700}.jmj-profile-side-actions .jmj-btn--ghost{background:#fff;border:1px solid #f1c5d2;color:#c83d68}.jmj-profile-side-actions .jmj-btn--block{background:linear-gradient(90deg,#ff643f,#ff1f73);border:none;color:#fff;box-shadow:0 10px 24px rgba(255,31,115,.22)}

.jmj-profile-tab-panel{display:none}
.jmj-profile-tab-panel.is-active{display:block}
.jmj-profile-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jmj-profile-gallery-item{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--jmj-border);background:#fff;box-shadow:var(--jmj-shadow);aspect-ratio:3/4}
.jmj-profile-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:720px){.jmj-profile-gallery-grid{grid-template-columns:1fr 1fr}}

.jmj-profile-card__avatar{display:flex;justify-content:center;align-items:center;}
.jmj-profile-card__avatar-img{width:74px;height:74px;border-radius:50%;object-fit:cover;display:block;}.jmj-alert{margin:16px 0;padding:14px 18px;border-radius:10px;font-weight:700}.jmj-profile-section-card{background:#fff;border:1px solid var(--jmj-border);border-radius:14px;box-shadow:var(--jmj-shadow);padding:22px;margin-bottom:22px}.jmj-profile-section-card h3{margin:0 0 14px}.jmj-profile-section-card .jmj-actions{margin-top:18px}.jmj-profile-section-card .jmj-form-grid{margin-top:8px}

body,.jmj-frontpage,.jmj-public-auth,.jmj-member-wrap{font-family:Poppins,Helvetica,sans-serif}.jmj-member-list-card .top h3{font-size:32px;font-weight:400 !important;color:#2d2d2d}.jmj-actions-row{justify-content:flex-start;gap:18px;flex-wrap:wrap}.jmj-actions-row a,.jmj-actions-row span,.jmj-linklike{display:inline-flex;align-items:center;gap:6px;color:#e24b7a;font-weight:600;background:none;border:0;padding:0;font-size:14px;text-decoration:none}.jmj-action-ico{font-size:14px;line-height:1}.jmj-filter-card h3{font-size:30px;font-weight:400 !important;color:#2a2a2a}.jmj-home-search,.jmj-filter-card,.jmj-member-list-card,.jmj-profile-section-card{border-radius:12px}.jmj-user__avatar-img{width:34px;height:34px;border-radius:50%;object-fit:cover;display:block}.jmj-premium-card__body h4 a{text-decoration:none;color:var(--jmj-accent)}.jmj-home-search .jmj-btn,.jmj-filter-card .jmj-btn{background:#f05d83}.jmj-home-search .field label,.jmj-filter-card label{font-weight:500;color:#6f7580}.jmj-profile-section-card{padding:22px;margin-bottom:22px}.jmj-profile-section-card h3{font-size:20px;font-weight:400 !important;color:#2d2d2d}.jmj-profile-section-card .jmj-actions{display:flex;justify-content:flex-end}.jmj-alert--danger{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.jmj-admin-big-photo img,.jmj-admin-big-photo .jmjmc-avatar{width:180px!important;height:180px!important;border-radius:12px!important;object-fit:cover}.jmj-home-search{grid-template-columns:1fr 1fr 1fr 1.2fr 180px}@media(max-width:680px){.jmj-actions-row{gap:12px}.jmj-member-list-card .content{padding:14px}.jmj-member-list-card .top h3{font-size:24px}}
.jmj-alert--danger{display:flex;justify-content:space-between;align-items:center;gap:10px}.jmj-switch{position:relative;display:inline-block;width:46px;height:24px}.jmj-switch input{opacity:0;width:0;height:0}.jmj-slider{position:absolute;inset:0;background:#d7dbe3;border-radius:999px;transition:.2s}.jmj-slider:before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}.jmj-switch input:checked + .jmj-slider{background:#24c28a}.jmj-switch input:checked + .jmj-slider:before{transform:translateX(22px)}.jmj-photo-toggle{display:flex;align-items:center;gap:10px}.jmj-switch-label{font-weight:600}.is-blurred img{filter:blur(10px) brightness(.95)}.jmj-watermark{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.55);color:#fff;padding:6px 8px;border-radius:8px;font-size:12px;z-index:2}.jmj-profile-hero__photo,.jmj-profile-gallery-item{position:relative}

/* Messaging critical layout hotfix */
.jmj-chat-layout{display:grid !important;grid-template-columns:320px minmax(0,1fr) !important;height:72vh;min-height:620px;max-height:72vh;overflow:hidden;padding:0 !important;align-items:stretch}
.jmj-chat-layout__sidebar{display:flex !important;flex-direction:column !important;min-width:0;min-height:0;height:100%;border-right:1px solid var(--jmj-border);overflow:hidden}
.jmj-chat-layout__main{display:flex !important;flex-direction:column !important;min-width:0;min-height:0;height:100%;overflow:hidden}
.jmj-chat-layout__member-list{flex:1 1 auto;overflow:auto;min-height:0}
.jmj-chat-header,.jmj-chat-pane-title{flex:0 0 auto;padding:14px 16px;border-bottom:1px solid var(--jmj-border);background:#fff}
.jmj-chat-header{display:flex !important;justify-content:space-between;align-items:center;gap:12px}
.jmj-live-conversation{display:flex !important;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--jmj-border);text-decoration:none;color:inherit;background:transparent}
.jmj-live-conversation.is-active{background:#fff7f9}
.jmj-chat-list__avatar{width:42px !important;height:42px !important;max-width:42px !important;max-height:42px !important;border-radius:50% !important;object-fit:cover !important;flex:0 0 42px !important}
.jmj-chat-list__body{display:flex !important;flex-direction:column !important;gap:3px;min-width:0;flex:1}
.jmj-chat-list__presence,.jmj-chat-list__preview{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6b7280}
.jmj-chat-messages{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;min-height:0;padding:16px;background:#fafbfc;contain:layout}
.jmj-chat-composer-wrap{flex:0 0 auto;border-top:1px solid var(--jmj-border);background:#fff}
.jmj-chat-composer{display:flex !important;flex-direction:column !important;gap:10px;padding:14px 16px}
.jmj-chat-composer__input{width:100%;min-height:44px;max-height:120px;resize:vertical;overflow:auto}
.jmj-chat-composer__actions{display:flex !important;justify-content:space-between;align-items:center;gap:12px}
.jmj-chat-bubble-row{max-width:100%;margin-bottom:12px}
.jmj-chat-bubble{display:inline-block;max-width:min(72%, 520px);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}
@media (max-width:991px){.jmj-chat-layout{grid-template-columns:1fr !important;height:auto;min-height:auto;max-height:none}.jmj-chat-layout__sidebar{border-right:0;border-bottom:1px solid var(--jmj-border);max-height:240px}.jmj-chat-layout__main{height:auto}.jmj-chat-messages{max-height:50vh}.jmj-chat-header{flex-direction:column !important;align-items:flex-start}.jmj-chat-bubble{max-width:88%}}

.jmj-profile-accordion{display:flex;flex-direction:column;gap:14px}.jmj-accordion-item{background:#fff;border:1px solid #eceef3;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(20,29,55,.05)}.jmj-accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#fff;border:0;cursor:pointer;font-size:22px;font-weight:700;color:#2f3441;text-align:left}.jmj-accordion-header:hover{background:#fff8fa}.jmj-accordion-item.is-open .jmj-accordion-header{color:#ff2c73}.jmj-accordion-icon{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #ffd0dd;color:#ff2c73;font-size:20px;font-weight:700;line-height:1}.jmj-accordion-panel{padding:0 22px 22px}.jmj-accordion-panel[hidden]{display:none!important}


/* Frontend clean content/tabs step 1 */
.jmj-profile-hero__tabs{
  display:flex;
  align-items:flex-end;
  gap:28px;
  margin-top:22px;
  padding:0;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.jmj-profile-hero__tabs button,
.jmj-profile-hero__tabs span{
  appearance:none;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:#fff;
  cursor:pointer;
  display:inline-flex;
  padding:0 0 9px !important;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  position:relative;
}
.jmj-profile-hero__tabs button::after,
.jmj-profile-hero__tabs span::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:transparent;
}
.jmj-profile-hero__tabs button.is-active::after,
.jmj-profile-hero__tabs span.is-active::after{
  background:#fff;
}
.jmj-profile-accordion{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.jmj-profile-accordion .jmj-accordion-item{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.jmj-profile-accordion .jmj-accordion-header{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding-left:0;
  padding-right:0;
}
.jmj-profile-accordion .jmj-accordion-panel{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.jmj-profile-accordion .jmj-profile-info-grid,
.jmj-profile-accordion .jmj-profile-contact-card,
.jmj-profile-accordion .jmj-profile-table-card,
.jmj-profile-accordion .jmj-profile-about-block{
  box-shadow:none !important;
}
@media (max-width: 640px){
  .jmj-profile-hero__tabs{gap:18px;overflow-x:auto;white-space:nowrap;padding-bottom:2px}
  .jmj-profile-hero__tabs button,.jmj-profile-hero__tabs span{font-size:14px;flex:0 0 auto}
}


/* Final correction: make all accordion section titles match Partner Preference title style */
.jmj-profile-accordion .jmj-accordion-header > span:first-child{
  font-size:22px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  color:#ff2c73 !important;
  letter-spacing:0 !important;
}
@media (max-width:640px){
  .jmj-profile-accordion .jmj-accordion-header > span:first-child{
    font-size:20px !important;
  }
}

/* Final hotfix: accordion titles full width and content below title without overlap */
.jmj-profile-accordion{
  position:relative;
  padding:6px 0 6px 0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.jmj-profile-accordion::before{
  content:"";
  position:absolute;
  left:18px;
  top:14px;
  bottom:14px;
  width:1px;
  background:#d9dee7 !important;
}
.jmj-profile-accordion .jmj-accordion-item{
  position:relative;
  display:block !important;
  margin:0 0 28px !important;
  padding:0 0 0 56px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.jmj-profile-accordion .jmj-accordion-header{
  width:100% !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:14px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-align:left !important;
}
.jmj-profile-accordion .jmj-accordion-header > span:first-child{
  display:block !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:18px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  color:#ff2c73 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
.jmj-profile-accordion .jmj-accordion-item.is-open .jmj-accordion-header > span:first-child,
.jmj-profile-accordion .jmj-accordion-header[aria-expanded="false"] > span:first-child,
.jmj-profile-accordion .jmj-accordion-header[aria-expanded="true"] > span:first-child{
  color:#ff2c73 !important;
}
.jmj-profile-accordion .jmj-accordion-icon{
  flex:0 0 36px !important;
  width:36px !important;
  height:36px !important;
  margin:0 0 0 -56px !important;
  border-radius:999px !important;
  border:1px solid #d9dee7 !important;
  background:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#9aa3af !important;
  font-size:22px !important;
  font-weight:400 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.jmj-profile-accordion .jmj-accordion-item.is-open .jmj-accordion-icon{
  color:#ff3564 !important;
  border-color:#ffb7c7 !important;
  background:#fff !important;
}
.jmj-profile-accordion .jmj-accordion-panel{
  display:block !important;
  width:100% !important;
  padding:14px 0 0 0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.jmj-profile-accordion .jmj-accordion-panel[hidden]{
  display:none !important;
}
.jmj-profile-accordion .jmj-profile-about-block,
.jmj-profile-accordion .jmj-profile-contact-card,
.jmj-profile-accordion .jmj-profile-table-card,
.jmj-profile-accordion .jmj-profile-info-grid{
  margin:0 !important;
}
@media (max-width:640px){
  .jmj-profile-accordion::before{left:16px !important;}
  .jmj-profile-accordion .jmj-accordion-item{padding-left:46px !important;margin-bottom:24px !important;}
  .jmj-profile-accordion .jmj-accordion-icon{width:32px !important;height:32px !important;margin-left:-46px !important;font-size:20px !important;}
  .jmj-profile-accordion .jmj-accordion-header{gap:12px !important;}
  .jmj-profile-accordion .jmj-accordion-header > span:first-child{font-size:16px !important;}
  .jmj-profile-accordion .jmj-accordion-panel{padding-top:12px !important;}
}

/* Gallery clean upload helper */
.jmj-gallery-file-name{font-size:13px;color:#6b7280;line-height:1.4;text-align:center;word-break:break-word;max-width:100%}
.jmj-add-card--upload .jmj-add-title{font-weight:700;color:#ff204e;font-size:16px}
.jmj-add-card--upload .jmj-add-help{font-size:12px;color:#6b7280;text-align:center;max-width:260px}


/* Google auth button */
.jmj-google-auth-btn{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;border:0;border-radius:6px;background:#4285f4;color:#fff;text-decoration:none;font-size:15px;font-weight:600;line-height:40px;margin-top:12px;box-shadow:none;overflow:hidden;padding:0 14px 0 48px}
.jmj-google-auth-btn:hover,.jmj-google-auth-btn:focus{background:#3f7ee8;color:#fff;text-decoration:none;box-shadow:none;outline:none}
.jmj-google-auth-btn .jmj-google-icon{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px 0 0 6px;background:#fff;border:0;color:inherit;font-size:0;font-weight:400;font-family:inherit}
.jmj-google-auth-btn .jmj-google-icon svg{display:block;width:18px;height:18px;flex:0 0 18px}

.jmj-guest-profile-gate{padding:60px 0 80px}.jmj-guest-profile-gate__card{max-width:720px;margin:0 auto;background:#fff;border:1px solid #eee;border-radius:16px;box-shadow:0 12px 35px rgba(0,0,0,.08);padding:42px 28px;text-align:center}.jmj-guest-profile-gate__card h1{margin:0 0 12px;color:#2b2b2b;font-size:32px}.jmj-guest-profile-gate__card p{margin:0 0 24px;color:#666;font-size:17px}.jmj-guest-profile-gate__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Step 26: Member account and dashboard responsive cleanup */
.jmj-card,
.jmj-member-main,
.jmj-member-aside,
.jmj-member-sidebar,
.jmj-table-wrap,
.jmj-profile-section-card{
  max-width:100%;
}
.jmj-member-main img,
.jmj-member-main video{
  max-width:100%;
  height:auto;
}
.jmj-sidebar-nav__link,
.jmj-sidebar-nav__sublink,
.jmj-sidebar-nav__toggle{
  min-height:44px;
}
.jmj-card-header,
.jmj-card-h,
.jmj-card-hd{
  flex-wrap:wrap;
}
.jmj-card-header .jmj-actions,
.jmj-card-h .jmj-actions,
.jmj-card-hd .jmj-actions{
  margin-top:0;
}
.jmj-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.jmj-table{
  min-width:680px;
}
.jmj-table td,
.jmj-table th{
  vertical-align:middle;
}
.jmj-profile-gallery-grid{
  display:grid;
  gap:16px;
}
.jmj-gallery-file{
  max-width:100%;
}
.jmj-form,
.jmj-profile-section-card form{
  max-width:100%;
}
.jmj-form-actions,
.jmj-actions{
  gap:10px;
  flex-wrap:wrap;
}
.jmj-table form{
  display:inline-flex;
  margin:2px 4px 2px 0;
}
.jmj-required,
.notice,
.jmj-alert{
  overflow-wrap:anywhere;
}

@media (max-width:1100px){
  .jmj-container{
    padding-left:14px;
    padding-right:14px;
  }
  .jmj-member-body{
    grid-template-columns:250px minmax(0,1fr);
    gap:16px;
  }
  .jmj-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .jmj-grid-2,
  .jmj-dashboard-top{
    grid-template-columns:1fr;
  }
}

@media (max-width:900px){
  .jmj-member-body{
    display:block;
  }
  .jmj-member-sidebar,
  .jmj-member-aside{
    margin-bottom:18px;
  }
  .jmj-sidebar{
    position:relative;
    top:auto;
    border-radius:14px;
  }
  .jmj-profile-card{
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    grid-template-areas:"avatar name" "avatar button";
    gap:8px 14px;
    text-align:left;
    align-items:center;
    padding:16px;
  }
  .jmj-profile-card__avatar{
    grid-area:avatar;
    justify-content:flex-start;
  }
  .jmj-profile-card__name{
    grid-area:name;
    margin:0;
    font-size:16px;
    line-height:1.25;
  }
  .jmj-profile-card .jmj-btn{
    grid-area:button;
    justify-self:start;
  }
  .jmj-sidebar-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    padding:12px;
  }
  .jmj-sidebar-nav__group{
    margin:0;
    min-width:0;
  }
  .jmj-sidebar-nav__link,
  .jmj-sidebar-nav__toggle,
  .jmj-sidebar-nav__sublink{
    border:1px solid var(--jmj-border);
    border-radius:10px;
    padding:11px 12px;
    background:#fff;
    min-width:0;
  }
  .jmj-sidebar-nav__submenu.open{
    display:grid;
    gap:6px;
    margin-top:6px;
  }
  .jmj-sidebar-nav__submenu .jmj-sidebar-nav__sublink{
    padding-left:12px;
  }
  .jmj-member-main{
    width:100%;
  }
  .jmj-card,
  .jmj-profile-section-card{
    border-radius:14px;
  }
  .jmj-chat-layout{
    border-radius:14px;
  }
}

@media (max-width:680px){
  .jmj-container{
    padding-top:14px;
    padding-bottom:18px;
  }
  .jmj-h2,
  .jmj-page-title,
  .jmj-card-title{
    font-size:22px;
    line-height:1.25;
  }
  .jmj-card,
  .jmj-card-b,
  .jmj-card-c,
  .jmj-profile-section-card{
    padding:14px;
  }
  .jmj-card-header,
  .jmj-card-h,
  .jmj-card-hd{
    padding:14px;
    align-items:flex-start;
    flex-direction:column;
  }
  .jmj-grid-4,
  .jmj-grid-2,
  .jmj-dashboard-top,
  .jmj-form-grid{
    grid-template-columns:1fr !important;
    gap:12px;
  }
  .jmj-stat{
    min-height:100px;
    padding:14px;
  }
  .jmj-stat-num,
  .jmj-stat-value{
    font-size:26px;
  }
  .jmj-sidebar-nav{
    grid-template-columns:1fr;
  }
  .jmj-profile-card{
    grid-template-columns:62px minmax(0,1fr);
  }
  .jmj-profile-card__avatar-img,
  .jmj-avatar--large{
    width:62px !important;
    height:62px !important;
  }
  .jmj-actions,
  .jmj-form-actions,
  .jmj-modal__actions,
  .jmj-chat-composer__actions{
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
  }
  .jmj-btn,
  .jmj-actions .jmj-btn,
  .jmj-form-actions .jmj-btn,
  .jmj-card-header .jmj-btn,
  .jmj-card-h .jmj-btn,
  .jmj-card-hd .jmj-btn{
    width:100%;
  }
  .jmj-table{
    min-width:620px;
  }
  .jmj-table th,
  .jmj-table td{
    padding:10px 8px;
    font-size:12px;
  }
  .jmj-chat-layout__sidebar{
    max-height:220px;
  }
  .jmj-chat-messages{
    max-height:46vh;
    padding:12px;
  }
  .jmj-chat-bubble{
    max-width:92%;
  }
  .jmj-live-conversation{
    padding:10px 12px;
  }
  .jmj-profile-gallery-grid{
    grid-template-columns:1fr !important;
  }
  .jmj-add-card{
    min-height:96px;
  }
  .jmj-photo-toggle{
    align-items:flex-start;
    justify-content:space-between;
    width:100%;
  }
  .jmj-alert--danger,
  .jmj-alert{
    display:block;
  }
  .jmj-alert .jmj-btn,
  .jmj-alert--danger .jmj-btn{
    margin-top:10px;
  }
}

@media (max-width:480px){
  .jmj-container{
    padding-left:10px;
    padding-right:10px;
  }
  .jmj-card,
  .jmj-profile-section-card,
  .jmj-sidebar{
    border-radius:12px;
  }
  .jmj-profile-card{
    grid-template-columns:1fr;
    grid-template-areas:"avatar" "name" "button";
    text-align:center;
    justify-items:center;
  }
  .jmj-profile-card__avatar{
    justify-content:center;
  }
  .jmj-profile-card .jmj-btn{
    justify-self:stretch;
  }
  .jmj-field input,
  .jmj-field select,
  .jmj-input,
  textarea{
    font-size:16px;
  }
  .jmj-modal{
    padding:12px;
  }
  .jmj-modal__body{
    padding:18px;
  }
}

/* Step 28: Desktop Active Members layout match to original SGBMS Matrimonial style */
@media (min-width: 1101px){
  body.page-template-public-active-members,
  body.page-template-templatespublic-active-members-php{
    background:#f7f8fb;
    color:#5f6673;
  }

  body.page-template-public-active-members .jmj-topstrip__inner,
  body.page-template-public-active-members .jmj-member-header__inner,
  body.page-template-public-active-members .jmj-tabs__inner,
  body.page-template-public-active-members .jmj-container,
  body.page-template-templatespublic-active-members-php .jmj-topstrip__inner,
  body.page-template-templatespublic-active-members-php .jmj-member-header__inner,
  body.page-template-templatespublic-active-members-php .jmj-tabs__inner,
  body.page-template-templatespublic-active-members-php .jmj-container{
    max-width:1140px;
    padding-left:15px;
    padding-right:15px;
  }

  body.page-template-public-active-members .jmj-topstrip__inner,
  body.page-template-templatespublic-active-members-php .jmj-topstrip__inner{
    padding-top:7px;
    padding-bottom:7px;
    font-size:12px;
  }

  body.page-template-public-active-members .jmj-member-header__inner,
  body.page-template-templatespublic-active-members-php .jmj-member-header__inner{
    padding-top:14px;
    padding-bottom:14px;
  }

  body.page-template-public-active-members .jmj-brand__logo,
  body.page-template-templatespublic-active-members-php .jmj-brand__logo{
    font-size:20px;
    font-weight:700;
    color:#FD2C79;
  }

  body.page-template-public-active-members .jmj-primary-nav,
  body.page-template-templatespublic-active-members-php .jmj-primary-nav{
    gap:22px;
  }

  body.page-template-public-active-members .jmj-primary-nav a,
  body.page-template-templatespublic-active-members-php .jmj-primary-nav a{
    color:#303744;
    font-size:12px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:.01em;
  }

  body.page-template-public-active-members .jmj-primary-nav a.active,
  body.page-template-public-active-members .jmj-primary-nav a:hover,
  body.page-template-templatespublic-active-members-php .jmj-primary-nav a.active,
  body.page-template-templatespublic-active-members-php .jmj-primary-nav a:hover{
    color:#FD2C79;
    border-bottom-color:#FD2C79;
  }

  body.page-template-public-active-members .jmj-tabs a,
  body.page-template-templatespublic-active-members-php .jmj-tabs a{
    padding:12px 0;
    font-size:12px;
    font-weight:500;
  }

  body.page-template-public-active-members .jmj-active-members-page .jmj-container,
  body.page-template-templatespublic-active-members-php .jmj-active-members-page .jmj-container{
    padding-top:28px;
    padding-bottom:34px;
  }

  body.page-template-public-active-members .jmj-active-layout,
  body.page-template-templatespublic-active-members-php .jmj-active-layout{
    grid-template-columns:285px minmax(0,1fr);
    gap:26px;
    align-items:start;
  }

  body.page-template-public-active-members .jmj-filter-card,
  body.page-template-templatespublic-active-members-php .jmj-filter-card{
    border:1px solid #e8ebf2;
    border-radius:4px;
    padding:20px;
    background:#fff;
    box-shadow:0 2px 8px rgba(22,28,45,.04);
    top:52px;
  }

  body.page-template-public-active-members .jmj-filter-card h3,
  body.page-template-templatespublic-active-members-php .jmj-filter-card h3{
    margin:0 0 18px;
    font-size:18px;
    line-height:1.35;
    font-weight:400 !important;
    color:#303744;
    letter-spacing:.01em;
  }

  body.page-template-public-active-members .jmj-filter-grid > div,
  body.page-template-public-active-members .jmj-filter-grid > .jmj-two,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid > div,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid > .jmj-two{
    margin-bottom:14px;
  }

  body.page-template-public-active-members .jmj-filter-card label,
  body.page-template-templatespublic-active-members-php .jmj-filter-card label{
    margin-bottom:7px;
    font-size:12px;
    font-weight:500;
    color:#6d7380;
  }

  body.page-template-public-active-members .jmj-filter-card .jmj-input,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-input{
    height:42px;
    padding:8px 12px;
    border:1px solid #e2e5ec;
    border-radius:4px;
    color:#303744;
    font-size:13px;
    background:#fff;
    box-shadow:none;
  }

  body.page-template-public-active-members .jmj-filter-card .jmj-input:focus,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-input:focus{
    border-color:#FD2C79;
    outline:0;
  }

  body.page-template-public-active-members .jmj-filter-card .jmj-muted,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-muted{
    display:block;
    margin-top:6px;
    font-size:11px;
    line-height:1.4;
    color:#8f97ab;
  }

  body.page-template-public-active-members .jmj-filter-card .jmj-btn,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-btn{
    min-height:42px;
    padding:10px 16px;
    border-radius:4px;
    background:#FD2C79;
    color:#fff;
    font-size:14px;
    font-weight:600;
    box-shadow:none;
  }

  body.page-template-public-active-members .jmj-filter-card .jmj-btn:hover,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-btn:hover{
    background:#e91e63;
  }

  body.page-template-public-active-members .jmj-active-layout > section > h1,
  body.page-template-templatespublic-active-members-php .jmj-active-layout > section > h1{
    margin:0 0 18px;
    font-size:24px;
    line-height:1.35;
    font-weight:400 !important;
    color:#303744;
  }

  body.page-template-public-active-members .jmj-member-list-card,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card{
    display:grid;
    grid-template-columns:255px minmax(0,1fr);
    gap:0;
    margin-bottom:20px;
    padding:0;
    overflow:hidden;
    border:1px solid #e8ebf2;
    border-radius:4px;
    background:#fff;
    box-shadow:0 2px 10px rgba(22,28,45,.045);
  }

  body.page-template-public-active-members .jmj-member-list-card .photo,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .photo{
    width:255px;
    min-height:292px;
    height:auto;
    background:#f1f2f5;
  }

  body.page-template-public-active-members .jmj-member-list-card .content,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .content{
    padding:20px 22px 16px;
    display:flex;
    flex-direction:column;
    min-width:0;
  }

  body.page-template-public-active-members .jmj-member-list-card .top,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .top{
    align-items:center;
    margin-bottom:8px;
  }

  body.page-template-public-active-members .jmj-member-list-card .top h3,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .top h3{
    margin:0;
    font-size:20px;
    line-height:1.35;
    font-weight:400 !important;
    color:#303744;
  }

  body.page-template-public-active-members .jmj-member-list-card .badge,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .badge{
    padding:4px 10px;
    border-radius:50rem;
    font-size:11px;
    line-height:1.25;
    font-weight:600;
  }

  body.page-template-public-active-members .jmj-member-list-card .badge.free,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .badge.free{
    background:#25bcf1;
  }

  body.page-template-public-active-members .jmj-member-list-card .badge.premium,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .badge.premium{
    background:#0abb75;
  }

  body.page-template-public-active-members .meta-row,
  body.page-template-templatespublic-active-members-php .meta-row{
    margin:5px 0;
    font-size:13px;
    line-height:1.55;
    color:#8f97ab;
  }

  body.page-template-public-active-members .meta-row span,
  body.page-template-templatespublic-active-members-php .meta-row span{
    color:#8f97ab;
  }

  body.page-template-public-active-members .meta-row strong,
  body.page-template-templatespublic-active-members-php .meta-row strong{
    color:#303744;
    font-weight:600;
  }

  body.page-template-public-active-members .jmj-member-cols,
  body.page-template-templatespublic-active-members-php .jmj-member-cols{
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin-top:10px;
    margin-bottom:12px;
  }

  body.page-template-public-active-members .jmj-member-cols div div,
  body.page-template-templatespublic-active-members-php .jmj-member-cols div div{
    margin:7px 0;
    font-size:13px;
    line-height:1.45;
    color:#8f97ab;
  }

  body.page-template-public-active-members .jmj-member-cols strong,
  body.page-template-templatespublic-active-members-php .jmj-member-cols strong{
    margin-left:6px;
    color:#303744;
    font-weight:600;
  }

  body.page-template-public-active-members .jmj-actions-row,
  body.page-template-templatespublic-active-members-php .jmj-actions-row{
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid #e8ebf2;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:22px;
    flex-wrap:wrap;
  }

  body.page-template-public-active-members .jmj-actions-row a,
  body.page-template-public-active-members .jmj-actions-row form,
  body.page-template-public-active-members .jmj-actions-row button,
  body.page-template-templatespublic-active-members-php .jmj-actions-row a,
  body.page-template-templatespublic-active-members-php .jmj-actions-row form,
  body.page-template-templatespublic-active-members-php .jmj-actions-row button{
    display:inline-flex !important;
    align-items:center;
    width:auto;
  }

  body.page-template-public-active-members .jmj-actions-row a,
  body.page-template-public-active-members .jmj-actions-row .jmj-linklike,
  body.page-template-templatespublic-active-members-php .jmj-actions-row a,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-linklike{
    gap:6px;
    padding:0;
    border:0;
    background:transparent;
    color:#FD2C79;
    font-size:13px;
    line-height:1.4;
    font-weight:500;
    text-decoration:none;
    white-space:nowrap;
  }

  body.page-template-public-active-members .jmj-actions-row a:hover,
  body.page-template-public-active-members .jmj-actions-row .jmj-linklike:hover,
  body.page-template-templatespublic-active-members-php .jmj-actions-row a:hover,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-linklike:hover{
    color:#e91e63;
  }

  body.page-template-public-active-members .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-action-ico{
    font-size:13px;
    line-height:1;
  }
}

/* Step 29: Desktop Member Profile CSS match to original SGBMS Matrimonial style */
@media (min-width: 901px){
  .jmj-profile-detail-page{
    background:#f5f7fb;
    padding-bottom:0;
  }

  .jmj-profile-detail-page .jmj-container{
    width:min(1180px, calc(100% - 32px));
    max-width:1180px;
  }

  .jmj-profile-hero{
    padding:42px 0 0;
    min-height:245px;
    background:linear-gradient(90deg,#ff5733 0%,#ff204e 58%,#fd2c79 100%);
  }

  .jmj-profile-hero__grid{
    grid-template-columns:240px minmax(0,1fr) 230px;
    gap:34px;
    align-items:center;
  }

  .jmj-profile-hero__photo{
    width:240px;
    height:320px;
    margin-bottom:-72px;
    border-radius:12px;
    box-shadow:0 16px 32px rgba(17,24,39,.16);
    background:#fff;
  }

  .jmj-profile-hero__photo img{
    display:block;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:12px;
  }

  .jmj-profile-hero__content h1{
    font-size:40px;
    line-height:1.08;
    font-weight:400 !important;
    margin:0 0 9px;
    color:#fff;
    letter-spacing:-.02em;
  }

  .jmj-profile-hero__id{
    font-size:14px;
    line-height:1.45;
    color:rgba(255,255,255,.9);
    margin-bottom:12px;
  }

  .jmj-profile-hero__id strong{
    color:#fff;
    font-weight:800;
  }

  .jmj-profile-hero__meta{
    grid-template-columns:1fr 1fr;
    gap:9px 24px;
    padding:14px 0;
    font-size:15px;
    line-height:1.45;
    border-top:1px solid rgba(255,255,255,.32);
    border-bottom:1px solid rgba(255,255,255,.32);
  }

  .jmj-profile-hero__tabs{
    gap:28px;
    margin-top:17px;
  }

  .jmj-profile-hero__tabs button,
  .jmj-profile-hero__tabs span{
    font-size:13px !important;
    font-weight:700 !important;
    padding:0 0 10px !important;
    color:#fff !important;
    opacity:1;
  }

  .jmj-profile-hero__aside{
    justify-content:flex-start;
  }

  .jmj-profile-interest-card{
    width:100%;
    min-height:142px;
    padding:20px 0 20px 38px;
    border-left:1px solid rgba(255,255,255,.38);
    text-align:center;
  }

  .jmj-profile-interest-card h3{
    margin:0 0 15px;
    font-size:17px;
    font-weight:400 !important;
    color:#fff;
  }

  .jmj-profile-interest-btn{
    width:62px;
    height:62px;
    border:2px solid #fff;
    background:transparent;
    color:#fff;
    font-size:27px;
    line-height:1;
    margin:0 auto 9px;
  }

  .jmj-profile-interest-card span{
    display:block;
    color:#fff;
    font-size:14px;
    font-weight:500;
    line-height:1.45;
  }

  .jmj-profile-detail-layout{
    grid-template-columns:240px minmax(0,1fr);
    gap:56px;
    align-items:start;
    padding-top:88px;
    padding-bottom:64px;
  }

  .jmj-profile-detail-sidebar{
    position:sticky;
    top:24px;
  }

  .jmj-profile-side-card{
    border:1px solid #e7eaf1;
    border-radius:10px;
    box-shadow:0 12px 30px rgba(17,24,39,.07);
    overflow:hidden;
  }

  .jmj-profile-side-card--compact{
    overflow:hidden;
  }

  .jmj-profile-side-card__body{
    padding:18px 18px 17px;
    background:#fff;
  }

  .jmj-profile-side-card__body small{
    margin-bottom:7px;
    color:#FD2C79;
    font-size:12px;
    font-weight:700;
    line-height:1.45;
  }

  .jmj-profile-side-card__body h3{
    margin:0 0 7px;
    color:#2c3340;
    font-size:24px;
    line-height:1.18;
    font-weight:400 !important;
    letter-spacing:-.02em;
  }

  .jmj-profile-side-card__meta{
    color:#7b8495;
    font-size:13px;
    line-height:1.45;
    margin-bottom:5px;
  }

  .jmj-profile-side-actions{
    gap:9px;
    margin-top:15px;
  }

  .jmj-profile-side-actions__row{
    gap:9px;
  }

  .jmj-profile-side-actions .jmj-btn{
    min-height:39px;
    padding:9px 14px;
    border-radius:7px;
    font-size:13px;
    font-weight:700;
  }

  .jmj-profile-side-actions .jmj-btn--ghost{
    background:#fff;
    color:#FD2C79;
    border:1px solid #f3b9cb;
    box-shadow:none;
  }

  .jmj-profile-side-actions .jmj-btn--block{
    background:linear-gradient(90deg,#ff5733,#FD2C79);
    box-shadow:none;
  }

  .jmj-profile-detail-main{
    position:relative;
    min-width:0;
  }

  .jmj-profile-detail-main:before{
    display:none !important;
    content:none !important;
  }

  .jmj-profile-accordion{
    padding:0 !important;
  }

  .jmj-profile-accordion::before{
    left:18px !important;
    top:18px !important;
    bottom:18px !important;
    width:1px !important;
    background:#dde2ea !important;
  }

  .jmj-profile-accordion .jmj-accordion-item{
    margin:0 0 34px !important;
    padding:0 0 0 58px !important;
  }

  .jmj-profile-accordion .jmj-accordion-header{
    gap:14px !important;
    align-items:center !important;
    min-height:36px;
  }

  .jmj-profile-accordion .jmj-accordion-icon{
    flex:0 0 36px !important;
    width:36px !important;
    height:36px !important;
    margin-left:-58px !important;
    border:1px solid #ffd0dd !important;
    color:#FD2C79 !important;
    background:#fff !important;
    font-size:21px !important;
    font-weight:400 !important;
  }

  .jmj-profile-accordion .jmj-accordion-header > span:first-child{
    color:#FD2C79 !important;
    font-size:17px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel{
    padding:14px 0 0 0 !important;
  }

  .jmj-profile-accordion .jmj-profile-info-grid,
  .jmj-profile-accordion .jmj-profile-contact-card,
  .jmj-profile-accordion .jmj-profile-table-card{
    width:100%;
    max-width:760px;
    background:#fff !important;
    border:1px solid #e5e8ef !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  .jmj-profile-accordion .jmj-profile-info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
  }

  .jmj-profile-accordion .jmj-profile-info-grid--compact,
  .jmj-profile-accordion .jmj-profile-contact-card{
    max-width:500px;
  }

  .jmj-profile-accordion .jmj-profile-info-row{
    min-height:48px;
    padding:12px 16px;
    border-bottom:1px solid #edf1f5 !important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    font-size:13px;
    line-height:1.45;
    color:#7b8495;
  }

  .jmj-profile-accordion .jmj-profile-info-row:nth-child(odd){
    border-right:1px solid #edf1f5 !important;
  }

  .jmj-profile-accordion .jmj-profile-info-row:nth-last-child(-n/**/+2){
    border-bottom:0 !important;
  }

  .jmj-profile-accordion .jmj-profile-info-row span{
    color:#5f6877;
    font-weight:600;
  }

  .jmj-profile-accordion .jmj-profile-info-row strong{
    color:#212936;
    font-weight:700;
    text-align:right;
  }

  .jmj-profile-accordion .jmj-profile-contact-card{
    padding:16px 18px;
  }

  .jmj-profile-accordion .jmj-profile-contact-card .jmj-profile-info-row{
    padding:12px 0;
    border-right:0 !important;
  }

  .jmj-profile-accordion .jmj-muted{
    margin-top:7px;
    color:#8b94a5;
    font-size:12px;
    line-height:1.55;
  }

  .jmj-contact-request-actions{
    margin-top:14px;
  }

  .jmj-contact-request-actions .jmj-btn,
  .jmj-contact-request-actions .jmj-btn--ghost{
    min-height:38px;
    padding:9px 14px;
    border-radius:7px;
    background:#fff;
    color:#2c3340;
    border:1px solid #e5e8ef;
    box-shadow:none;
    font-size:12px;
    font-weight:700;
  }

  .jmj-profile-about-block{
    max-width:760px;
    color:#5f6877 !important;
    font-size:13px;
    line-height:1.75;
  }

  .jmj-profile-table-card{
    padding:0 !important;
    overflow:auto;
  }

  .jmj-profile-table th,
  .jmj-profile-table td{
    padding:13px 14px;
    border-bottom:1px solid #edf1f5;
    font-size:12px;
    line-height:1.45;
  }

  .jmj-profile-table th{
    color:#4d5665;
    font-weight:700;
    background:#fff;
  }

  .jmj-profile-table td{
    color:#2c3340;
  }

  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section,
  .jmj-profile-tab-panel[data-panel="gallery"] .jmj-profile-section{
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
  }

  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__marker,
  .jmj-profile-tab-panel[data-panel="gallery"] .jmj-profile-section__marker{
    width:36px;
    height:36px;
    left:-58px;
    border-color:#ffd0dd;
    color:#FD2C79;
  }

  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content h2,
  .jmj-profile-tab-panel[data-panel="gallery"] .jmj-profile-section__content h2{
    color:#FD2C79;
    font-size:17px;
    font-weight:400 !important;
    margin-bottom:14px;
  }

  .jmj-profile-gallery-grid{
    max-width:760px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }

  .jmj-profile-gallery-item{
    border-radius:8px;
    box-shadow:none;
  }
}

/* Step 29 hotfix: make Partner Preference tab typography match Detailed Profile tables */
@media (min-width: 901px){
  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content h2{
    color:#FD2C79 !important;
    font-size:17px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    margin:0 0 14px !important;
  }

  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-grid{
    width:100% !important;
    max-width:760px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
    background:#fff !important;
    border:1px solid #e5e8ef !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row{
    min-height:48px !important;
    padding:12px 16px !important;
    border-bottom:1px solid #edf1f5 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    font-size:13px !important;
    line-height:1.45 !important;
    color:#7b8495 !important;
  }

  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row:nth-child(odd){
    border-right:1px solid #edf1f5 !important;
  }

  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row:nth-last-child(-n/**/+2){
    border-bottom:0 !important;
  }

  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row span{
    color:#5f6877 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    font-weight:600 !important;
  }

  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row strong{
    color:#212936 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    text-align:right !important;
  }
}

/* Step 30: Desktop Premium Members section CSS match */
@media (min-width: 1101px){
  .jmj-frontpage .jmj-premium-section{
    max-width:1180px !important;
    margin:48px auto 70px !important;
    padding:0 16px 32px !important;
    text-align:center !important;
  }

  .jmj-frontpage .jmj-premium-section h2{
    color:#111827 !important;
    font-size:36px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    letter-spacing:-0.02em !important;
    margin:0 0 14px !important;
  }

  .jmj-frontpage .jmj-premium-section p{
    max-width:720px !important;
    margin:0 auto 46px !important;
    color:#8f97a6 !important;
    font-size:17px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
  }

  .jmj-frontpage .jmj-premium-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:20px !important;
    align-items:start !important;
    justify-content:center !important;
    max-width:1040px !important;
    margin:0 auto !important;
  }

  .jmj-frontpage .jmj-premium-card{
    width:100% !important;
    max-width:200px !important;
    justify-self:center !important;
    background:#fff !important;
    border:1px solid #e5e8ef !important;
    border-radius:10px !important;
    overflow:hidden !important;
    box-shadow:0 10px 26px rgba(16,24,40,.06) !important;
    transition:none !important;
  }

  .jmj-frontpage .jmj-premium-card__img{
    height:250px !important;
    background:#f2f3f8 !important;
    overflow:hidden !important;
  }

  .jmj-frontpage .jmj-premium-card__img img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    display:block !important;
  }

  .jmj-frontpage .jmj-premium-card__body{
    min-height:92px !important;
    margin-top:-1px !important;
    padding:12px 10px 14px !important;
    background:rgba(255,255,255,.88) !important;
    text-align:center !important;
  }

  .jmj-frontpage .jmj-premium-card__body h4{
    margin:0 0 7px !important;
    color:#FD2C79 !important;
    font-size:18px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
  }

  .jmj-frontpage .jmj-premium-card__body h4 a{
    color:#FD2C79 !important;
    text-decoration:none !important;
  }

  .jmj-frontpage .jmj-premium-card__body small{
    display:block !important;
    color:#a4aab5 !important;
    font-size:12px !important;
    line-height:1.3 !important;
    font-weight:500 !important;
    margin:0 0 6px !important;
  }

  .jmj-frontpage .jmj-premium-card__meta{
    color:#6f7580 !important;
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:400 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .jmj-frontpage .jmj-footer{
    margin-top:60px !important;
  }
}

@media (min-width: 1101px) and (max-width: 1280px){
  .jmj-frontpage .jmj-premium-grid{
    max-width:980px !important;
    gap:16px !important;
  }

  .jmj-frontpage .jmj-premium-card{
    max-width:188px !important;
  }

  .jmj-frontpage .jmj-premium-card__img{
    height:236px !important;
  }
}

/* Step 32: Home desktop search and premium member cleanup */
@media (min-width: 1101px){
  .jmj-frontpage .jmj-home-hero--loggedin{
    padding-bottom:0 !important;
  }

  .jmj-frontpage .jmj-home-search{
    max-width:1040px !important;
    width:calc(100% - 64px) !important;
    margin:-62px auto 0 !important;
    padding:24px 28px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr 1.18fr 178px !important;
    gap:16px !important;
    align-items:end !important;
    background:#fff !important;
    border:1px solid #e8ebf2 !important;
    border-radius:10px !important;
    box-shadow:0 12px 34px rgba(16,24,40,.08) !important;
    position:relative !important;
    z-index:4 !important;
  }

  .jmj-frontpage .jmj-home-search .field{
    margin:0 !important;
    min-width:0 !important;
  }

  .jmj-frontpage .jmj-home-search label{
    display:block !important;
    margin:0 0 8px !important;
    color:#6f7580 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
  }

  .jmj-frontpage .jmj-home-search input,
  .jmj-frontpage .jmj-home-search select{
    width:100% !important;
    height:44px !important;
    padding:0 15px !important;
    border:1px solid #dde2eb !important;
    border-radius:6px !important;
    background:#fff !important;
    color:#293244 !important;
    font-size:14px !important;
    font-weight:500 !important;
    box-shadow:none !important;
    outline:none !important;
  }

  .jmj-frontpage .jmj-home-search .field--btn{
    align-self:end !important;
  }

  .jmj-frontpage .jmj-home-search .jmj-btn{
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    padding:0 22px !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,#ff5733 0%,#fd2c79 100%) !important;
    color:#fff !important;
    font-size:15px !important;
    line-height:44px !important;
    font-weight:800 !important;
    text-align:center !important;
    box-shadow:0 10px 18px rgba(253,44,121,.18) !important;
    cursor:pointer !important;
  }

  .jmj-frontpage .jmj-premium-section{
    margin-top:70px !important;
  }

  .jmj-frontpage .jmj-premium-grid{
    min-height:0 !important;
  }

  .jmj-frontpage .jmj-premium-grid .jmj-premium-card:nth-child(n/**/+6){
    display:none !important;
  }
}

/* Step 33: Mobile Active Members layout and filter drawer */
.jmj-mobile-filter-backdrop,
.jmj-mobile-filter-toggle,
.jmj-filter-close{
  display:none;
}

.jmj-filter-card__head{
  display:block;
}

@media (max-width: 767px){
  body.page-template-public-active-members,
  body.page-template-templatespublic-active-members-php{
    background:#f5f7fb !important;
    padding-bottom:70px;
    overflow-x:hidden;
  }

  body.page-template-public-active-members .jmj-topstrip,
  body.page-template-templatespublic-active-members-php .jmj-topstrip{
    display:none !important;
  }

  body.page-template-public-active-members .jmj-member-header__inner,
  body.page-template-templatespublic-active-members-php .jmj-member-header__inner{
    display:block !important;
    padding:14px 0 0 !important;
    text-align:center !important;
  }

  body.page-template-public-active-members .jmj-brand__logo,
  body.page-template-templatespublic-active-members-php .jmj-brand__logo{
    display:block !important;
    margin:0 auto 14px !important;
    font-size:14px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
    color:#FD2C79 !important;
  }

  body.page-template-public-active-members .jmj-primary-nav,
  body.page-template-templatespublic-active-members-php .jmj-primary-nav{
    display:flex !important;
    gap:0 !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    padding:0 16px !important;
    scrollbar-width:none;
    border-bottom:1px solid #eef1f5;
  }

  body.page-template-public-active-members .jmj-primary-nav::-webkit-scrollbar,
  body.page-template-templatespublic-active-members-php .jmj-primary-nav::-webkit-scrollbar{
    display:none;
  }

  body.page-template-public-active-members .jmj-primary-nav a,
  body.page-template-templatespublic-active-members-php .jmj-primary-nav a{
    flex:0 0 auto !important;
    padding:0 16px 11px 0 !important;
    margin-right:18px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    color:#ff304f !important;
    white-space:nowrap !important;
    border-bottom:3px solid transparent !important;
  }

  body.page-template-public-active-members .jmj-primary-nav a.active,
  body.page-template-templatespublic-active-members-php .jmj-primary-nav a.active{
    border-bottom-color:#ff304f !important;
  }

  body.page-template-public-active-members .jmj-user,
  body.page-template-templatespublic-active-members-php .jmj-user,
  body.page-template-public-active-members .jmj-tabs,
  body.page-template-templatespublic-active-members-php .jmj-tabs{
    display:none !important;
  }

  body.page-template-public-active-members .jmj-active-members-page .jmj-container,
  body.page-template-templatespublic-active-members-php .jmj-active-members-page .jmj-container{
    width:100% !important;
    max-width:none !important;
    padding:28px 15px 34px !important;
  }

  body.page-template-public-active-members .jmj-active-layout,
  body.page-template-templatespublic-active-members-php .jmj-active-layout{
    display:block !important;
  }

  .jmj-active-members-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    margin:0 0 18px !important;
  }

  body.page-template-public-active-members .jmj-active-layout > section h1,
  body.page-template-templatespublic-active-members-php .jmj-active-layout > section h1{
    margin:0 !important;
    font-size:25px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    color:#252b35 !important;
    letter-spacing:-.01em !important;
  }

  .jmj-mobile-filter-toggle{
    display:inline-flex !important;
    width:34px !important;
    height:34px !important;
    border:0 !important;
    background:transparent !important;
    padding:4px !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:5px !important;
    cursor:pointer !important;
  }

  .jmj-mobile-filter-toggle span{
    display:block !important;
    width:22px !important;
    height:2px !important;
    background:#252b35 !important;
    border-radius:99px !important;
    position:relative !important;
  }

  .jmj-mobile-filter-toggle span:before{
    content:"";
    position:absolute;
    left:-6px;
    top:-2px;
    width:4px;
    height:4px;
    border:2px solid #252b35;
    border-radius:50%;
    background:#fff;
  }

  body.page-template-public-active-members .jmj-filter-card,
  body.page-template-templatespublic-active-members-php .jmj-filter-card{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    z-index:100001 !important;
    width:min(340px, 88vw) !important;
    height:100vh !important;
    max-height:100vh !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    padding:0 0 22px !important;
    border:0 !important;
    border-radius:0 8px 8px 0 !important;
    background:#fff !important;
    box-shadow:18px 0 40px rgba(15,23,42,.18) !important;
    transform:translateX(-105%) !important;
    transition:transform .28s ease !important;
  }

  body.jmj-filter-open .jmj-filter-card{
    transform:translateX(0) !important;
  }

  .jmj-mobile-filter-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:100000 !important;
    background:rgba(0,0,0,.58) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .25s ease !important;
  }

  body.jmj-filter-open .jmj-mobile-filter-backdrop{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  body.jmj-filter-open{
    overflow:hidden !important;
  }

  body.page-template-public-active-members .jmj-filter-card__head,
  body.page-template-templatespublic-active-members-php .jmj-filter-card__head{
    position:sticky !important;
    top:0 !important;
    z-index:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:16px 18px !important;
    background:#fff !important;
    border-bottom:1px solid #edf0f5 !important;
  }

  body.page-template-public-active-members .jmj-filter-card h3,
  body.page-template-templatespublic-active-members-php .jmj-filter-card h3{
    margin:0 !important;
    font-size:17px !important;
    line-height:1.35 !important;
    font-weight:400 !important;
    color:#676d78 !important;
    letter-spacing:.03em !important;
  }

  .jmj-filter-close{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    border:0 !important;
    background:transparent !important;
    color:#1f2937 !important;
    font-size:34px !important;
    line-height:1 !important;
    font-weight:300 !important;
    cursor:pointer !important;
  }

  body.page-template-public-active-members .jmj-filter-grid,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid{
    padding:18px 26px 26px !important;
  }

  body.page-template-public-active-members .jmj-filter-grid > div,
  body.page-template-public-active-members .jmj-filter-grid > .jmj-two,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid > div,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid > .jmj-two{
    margin-bottom:17px !important;
  }

  body.page-template-public-active-members .jmj-filter-grid .jmj-two,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid .jmj-two{
    display:block !important;
  }

  body.page-template-public-active-members .jmj-filter-grid .jmj-two > div,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid .jmj-two > div{
    margin-bottom:17px !important;
  }

  body.page-template-public-active-members .jmj-filter-card label,
  body.page-template-templatespublic-active-members-php .jmj-filter-card label{
    margin:0 0 8px !important;
    display:block !important;
    color:#666d78 !important;
    font-size:14px !important;
    font-weight:500 !important;
  }

  body.page-template-public-active-members .jmj-filter-card .jmj-input,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-input{
    width:100% !important;
    height:42px !important;
    border:1px solid #dfe4ec !important;
    border-radius:4px !important;
    background:#fff !important;
    color:#303744 !important;
    font-size:14px !important;
  }

  body.page-template-public-active-members .jmj-filter-card .jmj-btn,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-btn{
    height:46px !important;
    min-height:46px !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,#ff5733,#FD2C79) !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:700 !important;
  }

  body.page-template-public-active-members .jmj-member-list-card,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card{
    position:relative !important;
    display:block !important;
    width:100% !important;
    margin:0 0 24px !important;
    padding:16px 16px 15px !important;
    border:1px solid #dfe5ee !important;
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .photo,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .photo{
    width:150px !important;
    height:150px !important;
    min-height:150px !important;
    margin:0 auto 18px !important;
    border-radius:50% !important;
    background:#edf1f5 !important;
    overflow:hidden !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .photo img,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .photo img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    border-radius:50% !important;
    display:block !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .jmj-private-badge,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-private-badge{
    left:50% !important;
    bottom:5px !important;
    transform:translateX(-50%) !important;
    padding:4px 8px !important;
    font-size:10px !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .content,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .content{
    padding:0 !important;
    display:block !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .top,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .top{
    display:block !important;
    margin:0 0 2px !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .top h3,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .top h3{
    margin:0 0 5px !important;
    color:#4d5563 !important;
    font-size:20px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .badge,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .badge{
    position:absolute !important;
    top:18px !important;
    right:18px !important;
    padding:4px 8px !important;
    border-radius:4px !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .meta-row,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    margin:0 0 14px !important;
    color:#9aa1ad !important;
    font-size:13px !important;
    line-height:1.3 !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .meta-row strong,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row strong{
    color:#FD2C79 !important;
    font-weight:700 !important;
    margin-left:0 !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .meta-row:nth-of-type(2),
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row:nth-of-type(2){
    display:none !important;
  }

  body.page-template-public-active-members .jmj-member-cols,
  body.page-template-templatespublic-active-members-php .jmj-member-cols{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 18px !important;
    margin-top:8px !important;
  }

  body.page-template-public-active-members .jmj-member-cols > div,
  body.page-template-templatespublic-active-members-php .jmj-member-cols > div{
    min-width:0 !important;
  }

  body.page-template-public-active-members .jmj-member-cols div div,
  body.page-template-templatespublic-active-members-php .jmj-member-cols div div{
    display:flex !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin:0 0 10px !important;
    color:#8a909b !important;
    font-size:13px !important;
    line-height:1.25 !important;
    word-break:normal !important;
  }

  body.page-template-public-active-members .jmj-member-cols strong,
  body.page-template-templatespublic-active-members-php .jmj-member-cols strong{
    display:inline-block !important;
    margin-left:0 !important;
    color:#4d5563 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    text-align:right !important;
    max-width:62% !important;
    word-break:normal !important;
  }

  body.page-template-public-active-members .jmj-actions-row,
  body.page-template-templatespublic-active-members-php .jmj-actions-row{
    display:grid !important;
    grid-template-columns:repeat(5, 1fr) !important;
    gap:6px !important;
    align-items:start !important;
    border-top:1px solid #edf1f5 !important;
    margin:14px 0 0 !important;
    padding:12px 0 0 !important;
    color:#FD2C79 !important;
  }

  body.page-template-public-active-members .jmj-actions-row a,
  body.page-template-public-active-members .jmj-actions-row span,
  body.page-template-public-active-members .jmj-actions-row .jmj-linklike,
  body.page-template-templatespublic-active-members-php .jmj-actions-row a,
  body.page-template-templatespublic-active-members-php .jmj-actions-row span,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-linklike{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:5px !important;
    width:100% !important;
    min-width:0 !important;
    color:#FD2C79 !important;
    font-size:10px !important;
    line-height:1.15 !important;
    font-weight:500 !important;
    text-align:center !important;
    white-space:normal !important;
    padding:0 !important;
    margin:0 !important;
    text-decoration:none !important;
    background:transparent !important;
    border:0 !important;
  }

  body.page-template-public-active-members .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-action-ico{
    font-size:18px !important;
    line-height:1 !important;
    display:block !important;
  }

  body.page-template-public-active-members .jmj-footer,
  body.page-template-templatespublic-active-members-php .jmj-footer{
    margin-top:24px !important;
    background:#111a26 !important;
    color:#8d98aa !important;
    border-top:0 !important;
  }

  body.page-template-public-active-members .jmj-footer__inner,
  body.page-template-templatespublic-active-members-php .jmj-footer__inner{
    display:block !important;
    padding:36px 18px 22px !important;
  }

  body.page-template-public-active-members .jmj-footer__logo,
  body.page-template-templatespublic-active-members-php .jmj-footer__logo{
    color:#FD2C79 !important;
    text-align:center !important;
    font-size:12px !important;
    margin-bottom:18px !important;
  }

  body.page-template-public-active-members .jmj-footer__col,
  body.page-template-templatespublic-active-members-php .jmj-footer__col{
    margin-bottom:22px !important;
  }

  body.page-template-public-active-members .jmj-footer__col h4,
  body.page-template-templatespublic-active-members-php .jmj-footer__col h4{
    color:#FD2C79 !important;
    border-bottom:1px solid #FD2C79 !important;
    padding-bottom:9px !important;
    margin-bottom:13px !important;
    font-size:11px !important;
    text-transform:uppercase !important;
  }

  body.page-template-public-active-members .jmj-footer__col li,
  body.page-template-public-active-members .jmj-footer__col a,
  body.page-template-public-active-members .jmj-footer__col p,
  body.page-template-templatespublic-active-members-php .jmj-footer__col li,
  body.page-template-templatespublic-active-members-php .jmj-footer__col a,
  body.page-template-templatespublic-active-members-php .jmj-footer__col p{
    color:#9aa5b5 !important;
    font-size:11px !important;
    line-height:1.65 !important;
  }

  body.page-template-public-active-members .jmj-footer__bottom,
  body.page-template-templatespublic-active-members-php .jmj-footer__bottom{
    padding:14px 18px 18px !important;
    border-top:1px solid rgba(253,44,121,.45) !important;
    display:block !important;
    color:#9aa5b5 !important;
    font-size:10px !important;
  }
}
@media (max-width: 767px){
  body.page-template-public-active-members .jmj-member-list-card .meta-row:nth-of-type(2),
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row:nth-of-type(2){display:flex !important;}
  body.page-template-public-active-members .jmj-member-list-card .meta-row + .meta-row,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row + .meta-row{display:none !important;}
}

/* Step 34: Mobile Member Profile layout match */
@media (max-width: 767px){
  body.page-template-public-member-profile,
  body.page-template-templatespublic-member-profile-php{
    background:#f5f7fb !important;
    overflow-x:hidden !important;
    padding-bottom:70px !important;
  }

  body.page-template-public-member-profile .jmj-profile-detail-page,
  body.page-template-templatespublic-member-profile-php .jmj-profile-detail-page{
    background:#f5f7fb !important;
    overflow-x:hidden !important;
  }

  body.page-template-public-member-profile .jmj-profile-detail-page .jmj-container,
  body.page-template-templatespublic-member-profile-php .jmj-profile-detail-page .jmj-container{
    width:100% !important;
    max-width:none !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero{
    padding:28px 0 32px !important;
    min-height:0 !important;
    background:linear-gradient(135deg,#ff5733 0%,#ff204e 58%,#fd2c79 100%) !important;
    color:#fff !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero .jmj-container,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero .jmj-container{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__grid{
    display:block !important;
    text-align:center !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__photo,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__photo{
    width:150px !important;
    height:150px !important;
    min-height:150px !important;
    max-width:58vw !important;
    margin:0 auto 24px !important;
    border-radius:18px !important;
    box-shadow:0 14px 28px rgba(0,0,0,.14) !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__photo img,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__photo img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    border-radius:18px !important;
    display:block !important;
  }

  body.page-template-public-member-profile .jmj-photo-request-overlay,
  body.page-template-templatespublic-member-profile-php .jmj-photo-request-overlay{
    bottom:10px !important;
    min-width:130px !important;
    width:auto !important;
  }

  body.page-template-public-member-profile .jmj-photo-request-overlay .jmj-btn,
  body.page-template-public-member-profile .jmj-photo-request-overlay button,
  body.page-template-templatespublic-member-profile-php .jmj-photo-request-overlay .jmj-btn,
  body.page-template-templatespublic-member-profile-php .jmj-photo-request-overlay button{
    min-height:34px !important;
    padding:7px 12px !important;
    font-size:11px !important;
    border-radius:999px !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__content h1,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__content h1{
    margin:0 0 8px !important;
    color:#fff !important;
    font-size:30px !important;
    line-height:1.08 !important;
    font-weight:400 !important;
    letter-spacing:-.02em !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__id,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__id{
    margin:0 0 14px !important;
    color:rgba(255,255,255,.9) !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__id strong,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__id strong{
    color:#fff !important;
    font-weight:800 !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__meta,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    max-width:330px !important;
    margin:0 auto !important;
    padding:14px 0 !important;
    border-top:1px solid rgba(255,255,255,.28) !important;
    border-bottom:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    font-size:14px !important;
    line-height:1.35 !important;
    font-weight:600 !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__tabs,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__tabs{
    justify-content:center !important;
    gap:20px !important;
    margin:18px auto 0 !important;
    padding:0 0 2px !important;
    overflow-x:auto !important;
    white-space:nowrap !important;
    scrollbar-width:none !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__tabs::-webkit-scrollbar,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__tabs::-webkit-scrollbar{display:none !important;}

  body.page-template-public-member-profile .jmj-profile-hero__tabs button,
  body.page-template-public-member-profile .jmj-profile-hero__tabs span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__tabs button,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__tabs span{
    flex:0 0 auto !important;
    padding:0 0 10px !important;
    color:#fff !important;
    opacity:1 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    border-bottom:2px solid transparent !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__tabs button.is-active,
  body.page-template-public-member-profile .jmj-profile-hero__tabs span.is-active,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__tabs button.is-active,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__tabs span.is-active{
    border-bottom-color:#fff !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__aside,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__aside{
    display:block !important;
    margin-top:28px !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card{
    width:100% !important;
    max-width:260px !important;
    margin:0 auto !important;
    padding:0 !important;
    border-left:0 !important;
    text-align:center !important;
    color:#fff !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card h3,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card h3{
    margin:0 0 14px !important;
    color:#fff !important;
    font-size:15px !important;
    line-height:1.3 !important;
    font-weight:400 !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-btn,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-btn{
    width:58px !important;
    height:58px !important;
    border:2px solid #fff !important;
    color:#fff !important;
    background:transparent !important;
    font-size:26px !important;
    line-height:1 !important;
    margin:0 auto 10px !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card span{
    display:block !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:500 !important;
  }

  body.page-template-public-member-profile .jmj-profile-detail-layout,
  body.page-template-templatespublic-member-profile-php .jmj-profile-detail-layout{
    display:block !important;
    width:100% !important;
    padding:18px 14px 48px !important;
  }

  body.page-template-public-member-profile .jmj-profile-detail-sidebar,
  body.page-template-templatespublic-member-profile-php .jmj-profile-detail-sidebar{
    position:static !important;
    width:100% !important;
    margin:0 0 32px !important;
  }

  body.page-template-public-member-profile .jmj-profile-side-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-card{
    width:100% !important;
    border:0 !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 10px 24px rgba(16,24,40,.07) !important;
    overflow:hidden !important;
  }

  body.page-template-public-member-profile .jmj-profile-side-card__body,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-card__body{
    padding:18px 18px 16px !important;
    background:#fff !important;
  }

  body.page-template-public-member-profile .jmj-profile-side-card__body small,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-card__body small{
    color:#FD2C79 !important;
    font-size:11px !important;
    font-weight:800 !important;
    margin-bottom:6px !important;
  }

  body.page-template-public-member-profile .jmj-profile-side-card__body h3,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-card__body h3{
    margin:0 0 7px !important;
    color:#252b35 !important;
    font-size:24px !important;
    line-height:1.18 !important;
    font-weight:400 !important;
  }

  body.page-template-public-member-profile .jmj-profile-side-card__meta,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-card__meta{
    color:#7d8696 !important;
    font-size:13px !important;
    line-height:1.4 !important;
  }

  body.page-template-public-member-profile .jmj-profile-side-actions,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-actions{
    gap:8px !important;
    margin-top:14px !important;
  }

  body.page-template-public-member-profile .jmj-profile-side-actions .jmj-btn,
  body.page-template-public-member-profile .jmj-profile-side-actions button,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-actions .jmj-btn,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-actions button{
    min-height:42px !important;
    border-radius:8px !important;
    font-size:12px !important;
    font-weight:800 !important;
    text-align:center !important;
  }

  body.page-template-public-member-profile .jmj-profile-side-actions__row,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-actions__row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  body.page-template-public-member-profile .jmj-profile-detail-main,
  body.page-template-templatespublic-member-profile-php .jmj-profile-detail-main{
    width:100% !important;
    min-width:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-detail-main:before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-detail-main:before{
    display:none !important;
  }

  body.page-template-public-member-profile .jmj-profile-tab-panel,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel{
    width:100% !important;
    min-width:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion{
    position:relative !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion::before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion::before{
    left:10px !important;
    top:10px !important;
    bottom:10px !important;
    background:#dfe5ee !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-item,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-item{
    padding-left:34px !important;
    margin-bottom:26px !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-header,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-header{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    padding:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-icon,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-icon,
  body.page-template-public-member-profile .jmj-profile-section__marker,
  body.page-template-templatespublic-member-profile-php .jmj-profile-section__marker{
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
    margin-left:-34px !important;
    border:1px solid #ffd0dd !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#FD2C79 !important;
    font-size:15px !important;
    line-height:1 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:none !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-header > span:first-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-header > span:first-child,
  body.page-template-public-member-profile .jmj-profile-section__content h2,
  body.page-template-templatespublic-member-profile-php .jmj-profile-section__content h2{
    margin:0 0 12px !important;
    color:#FD2C79 !important;
    font-size:18px !important;
    line-height:1.3 !important;
    font-weight:400 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-panel,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-panel{
    padding:12px 0 0 0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-section,
  body.page-template-templatespublic-member-profile-php .jmj-profile-section{
    display:block !important;
    width:100% !important;
    padding:0 0 0 34px !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  body.page-template-public-member-profile .jmj-profile-section__marker,
  body.page-template-templatespublic-member-profile-php .jmj-profile-section__marker{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    margin:0 0 14px -34px !important;
  }

  body.page-template-public-member-profile .jmj-profile-section__content,
  body.page-template-templatespublic-member-profile-php .jmj-profile-section__content{
    width:100% !important;
    min-width:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-info-grid,
  body.page-template-public-member-profile .jmj-profile-contact-card,
  body.page-template-public-member-profile .jmj-profile-table-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-contact-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table-card{
    width:100% !important;
    max-width:100% !important;
    background:#fff !important;
    border:1px solid #e6eaf1 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  body.page-template-public-member-profile .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-info-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-info-row,
  body.page-template-templatespublic-member-profile-php .jmj-profile-info-row{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items:center !important;
    gap:12px !important;
    padding:12px 13px !important;
    min-height:44px !important;
    border-top:0 !important;
    border-right:0 !important;
    border-bottom:1px solid #edf1f5 !important;
    color:#7b8495 !important;
  }

  body.page-template-public-member-profile .jmj-profile-info-row:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-info-row:last-child{
    border-bottom:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-info-row span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-info-row span{
    color:#5f6877 !important;
    font-size:12px !important;
    line-height:1.3 !important;
    font-weight:700 !important;
    text-align:left !important;
    word-break:normal !important;
  }

  body.page-template-public-member-profile .jmj-profile-info-row strong,
  body.page-template-templatespublic-member-profile-php .jmj-profile-info-row strong{
    color:#242c38 !important;
    font-size:12px !important;
    line-height:1.3 !important;
    font-weight:800 !important;
    text-align:right !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  body.page-template-public-member-profile .jmj-profile-contact-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-contact-card{
    padding:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-contact-card .jmj-muted,
  body.page-template-templatespublic-member-profile-php .jmj-profile-contact-card .jmj-muted{
    padding:9px 13px 0 !important;
    color:#7b8495 !important;
    font-size:11px !important;
    line-height:1.45 !important;
  }

  body.page-template-public-member-profile .jmj-contact-request-actions,
  body.page-template-templatespublic-member-profile-php .jmj-contact-request-actions{
    padding:12px 13px 13px !important;
    margin:0 !important;
    display:block !important;
  }

  body.page-template-public-member-profile .jmj-contact-request-actions .jmj-btn,
  body.page-template-templatespublic-member-profile-php .jmj-contact-request-actions .jmj-btn{
    width:100% !important;
    min-height:38px !important;
    border-radius:7px !important;
    font-size:11px !important;
  }

  body.page-template-public-member-profile .jmj-profile-table,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table{
    width:100% !important;
    min-width:520px !important;
    border-collapse:collapse !important;
  }

  body.page-template-public-member-profile .jmj-profile-table-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table-card{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.page-template-public-member-profile .jmj-profile-table th,
  body.page-template-public-member-profile .jmj-profile-table td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table th,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table td{
    padding:11px 12px !important;
    font-size:11px !important;
    line-height:1.35 !important;
    white-space:nowrap !important;
  }

  body.page-template-public-member-profile .jmj-profile-gallery-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-gallery-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    width:100% !important;
    max-width:100% !important;
  }

  body.page-template-public-member-profile .jmj-profile-gallery-item,
  body.page-template-templatespublic-member-profile-php .jmj-profile-gallery-item{
    width:100% !important;
    aspect-ratio:3 / 4 !important;
    min-height:0 !important;
    border:0 !important;
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:0 8px 22px rgba(16,24,40,.08) !important;
    overflow:hidden !important;
  }

  body.page-template-public-member-profile .jmj-profile-gallery-item img,
  body.page-template-templatespublic-member-profile-php .jmj-profile-gallery-item img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    display:block !important;
  }

  body.page-template-public-member-profile .jmj-footer,
  body.page-template-templatespublic-member-profile-php .jmj-footer{
    margin-top:0 !important;
    background:#111a26 !important;
    color:#8d98aa !important;
    border-top:0 !important;
  }

  body.page-template-public-member-profile .jmj-footer__inner,
  body.page-template-templatespublic-member-profile-php .jmj-footer__inner{
    display:block !important;
    padding:36px 18px 22px !important;
  }

  body.page-template-public-member-profile .jmj-footer__logo,
  body.page-template-templatespublic-member-profile-php .jmj-footer__logo{
    color:#FD2C79 !important;
    font-size:12px !important;
    text-align:center !important;
    margin-bottom:18px !important;
  }

  body.page-template-public-member-profile .jmj-footer__col,
  body.page-template-templatespublic-member-profile-php .jmj-footer__col{
    margin-bottom:22px !important;
  }

  body.page-template-public-member-profile .jmj-footer__col h4,
  body.page-template-templatespublic-member-profile-php .jmj-footer__col h4{
    color:#FD2C79 !important;
    border-bottom:1px solid #FD2C79 !important;
    padding-bottom:9px !important;
    margin-bottom:13px !important;
    font-size:11px !important;
    text-transform:uppercase !important;
  }

  body.page-template-public-member-profile .jmj-footer__col li,
  body.page-template-public-member-profile .jmj-footer__col a,
  body.page-template-public-member-profile .jmj-footer__col p,
  body.page-template-templatespublic-member-profile-php .jmj-footer__col li,
  body.page-template-templatespublic-member-profile-php .jmj-footer__col a,
  body.page-template-templatespublic-member-profile-php .jmj-footer__col p{
    color:#9aa5b5 !important;
    font-size:11px !important;
    line-height:1.65 !important;
  }

  body.page-template-public-member-profile .jmj-footer__bottom,
  body.page-template-templatespublic-member-profile-php .jmj-footer__bottom{
    padding:14px 18px 18px !important;
    border-top:1px solid rgba(253,44,121,.45) !important;
    display:block !important;
    color:#9aa5b5 !important;
    font-size:10px !important;
  }
}

/* Step 35: Mobile home, header, search, premium section, and footer cleanup */
@media (max-width: 767px){
  html{scroll-padding-top:0 !important;}
  body{padding-bottom:64px !important;}

  /* Clean frontend mobile header */
  .jmj-topstrip{display:none !important;}
  .jmj-member-header{background:#fff !important;border-bottom:1px solid #e8ecf2 !important;box-shadow:0 2px 8px rgba(16,24,40,.06) !important;position:relative !important;z-index:20 !important;}
  .jmj-member-header__inner{display:block !important;padding:14px 0 0 !important;max-width:none !important;}
  .jmj-brand{display:block !important;text-align:center !important;margin:0 0 15px !important;padding:0 16px !important;}
  .jmj-brand__logo{font-size:13px !important;line-height:1.2 !important;color:#FD2C79 !important;font-weight:700 !important;}
  .jmj-primary-nav{display:flex !important;flex-wrap:nowrap !important;gap:0 !important;justify-content:flex-start !important;overflow-x:auto !important;overflow-y:hidden !important;white-space:nowrap !important;padding:0 16px !important;scrollbar-width:none !important;-webkit-overflow-scrolling:touch !important;}
  .jmj-primary-nav::-webkit-scrollbar{display:none !important;}
  .jmj-primary-nav a{flex:0 0 auto !important;display:inline-flex !important;align-items:center !important;min-height:42px !important;margin-right:28px !important;padding:0 0 10px !important;color:#FD204F !important;font-size:13px !important;font-weight:800 !important;text-transform:uppercase !important;letter-spacing:.01em !important;border-bottom:3px solid transparent !important;text-decoration:none !important;}
  .jmj-primary-nav a.active{border-bottom-color:#FD204F !important;color:#FD204F !important;}
  .jmj-user{display:none !important;}
  .jmj-tabs{display:none !important;}

  /* Home hero mobile */
  .jmj-frontpage .jmj-home-hero--loggedin{background:#fdf0f0 !important;padding:0 !important;overflow:hidden !important;}
  .jmj-frontpage .jmj-home-hero__media{min-height:420px !important;max-width:none !important;padding:0 16px 150px !important;overflow:hidden !important;background:
    radial-gradient(circle at 79% 70%, rgba(255,255,255,.88) 0 82px, transparent 83px),
    radial-gradient(circle at 0% 68%, rgba(246,184,197,.52) 0 105px, transparent 106px),
    linear-gradient(180deg,#fff3f3 0%,#fdecec 100%) !important;}
  .jmj-frontpage .heart{display:none !important;}
  .jmj-frontpage .jmj-home-hero__content{max-width:310px !important;padding-top:88px !important;position:relative !important;z-index:2 !important;}
  .jmj-frontpage .jmj-home-hero__content h1{font-size:40px !important;line-height:.98 !important;letter-spacing:-.02em !important;margin:0 !important;color:#2e2c31 !important;font-family:Georgia, "Times New Roman", serif !important;font-weight:400 !important;}
  .jmj-frontpage .jmj-home-hero__content h2{font-size:33px !important;line-height:1.02 !important;margin:5px 0 12px !important;color:#f38a8e !important;font-family:Georgia, "Times New Roman", serif !important;font-weight:400 !important;}
  .jmj-frontpage .jmj-home-hero__content p{font-size:16px !important;line-height:1.45 !important;color:#5c6672 !important;margin:0 !important;max-width:300px !important;}

  /* Home search mobile */
  .jmj-frontpage .jmj-home-search{display:grid !important;grid-template-columns:1fr !important;gap:14px !important;width:calc(100% - 32px) !important;max-width:none !important;margin:-132px 16px 0 !important;padding:22px 24px 18px !important;border-radius:7px !important;background:#fff !important;border:1px solid #e1e6ee !important;box-shadow:0 12px 28px rgba(16,24,40,.08) !important;position:relative !important;z-index:5 !important;}
  .jmj-frontpage .jmj-home-search .field{min-width:0 !important;width:100% !important;}
  .jmj-frontpage .jmj-home-search .field label{font-size:14px !important;font-weight:700 !important;color:#6b7280 !important;margin-bottom:9px !important;}
  .jmj-frontpage .jmj-home-search input,
  .jmj-frontpage .jmj-home-search select{width:100% !important;height:42px !important;min-height:42px !important;border:1px solid #d9e0ea !important;border-radius:4px !important;background:#fff !important;font-size:14px !important;padding:0 13px !important;color:#374151 !important;box-shadow:none !important;}
  .jmj-frontpage .jmj-home-search .field--btn{display:block !important;align-items:initial !important;}
  .jmj-frontpage .jmj-home-search .jmj-btn{width:100% !important;height:48px !important;min-height:48px !important;border-radius:8px !important;background:linear-gradient(135deg,#ff543f 0%,#fd1f72 100%) !important;border:0 !important;color:#fff !important;font-size:15px !important;font-weight:800 !important;box-shadow:0 8px 18px rgba(253,44,121,.20) !important;}

  /* Premium members mobile */
  .jmj-frontpage .jmj-premium-section{margin:0 !important;padding:58px 16px 70px !important;max-width:none !important;background:#f3f6fa !important;text-align:center !important;}
  .jmj-frontpage .jmj-premium-section h2{font-size:38px !important;line-height:1.22 !important;letter-spacing:-.02em !important;margin:0 0 18px !important;color:#202632 !important;font-weight:400 !important;}
  .jmj-frontpage .jmj-premium-section p{font-size:16px !important;line-height:1.55 !important;color:#9aa3af !important;max-width:315px !important;margin:0 auto 34px !important;}
  .jmj-frontpage .jmj-premium-grid{display:grid !important;grid-template-columns:1fr !important;gap:22px !important;width:100% !important;max-width:330px !important;margin:0 auto !important;justify-items:center !important;}
  .jmj-frontpage .jmj-premium-card{width:100% !important;border-radius:8px !important;border:1px solid #e4e9f1 !important;background:#fff !important;box-shadow:0 10px 24px rgba(16,24,40,.06) !important;overflow:hidden !important;}
  .jmj-frontpage .jmj-premium-card__img{height:230px !important;background:#edf1f5 !important;}
  .jmj-frontpage .jmj-premium-card__img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
  .jmj-frontpage .jmj-premium-card__body{padding:14px 10px 17px !important;background:#fff !important;}
  .jmj-frontpage .jmj-premium-card__body h4{font-size:22px !important;line-height:1.1 !important;margin:0 0 8px !important;color:#FD2C79 !important;font-weight:400 !important;}
  .jmj-frontpage .jmj-premium-card__body h4 a{color:#FD2C79 !important;text-decoration:none !important;}
  .jmj-frontpage .jmj-premium-card__body small{font-size:12px !important;color:#aeb6c2 !important;}

  /* Mobile footer closer to original */
  .jmj-footer{background:#111a26 !important;color:#95a1b1 !important;border-top:0 !important;margin-top:0 !important;padding-bottom:64px !important;}
  .jmj-footer__inner{display:block !important;padding:36px 18px 20px !important;max-width:none !important;}
  .jmj-footer__logo{color:#FD2C79 !important;font-size:13px !important;line-height:1.25 !important;font-weight:800 !important;margin-bottom:16px !important;text-align:center !important;}
  .jmj-footer__about p{max-width:290px !important;margin:0 auto 22px !important;text-align:center !important;color:#9aa5b5 !important;font-size:11px !important;line-height:1.65 !important;}
  .jmj-footer__col{margin:0 0 22px !important;}
  .jmj-footer__col h4{color:#FD2C79 !important;border-bottom:1px solid rgba(253,44,121,.75) !important;padding-bottom:9px !important;margin:0 0 13px !important;font-size:11px !important;line-height:1.2 !important;text-transform:uppercase !important;letter-spacing:.02em !important;}
  .jmj-footer__col ul{margin:0 !important;padding:0 !important;list-style:none !important;}
  .jmj-footer__col li{margin:0 0 9px !important;}
  .jmj-footer__col li,
  .jmj-footer__col a,
  .jmj-footer__col p,
  .jmj-footer__muted{color:#9aa5b5 !important;font-size:11px !important;line-height:1.6 !important;text-decoration:none !important;}
  .jmj-footer__bottom{display:block !important;max-width:none !important;padding:14px 18px 18px !important;border-top:1px solid rgba(253,44,121,.45) !important;color:#9aa5b5 !important;font-size:10px !important;}
  .jmj-footer__socials{margin-top:14px !important;}
}

@media (max-width: 380px){
  .jmj-primary-nav a{margin-right:23px !important;font-size:12px !important;}
  .jmj-frontpage .jmj-home-hero__content h1{font-size:37px !important;}
  .jmj-frontpage .jmj-home-hero__content h2{font-size:30px !important;}
  .jmj-frontpage .jmj-premium-section h2{font-size:35px !important;}
  .jmj-frontpage .jmj-premium-card__img{height:210px !important;}
}

/* Step 36: Mobile bottom sticky navigation and account drawer */
.jmj-mobile-bottom-nav,
.jmj-mobile-account-backdrop,
.jmj-mobile-account-drawer{display:none;}

@media (max-width: 767px){
  .jmj-mobile-bottom-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:1100 !important;
    height:64px !important;
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    background:#fff !important;
    border-top:1px solid #e6ebf2 !important;
    box-shadow:0 -8px 24px rgba(16,24,40,.10) !important;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom)) !important;
  }
  .jmj-mobile-bottom-nav a,
  .jmj-mobile-bottom-nav button{
    appearance:none !important;
    -webkit-appearance:none !important;
    border:0 !important;
    background:transparent !important;
    color:#6b7280 !important;
    text-decoration:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    min-width:0 !important;
    padding:3px 2px !important;
    margin:0 !important;
    font-family:inherit !important;
  }
  .jmj-mobile-bottom-nav span{font-size:19px !important;line-height:1 !important;display:block !important;}
  .jmj-mobile-bottom-nav small{font-size:10px !important;line-height:1.2 !important;font-weight:700 !important;white-space:nowrap !important;}
  .jmj-mobile-bottom-nav a:active,
  .jmj-mobile-bottom-nav button:active,
  .jmj-mobile-bottom-nav button[aria-expanded="true"]{color:#FD2C79 !important;}

  .jmj-mobile-account-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:1200 !important;
    background:rgba(15,23,42,.56) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transition:opacity .28s ease, visibility .28s ease !important;
  }
  .jmj-mobile-account-drawer{
    display:flex !important;
    flex-direction:column !important;
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:1210 !important;
    width:min(340px,88vw) !important;
    max-width:88vw !important;
    height:100vh !important;
    background:#fff !important;
    box-shadow:-16px 0 38px rgba(15,23,42,.22) !important;
    transform:translateX(105%) !important;
    transition:transform .32s cubic-bezier(.22,.61,.36,1) !important;
    overflow:hidden !important;
  }
  body.jmj-account-drawer-open{overflow:hidden !important;}
  body.jmj-account-drawer-open .jmj-mobile-account-backdrop{opacity:1 !important;visibility:visible !important;}
  body.jmj-account-drawer-open .jmj-mobile-account-drawer{transform:translateX(0) !important;}
  .jmj-mobile-account-drawer__head{
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    min-height:58px !important;
    padding:16px 18px !important;
    border-bottom:1px solid #edf1f5 !important;
    background:#fff !important;
  }
  .jmj-mobile-account-drawer__head strong{font-size:18px !important;color:#202632 !important;font-weight:900 !important;}
  .jmj-mobile-account-drawer__close{
    width:36px !important;
    height:36px !important;
    border-radius:50% !important;
    border:1px solid #e5e9f0 !important;
    background:#fff !important;
    color:#263241 !important;
    font-size:24px !important;
    line-height:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
  }
  .jmj-mobile-account-drawer__profile{
    flex:0 0 auto !important;
    padding:20px 18px 18px !important;
    text-align:center !important;
    border-bottom:1px solid #edf1f5 !important;
    background:#fff8fa !important;
  }
  .jmj-mobile-account-drawer__avatar{display:flex !important;justify-content:center !important;margin:0 0 11px !important;}
  .jmj-mobile-account-drawer__avatar img,
  .jmj-mobile-account-drawer__avatar .jmj-avatar{
    width:78px !important;
    height:78px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    box-shadow:0 8px 20px rgba(16,24,40,.14) !important;
    border:3px solid #fff !important;
  }
  .jmj-mobile-account-drawer__name{font-size:17px !important;font-weight:900 !important;color:#1f2937 !important;margin:0 0 12px !important;}
  .jmj-mobile-account-drawer__profile .jmj-btn{height:36px !important;border-radius:999px !important;padding:0 18px !important;background:#fff !important;color:#FD2C79 !important;border:1px solid #FD2C79 !important;}
  .jmj-mobile-account-drawer__nav{
    flex:1 1 auto !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding:10px 0 24px !important;
    background:#fff !important;
  }
  .jmj-mobile-account-drawer__nav a,
  .jmj-mobile-account-drawer__group-title{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    min-height:44px !important;
    padding:0 18px !important;
    color:#374151 !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:700 !important;
    border-bottom:1px solid #f1f3f7 !important;
  }
  .jmj-mobile-account-drawer__group{margin-top:8px !important;}
  .jmj-mobile-account-drawer__group-title{color:#FD2C79 !important;background:#fafbfc !important;text-transform:uppercase !important;font-size:11px !important;letter-spacing:.04em !important;}
  .jmj-mobile-account-drawer__logout{margin:14px 18px 0 !important;min-height:42px !important;justify-content:center !important;border:0 !important;border-radius:9px !important;background:linear-gradient(90deg,#ff4d71,#dc2626) !important;color:#fff !important;}
  .jmj-mobile-account-drawer .jmj-count-badge,
  .jmj-mobile-account-drawer .jmj-badge,
  .jmj-mobile-account-drawer .jmj-pill{margin-left:auto !important;}
}

/* Step 37: Mobile profile/account cleanup, direct content, compact tables, account avatar */
@media (max-width: 767px){
  /* On mobile, account navigation lives in the Account drawer, so do not repeat the sidebar above content. */
  .jmj-member-wrap .jmj-member-body{
    display:block !important;
    padding-top:18px !important;
    padding-bottom:78px !important;
  }
  .jmj-member-wrap .jmj-member-body > .jmj-member-sidebar,
  .jmj-member-wrap .jmj-member-body > .jmj-member-aside{
    display:none !important;
  }
  .jmj-member-wrap .jmj-member-main{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
  .jmj-member-wrap .jmj-member-main > .jmj-card:first-child,
  .jmj-member-wrap .jmj-member-main > .jmj-dashboard-top:first-child,
  .jmj-member-wrap .jmj-member-main > form:first-child,
  .jmj-member-wrap .jmj-member-main > h1:first-child,
  .jmj-member-wrap .jmj-member-main > h2:first-child{
    margin-top:0 !important;
  }
  .jmj-member-wrap .jmj-card{
    border-radius:14px !important;
  }
  .jmj-member-wrap .jmj-card-h,
  .jmj-member-wrap .jmj-card-header,
  .jmj-member-wrap .jmj-card-hd{
    padding:16px 16px !important;
    font-size:19px !important;
    line-height:1.25 !important;
  }
  .jmj-member-wrap .jmj-card-b{
    padding:16px !important;
  }

  /* Bottom Account tab should use the member photo/default image instead of a generic icon. */
  .jmj-mobile-bottom-nav__account-icon{
    width:22px !important;
    height:22px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    margin:0 auto 1px !important;
    background:#eef2f7 !important;
    color:#1f75a8 !important;
    font-size:18px !important;
    line-height:1 !important;
  }
  .jmj-mobile-bottom-nav__account-icon img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
    border-radius:50% !important;
  }

  /* Profile detail mobile sections remain in current order, only spacing/font/alignment is cleaned. */
  body.page-template-public-member-profile .jmj-profile-detail-main,
  body.page-template-templatespublic-member-profile-php .jmj-profile-detail-main{
    padding-left:18px !important;
    padding-right:12px !important;
    padding-bottom:26px !important;
  }
  body.page-template-public-member-profile .jmj-profile-detail-main:before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-detail-main:before{
    left:18px !important;
    background:#dbe2eb !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion{
    padding-left:0 !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-item,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-item{
    grid-template-columns:30px minmax(0,1fr) !important;
    gap:8px !important;
    margin-bottom:18px !important;
    padding-left:0 !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-icon,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-icon{
    width:28px !important;
    height:28px !important;
    margin-left:0 !important;
    font-size:16px !important;
    line-height:1 !important;
    background:#fff !important;
    border:1px solid #ffb6c9 !important;
    color:#FD2C79 !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-header,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-header{
    min-height:30px !important;
    gap:8px !important;
    align-items:center !important;
    margin:0 0 8px !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-header > span:first-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-header > span:first-child{
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    color:#FD2C79 !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-panel,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-panel{
    padding:8px 0 0 !important;
    margin:0 !important;
  }

  body.page-template-public-member-profile .jmj-info-table,
  body.page-template-templatespublic-member-profile-php .jmj-info-table,
  body.page-template-public-member-profile .jmj-detail-table,
  body.page-template-templatespublic-member-profile-php .jmj-detail-table,
  body.page-template-public-member-profile .jmj-profile-table,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table,
  body.page-template-public-member-profile .jmj-profile-accordion table,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    border-collapse:collapse !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    box-shadow:0 8px 22px rgba(15,23,42,.035) !important;
  }
  body.page-template-public-member-profile .jmj-info-table th,
  body.page-template-public-member-profile .jmj-info-table td,
  body.page-template-templatespublic-member-profile-php .jmj-info-table th,
  body.page-template-templatespublic-member-profile-php .jmj-info-table td,
  body.page-template-public-member-profile .jmj-detail-table th,
  body.page-template-public-member-profile .jmj-detail-table td,
  body.page-template-templatespublic-member-profile-php .jmj-detail-table th,
  body.page-template-templatespublic-member-profile-php .jmj-detail-table td,
  body.page-template-public-member-profile .jmj-profile-table th,
  body.page-template-public-member-profile .jmj-profile-table td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table th,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table td,
  body.page-template-public-member-profile .jmj-profile-accordion table th,
  body.page-template-public-member-profile .jmj-profile-accordion table td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table th,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td{
    padding:10px 12px !important;
    min-height:0 !important;
    height:auto !important;
    font-size:13px !important;
    line-height:1.35 !important;
    border-color:#edf1f5 !important;
    vertical-align:middle !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  body.page-template-public-member-profile .jmj-info-table th,
  body.page-template-templatespublic-member-profile-php .jmj-info-table th,
  body.page-template-public-member-profile .jmj-detail-table th,
  body.page-template-templatespublic-member-profile-php .jmj-detail-table th,
  body.page-template-public-member-profile .jmj-profile-table th,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table th,
  body.page-template-public-member-profile .jmj-profile-accordion table th,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table th,
  body.page-template-public-member-profile .jmj-info-table td:nth-child(odd),
  body.page-template-templatespublic-member-profile-php .jmj-info-table td:nth-child(odd),
  body.page-template-public-member-profile .jmj-profile-accordion table td:nth-child(odd),
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td:nth-child(odd){
    color:#596273 !important;
    font-weight:700 !important;
  }
  body.page-template-public-member-profile .jmj-info-table td:nth-child(even),
  body.page-template-templatespublic-member-profile-php .jmj-info-table td:nth-child(even),
  body.page-template-public-member-profile .jmj-profile-accordion table td:nth-child(even),
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td:nth-child(even),
  body.page-template-public-member-profile .jmj-detail-table td,
  body.page-template-templatespublic-member-profile-php .jmj-detail-table td,
  body.page-template-public-member-profile .jmj-profile-table td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-table td{
    color:#111827 !important;
    font-weight:700 !important;
    text-align:right !important;
  }
  body.page-template-public-member-profile .jmj-contact-card,
  body.page-template-templatespublic-member-profile-php .jmj-contact-card,
  body.page-template-public-member-profile .jmj-contact-box,
  body.page-template-templatespublic-member-profile-php .jmj-contact-box{
    width:100% !important;
    max-width:100% !important;
    padding:14px !important;
    border-radius:0 !important;
    border:1px solid #e2e8f0 !important;
    box-shadow:0 8px 22px rgba(15,23,42,.035) !important;
  }
  body.page-template-public-member-profile .jmj-contact-card .jmj-btn,
  body.page-template-templatespublic-member-profile-php .jmj-contact-card .jmj-btn,
  body.page-template-public-member-profile .jmj-contact-box .jmj-btn,
  body.page-template-templatespublic-member-profile-php .jmj-contact-box .jmj-btn{
    height:36px !important;
    min-height:36px !important;
    font-size:12px !important;
    padding:0 14px !important;
  }
}

/* Step 38: Final mobile review and small fixes */
@media (max-width: 767px){
  html,
  body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body{
    padding-bottom:70px !important;
  }

  .jmj-member-header,
  .jmj-tabs,
  .jmj-topstrip,
  .jmj-profile-hero,
  .jmj-active-members-page,
  .jmj-frontpage,
  .jmj-member-wrap,
  .jmj-footer{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  /* Keep drawers above all mobile UI and make overlay behavior consistent. */
  .jmj-mobile-filter-backdrop,
  .jmj-mobile-account-backdrop{
    backdrop-filter:blur(1px) !important;
  }

  body.jmj-filter-open .jmj-mobile-bottom-nav,
  body.jmj-account-drawer-open .jmj-mobile-bottom-nav{
    pointer-events:none !important;
  }

  .jmj-mobile-account-drawer,
  body.page-template-public-active-members .jmj-filter-card,
  body.page-template-templatespublic-active-members-php .jmj-filter-card{
    padding-bottom:calc(20px + env(safe-area-inset-bottom)) !important;
  }

  /* Header and horizontal menus should never create sideways scroll on phone. */
  .jmj-primary-nav,
  .jmj-tabs__inner{
    max-width:100vw !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  .jmj-primary-nav::-webkit-scrollbar,
  .jmj-tabs__inner::-webkit-scrollbar{display:none !important;}

  /* Active Members final mobile card/action alignment. */
  body.page-template-public-active-members .jmj-member-list-card,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row form,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row form{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-width:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike{
    min-height:34px !important;
    cursor:pointer !important;
  }

  body.page-template-public-active-members .jmj-member-cols div div,
  body.page-template-templatespublic-active-members-php .jmj-member-cols div div{
    align-items:flex-start !important;
  }

  body.page-template-public-active-members .jmj-member-cols strong,
  body.page-template-templatespublic-active-members-php .jmj-member-cols strong{
    overflow-wrap:anywhere !important;
  }

  /* Home page final mobile search and premium spacing. */
  body.home .jmj-home-search,
  body.front-page .jmj-home-search,
  body.page-template-front-page .jmj-home-search{
    width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:22px !important;
    border-radius:6px !important;
  }

  body.home .jmj-home-search .field,
  body.front-page .jmj-home-search .field,
  body.page-template-front-page .jmj-home-search .field{
    min-width:0 !important;
    width:100% !important;
  }

  body.home .jmj-home-search .jmj-input,
  body.front-page .jmj-home-search .jmj-input,
  body.page-template-front-page .jmj-home-search .jmj-input{
    height:42px !important;
  }

  body.home .jmj-home-search .jmj-btn,
  body.front-page .jmj-home-search .jmj-btn,
  body.page-template-front-page .jmj-home-search .jmj-btn{
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    line-height:46px !important;
  }

  body.home .jmj-premium-section,
  body.front-page .jmj-premium-section,
  body.page-template-front-page .jmj-premium-section{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.home .jmj-premium-section h2,
  body.front-page .jmj-premium-section h2,
  body.page-template-front-page .jmj-premium-section h2{
    font-size:34px !important;
    line-height:1.18 !important;
    letter-spacing:-.02em !important;
  }

  /* Profile detail final mobile compact tables and spacing. Keep section order unchanged. */
  body.page-template-public-member-profile .jmj-profile-hero,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero{
    padding-top:24px !important;
    padding-bottom:28px !important;
  }

  body.page-template-public-member-profile .jmj-profile-card,
  body.page-template-public-member-profile .jmj-profile-side-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-side-card{
    margin-top:14px !important;
    margin-bottom:22px !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-item,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-item{
    margin-bottom:16px !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-accordion-header > span:first-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-accordion-header > span:first-child{
    font-size:14px !important;
    line-height:1.25 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion table th,
  body.page-template-public-member-profile .jmj-profile-accordion table td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table th,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td,
  body.page-template-public-member-profile .jmj-info-table th,
  body.page-template-public-member-profile .jmj-info-table td,
  body.page-template-templatespublic-member-profile-php .jmj-info-table th,
  body.page-template-templatespublic-member-profile-php .jmj-info-table td{
    padding:9px 10px !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion table td:nth-child(odd),
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td:nth-child(odd){
    width:48% !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion table td:nth-child(even),
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td:nth-child(even){
    width:52% !important;
  }

  /* Account/member area final mobile content spacing. */
  .jmj-member-wrap{
    padding-bottom:74px !important;
  }

  .jmj-member-wrap .jmj-member-main{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .jmj-member-wrap .jmj-card,
  .jmj-member-wrap .jmj-dashboard-card,
  .jmj-member-wrap .jmj-panel{
    max-width:100% !important;
    overflow:hidden !important;
  }

  .jmj-member-wrap table{
    max-width:100% !important;
  }

  .jmj-member-wrap .table-responsive,
  .jmj-member-wrap .jmj-table-wrap{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  /* Footer final mobile polish. */
  .jmj-footer{
    padding-bottom:70px !important;
  }
  .jmj-footer__inner{
    gap:0 !important;
  }

  /* Bottom nav final polish. */
  .jmj-mobile-bottom-nav{
    height:62px !important;
    padding-top:5px !important;
  }
  .jmj-mobile-bottom-nav a,
  .jmj-mobile-bottom-nav button{
    -webkit-tap-highlight-color:transparent !important;
  }
  .jmj-mobile-bottom-nav__account-icon{
    border:0 !important;
    box-shadow:none !important;
  }
}

/* Step 39: Member app UX security and drawer gesture polish */
@media (max-width: 767px){
  .jmj-mobile-bottom-nav a.is-active,
  .jmj-mobile-bottom-nav button[aria-expanded="true"]{
    color:#1f75a8 !important;
    font-weight:800 !important;
  }
  .jmj-mobile-bottom-nav a.is-active small,
  .jmj-mobile-bottom-nav button[aria-expanded="true"] small{
    color:#374151 !important;
    font-weight:900 !important;
  }
  body.jmj-filter-open,
  body.jmj-account-drawer-open{
    overflow:hidden !important;
    touch-action:none !important;
  }
  .jmj-mobile-account-drawer,
  body.page-template-public-active-members .jmj-filter-card,
  body.page-template-templatespublic-active-members-php .jmj-filter-card{
    touch-action:pan-y !important;
    overscroll-behavior:contain !important;
  }
  .jmj-mobile-account-drawer__nav a,
  .jmj-mobile-account-drawer__logout,
  .jmj-filter-close,
  .jmj-mobile-filter-toggle,
  .jmj-mobile-bottom-nav a,
  .jmj-mobile-bottom-nav button{
    min-height:44px !important;
  }
}

/* Step 40: Final mobile UI polish, compact filters, drawer submenu, and action icons */
@media (max-width: 767px){
  html.jmj-scroll-locked,
  body.jmj-scroll-locked,
  html.jmj-filter-open,
  body.jmj-filter-open,
  html.jmj-account-drawer-open,
  body.jmj-account-drawer-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
  }

  /* Mobile home filter: move field meaning into the input/select area and keep fields consistent. */
  body.home .jmj-home-search,
  body.front-page .jmj-home-search,
  body.page-template-front-page .jmj-home-search{
    gap:11px !important;
    padding:18px !important;
  }
  body.home .jmj-home-search .field label,
  body.front-page .jmj-home-search .field label,
  body.page-template-front-page .jmj-home-search .field label{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }
  body.home .jmj-home-search input,
  body.home .jmj-home-search select,
  body.home .jmj-home-search .jmj-locked-gender,
  body.front-page .jmj-home-search input,
  body.front-page .jmj-home-search select,
  body.front-page .jmj-home-search .jmj-locked-gender,
  body.page-template-front-page .jmj-home-search input,
  body.page-template-front-page .jmj-home-search select,
  body.page-template-front-page .jmj-home-search .jmj-locked-gender{
    width:100% !important;
    height:44px !important;
    padding:0 14px !important;
    border:1px solid #dfe5ee !important;
    border-radius:6px !important;
    background:#fff !important;
    color:#374151 !important;
    font-size:14px !important;
    line-height:44px !important;
    font-weight:500 !important;
    box-sizing:border-box !important;
  }
  body.home .jmj-home-search input::placeholder,
  body.front-page .jmj-home-search input::placeholder,
  body.page-template-front-page .jmj-home-search input::placeholder{
    color:#7b8190 !important;
    opacity:1 !important;
  }
  body.home .jmj-home-search .jmj-locked-gender,
  body.front-page .jmj-home-search .jmj-locked-gender,
  body.page-template-front-page .jmj-home-search .jmj-locked-gender{
    appearance:none !important;
    -webkit-appearance:none !important;
    cursor:default !important;
  }

  /* Mobile Active Members advanced search drawer: compact fields, no visible labels, same padding. */
  body.page-template-public-active-members .jmj-filter-card,
  body.page-template-templatespublic-active-members-php .jmj-filter-card{
    width:min(320px,88vw) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
  body.page-template-public-active-members .jmj-filter-card__head,
  body.page-template-templatespublic-active-members-php .jmj-filter-card__head{
    padding:13px 16px !important;
  }
  body.page-template-public-active-members .jmj-filter-card h3,
  body.page-template-templatespublic-active-members-php .jmj-filter-card h3{
    font-size:15px !important;
    font-weight:400 !important;
  }
  body.page-template-public-active-members .jmj-filter-grid,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:14px 18px 18px !important;
  }
  body.page-template-public-active-members .jmj-filter-grid > div,
  body.page-template-public-active-members .jmj-filter-grid > .jmj-two,
  body.page-template-public-active-members .jmj-filter-grid .jmj-two > div,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid > div,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid > .jmj-two,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid .jmj-two > div{
    margin:0 !important;
  }
  body.page-template-public-active-members .jmj-filter-grid .jmj-two,
  body.page-template-templatespublic-active-members-php .jmj-filter-grid .jmj-two{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  body.page-template-public-active-members .jmj-filter-card label,
  body.page-template-templatespublic-active-members-php .jmj-filter-card label{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }
  body.page-template-public-active-members .jmj-filter-card .jmj-input,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-input{
    height:42px !important;
    padding:0 13px !important;
    border-radius:6px !important;
    font-size:13px !important;
    font-weight:500 !important;
    color:#374151 !important;
    line-height:42px !important;
    box-sizing:border-box !important;
  }
  body.page-template-public-active-members .jmj-filter-card input::placeholder,
  body.page-template-templatespublic-active-members-php .jmj-filter-card input::placeholder{
    color:#7b8190 !important;
    opacity:1 !important;
  }
  body.page-template-public-active-members .jmj-filter-card .jmj-locked-gender,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-locked-gender{
    appearance:none !important;
    -webkit-appearance:none !important;
    background:#fff !important;
    cursor:default !important;
  }
  body.page-template-public-active-members .jmj-filter-card .jmj-btn,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-btn{
    height:44px !important;
    border-radius:8px !important;
    font-size:13px !important;
    font-weight:800 !important;
    color:#fff !important;
    margin-top:2px !important;
  }

  /* Account drawer submenu and logout polish. */
  .jmj-mobile-account-drawer__logout,
  .jmj-mobile-account-drawer__logout:visited,
  .jmj-mobile-account-drawer__logout:hover,
  .jmj-mobile-account-drawer__logout:focus{
    color:#fff !important;
    font-weight:900 !important;
  }
  .jmj-mobile-account-drawer__group-title{
    width:100% !important;
    border:0 !important;
    border-bottom:1px solid #f1f3f7 !important;
    font-family:inherit !important;
    cursor:pointer !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }
  .jmj-mobile-account-drawer__submenu[hidden]{display:none !important;}
  .jmj-mobile-account-drawer__submenu a{
    padding-left:30px !important;
    background:#fff !important;
    font-size:13px !important;
    font-weight:700 !important;
  }
  .jmj-drawer-chevron{
    margin-left:auto !important;
    font-size:17px !important;
    line-height:1 !important;
    transition:transform .2s ease !important;
  }
  .jmj-mobile-account-drawer__group-title[aria-expanded="true"] .jmj-drawer-chevron{
    transform:rotate(180deg) !important;
  }

  /* Active Members card/status/action icon polish. Photo Hidden badge is intentionally not moved. */
  body.page-template-public-active-members .jmj-member-list-card .meta-row,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row,
  body.page-template-public-active-members [data-jmj-presence],
  body.page-template-templatespublic-active-members-php [data-jmj-presence],
  body.page-template-public-member-profile .jmj-presence-online,
  body.page-template-public-member-profile .jmj-presence-offline,
  body.page-template-templatespublic-member-profile-php .jmj-presence-online,
  body.page-template-templatespublic-member-profile-php .jmj-presence-offline{
    white-space:nowrap !important;
  }
  body.page-template-public-active-members .jmj-actions-row,
  body.page-template-templatespublic-active-members-php .jmj-actions-row{
    gap:8px !important;
  }
  body.page-template-public-active-members .jmj-actions-row a,
  body.page-template-public-active-members .jmj-actions-row span,
  body.page-template-public-active-members .jmj-actions-row .jmj-linklike,
  body.page-template-templatespublic-active-members-php .jmj-actions-row a,
  body.page-template-templatespublic-active-members-php .jmj-actions-row span,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-linklike{
    color:#FD2C79 !important;
  }
  body.page-template-public-active-members .jmj-actions-row .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-action-ico{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff2f6 !important;
    color:#FD2C79 !important;
    font-size:14px !important;
    line-height:1 !important;
    margin:0 auto 3px !important;
  }
  body.page-template-public-active-members .jmj-actions-row a:first-child .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-actions-row a:first-child .jmj-action-ico{
    color:#e24b7a !important;
    background:#fff2f6 !important;
  }

  /* Profile mobile table polish and word wrapping. */
  body.page-template-public-member-profile .jmj-profile-accordion table th,
  body.page-template-public-member-profile .jmj-profile-accordion table td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table th,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td,
  body.page-template-public-member-profile .jmj-info-table th,
  body.page-template-public-member-profile .jmj-info-table td,
  body.page-template-templatespublic-member-profile-php .jmj-info-table th,
  body.page-template-templatespublic-member-profile-php .jmj-info-table td{
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:none !important;
    font-size:11.5px !important;
    line-height:1.32 !important;
    padding:8px 9px !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion table td:nth-child(odd),
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td:nth-child(odd){
    width:46% !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion table td:nth-child(even),
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td:nth-child(even){
    width:54% !important;
  }
}

/* Step 42: Final mobile app polish, badges, drawer scroll lock, compact cards/tables */
@media (max-width: 767px){
  /* Stronger mobile drawer scroll lock. Drawer content can scroll, background cannot. */
  html.jmj-scroll-locked,
  body.jmj-scroll-locked,
  html.jmj-filter-open,
  body.jmj-filter-open,
  html.jmj-account-drawer-open,
  body.jmj-account-drawer-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
    touch-action:none !important;
  }
  body.jmj-filter-open .jmj-filter-card,
  body.jmj-account-drawer-open .jmj-mobile-account-drawer{
    touch-action:pan-y !important;
    overscroll-behavior:contain !important;
  }

  /* Bottom nav badges only where needed: Messages and Account. */
  .jmj-mobile-bottom-nav a,
  .jmj-mobile-bottom-nav button{
    position:relative !important;
  }
  .jmj-mobile-bottom-nav__badge{
    position:absolute !important;
    top:5px !important;
    right:22% !important;
    min-width:16px !important;
    height:16px !important;
    padding:0 4px !important;
    border-radius:999px !important;
    background:#FD2C79 !important;
    color:#fff !important;
    font-size:10px !important;
    line-height:16px !important;
    text-align:center !important;
    font-style:normal !important;
    font-weight:800 !important;
    box-shadow:0 2px 6px rgba(253,44,121,.25) !important;
  }

  /* Mobile Active Members card final balance. Keep Photo Hidden badge in its current place. */
  body.page-template-public-active-members .jmj-member-list-card,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card{
    padding:16px !important;
    margin-bottom:18px !important;
    border-radius:12px !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .photo,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .photo{
    width:154px !important;
    height:154px !important;
    min-height:154px !important;
    margin:0 auto 13px !important;
    border-radius:50% !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .top h3,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .top h3{
    font-size:22px !important;
    line-height:1.16 !important;
    margin-bottom:2px !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .meta-row,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row{
    font-size:13px !important;
    line-height:1.35 !important;
    margin:4px 0 !important;
  }
  body.page-template-public-active-members .jmj-member-cols,
  body.page-template-templatespublic-active-members-php .jmj-member-cols{
    gap:10px 18px !important;
    margin-top:9px !important;
  }
  body.page-template-public-active-members .jmj-member-cols div div,
  body.page-template-templatespublic-active-members-php .jmj-member-cols div div{
    font-size:13px !important;
    line-height:1.28 !important;
    margin:5px 0 !important;
    display:grid !important;
    grid-template-columns:minmax(78px,1fr) minmax(70px,1fr) !important;
    column-gap:8px !important;
    align-items:start !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  body.page-template-public-active-members .jmj-member-cols strong,
  body.page-template-templatespublic-active-members-php .jmj-member-cols strong{
    margin-left:0 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
  }
  body.page-template-public-active-members .jmj-actions-row,
  body.page-template-templatespublic-active-members-php .jmj-actions-row{
    padding-top:12px !important;
    margin-top:14px !important;
    justify-content:space-between !important;
    gap:4px !important;
  }
  body.page-template-public-active-members .jmj-actions-row a,
  body.page-template-public-active-members .jmj-actions-row span,
  body.page-template-public-active-members .jmj-actions-row .jmj-linklike,
  body.page-template-templatespublic-active-members-php .jmj-actions-row a,
  body.page-template-templatespublic-active-members-php .jmj-actions-row span,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-linklike{
    min-width:48px !important;
    font-size:10.5px !important;
    line-height:1.15 !important;
    text-align:center !important;
    flex:1 1 0 !important;
  }
  body.page-template-public-active-members .jmj-actions-row .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-action-ico{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    font-size:14px !important;
  }

  /* Mobile profile detail typography: apply to all related info boxes consistently without changing section order. */
  body.page-template-public-member-profile .jmj-profile-accordion,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion{
    gap:18px !important;
  }
  body.page-template-public-member-profile .jmj-profile-section,
  body.page-template-templatespublic-member-profile-php .jmj-profile-section{
    margin-bottom:18px !important;
  }
  body.page-template-public-member-profile .jmj-profile-section h3,
  body.page-template-templatespublic-member-profile-php .jmj-profile-section h3{
    font-size:14px !important;
    line-height:1.25 !important;
    margin-bottom:10px !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion table,
  body.page-template-public-member-profile .jmj-info-table,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table,
  body.page-template-templatespublic-member-profile-php .jmj-info-table{
    width:100% !important;
    table-layout:fixed !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion table th,
  body.page-template-public-member-profile .jmj-profile-accordion table td,
  body.page-template-public-member-profile .jmj-info-table th,
  body.page-template-public-member-profile .jmj-info-table td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table th,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td,
  body.page-template-templatespublic-member-profile-php .jmj-info-table th,
  body.page-template-templatespublic-member-profile-php .jmj-info-table td{
    font-size:11px !important;
    line-height:1.28 !important;
    padding:7px 8px !important;
    vertical-align:middle !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:none !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion table th,
  body.page-template-public-member-profile .jmj-info-table th,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table th,
  body.page-template-templatespublic-member-profile-php .jmj-info-table th,
  body.page-template-public-member-profile .jmj-profile-accordion table td:nth-child(odd),
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td:nth-child(odd){
    font-weight:600 !important;
    color:#4b5563 !important;
  }
  body.page-template-public-member-profile .jmj-profile-accordion table td:nth-child(even),
  body.page-template-public-member-profile .jmj-info-table td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion table td:nth-child(even),
  body.page-template-templatespublic-member-profile-php .jmj-info-table td{
    font-weight:700 !important;
    color:#1f2937 !important;
  }

  /* Mobile home and drawer fields: same field height and clean placeholder-like text. */
  body.home .jmj-home-search input,
  body.home .jmj-home-search select,
  body.home .jmj-home-search .jmj-locked-gender,
  body.front-page .jmj-home-search input,
  body.front-page .jmj-home-search select,
  body.front-page .jmj-home-search .jmj-locked-gender,
  body.page-template-public-active-members .jmj-filter-card .jmj-input,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-input{
    min-height:44px !important;
    height:44px !important;
    padding:0 14px !important;
    font-size:13.5px !important;
    line-height:44px !important;
  }
  body.page-template-public-active-members .jmj-filter-card .jmj-btn,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-btn{
    position:sticky !important;
    bottom:10px !important;
    z-index:2 !important;
    box-shadow:0 8px 20px rgba(253,44,121,.18) !important;
  }

  /* Account drawer polish. */
  .jmj-mobile-account-drawer__logout{
    color:#fff !important;
  }
  .jmj-mobile-account-drawer__group-title[aria-expanded="false"] + .jmj-mobile-account-drawer__submenu{
    display:none !important;
  }
  .jmj-mobile-account-drawer__group-title[aria-expanded="true"] + .jmj-mobile-account-drawer__submenu{
    display:block !important;
  }
}

/* Step 44: Mobile action/message behavior polish */
.jmj-action-ajax-notice{
  position:sticky;
  top:10px;
  z-index:50;
  margin:0 0 12px;
  padding:10px 14px;
  border-radius:12px;
  background:#ecfdf3;
  color:#166534;
  font-weight:600;
  font-size:13px;
  box-shadow:0 10px 25px rgba(15,23,42,.08);
}
.jmj-action-ajax-notice.is-error{background:#fff1f2;color:#be123c;}
.jmj-action-ajax-notice.is-hidden{opacity:0;transform:translateY(-4px);transition:.25s ease;}
.jmj-btn.is-loading,.jmj-linklike.is-loading{opacity:.65;pointer-events:none;}
.jmj-chat-messages{scroll-behavior:smooth;}
@media (max-width: 767px){
  .jmj-chat-messages{
    overscroll-behavior:contain;
  }
  .jmj-action-ajax-notice{
    margin:10px 0 12px;
    font-size:12px;
  }
}
@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (max-height:520px){
  body:not(.wp-admin){
    background:#f3f6fb !important;
  }
  body:not(.wp-admin) .jmj-public-top,
  body:not(.wp-admin) .jmj-public-header,
  body:not(.wp-admin) .jmj-member-wrap,
  body:not(.wp-admin) .jmj-active-members-page,
  body:not(.wp-admin).home .jmj-home,
  body:not(.wp-admin).front-page .jmj-home,
  body:not(.wp-admin) .jmj-profile-detail-page,
  body:not(.wp-admin) footer{
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body:not(.wp-admin) .jmj-mobile-bottom-nav{
    max-width:430px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }
}

/* Step 45: Mobile member tables as readable cards */
@media (max-width: 767px) {
  .jmj-member-main .jmj-card .jmj-table-wrap,
  .jmj-member-main .jmj-table-wrap {
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .jmj-member-main .jmj-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    border: 0 !important;
    background: transparent !important;
    table-layout: auto !important;
  }

  .jmj-member-main .jmj-table thead {
    display: none !important;
  }

  .jmj-member-main .jmj-table tbody,
  .jmj-member-main .jmj-table tr,
  .jmj-member-main .jmj-table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .jmj-member-main .jmj-table tbody tr {
    margin: 0 0 14px !important;
    padding: 12px 14px !important;
    border: 1px solid #e7ebf1 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(31, 41, 55, 0.06) !important;
  }

  .jmj-member-main .jmj-table tbody tr:last-child {
    margin-bottom: 0 !important;
  }

  .jmj-member-main .jmj-table td {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 36px !important;
    padding: 8px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #f0f2f6 !important;
    color: #2b3342 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: right !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .jmj-member-main .jmj-table td:last-child {
    border-bottom: 0 !important;
  }

  .jmj-member-main .jmj-table td::before {
    content: attr(data-label) !important;
    flex: 0 0 42% !important;
    max-width: 42% !important;
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .jmj-member-main .jmj-table td[data-label="#"] {
    justify-content: flex-start !important;
    gap: 10px !important;
    color: #f62961 !important;
    font-weight: 700 !important;
  }

  .jmj-member-main .jmj-table td[data-label="Image"] {
    justify-content: center !important;
    padding: 4px 0 10px !important;
  }

  .jmj-member-main .jmj-table td[data-label="Image"]::before {
    display: none !important;
  }

  .jmj-member-main .jmj-table td[data-label="Image"] img {
    width: 62px !important;
    height: 62px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    box-shadow: 0 8px 18px rgba(31, 41, 55, 0.14) !important;
  }

  .jmj-member-main .jmj-table td[data-label="Name"],
  .jmj-member-main .jmj-table td[data-label="Member ID"],
  .jmj-member-main .jmj-table td[data-label="Status"] {
    font-weight: 600 !important;
  }

  .jmj-member-main .jmj-table td[data-label="Actions"],
  .jmj-member-main .jmj-table td[data-label="Options"] {
    display: block !important;
    padding-top: 12px !important;
    text-align: left !important;
  }

  .jmj-member-main .jmj-table td[data-label="Actions"]::before,
  .jmj-member-main .jmj-table td[data-label="Options"]::before {
    display: block !important;
    max-width: none !important;
    margin-bottom: 8px !important;
  }

  .jmj-member-main .jmj-table td[data-label="Actions"] a,
  .jmj-member-main .jmj-table td[data-label="Options"] a,
  .jmj-member-main .jmj-table td[data-label="Actions"] button,
  .jmj-member-main .jmj-table td[data-label="Options"] button,
  .jmj-member-main .jmj-table td[data-label="Actions"] .jmj-btn,
  .jmj-member-main .jmj-table td[data-label="Options"] .jmj-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    margin: 4px 5px 4px 0 !important;
    padding: 8px 13px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }

  .jmj-member-main .jmj-table td[data-label="Actions"] form,
  .jmj-member-main .jmj-table td[data-label="Options"] form {
    display: inline-block !important;
    margin: 0 !important;
  }

  .jmj-member-main .jmj-table td[colspan] {
    display: block !important;
    width: 100% !important;
    min-height: 160px !important;
    padding: 18px 10px !important;
    border: 0 !important;
    text-align: center !important;
  }

  .jmj-member-main .jmj-table td[colspan]::before {
    display: none !important;
  }

  .jmj-member-main .jmj-table td[colspan] .jmj-empty {
    display: flex !important;
    min-height: 130px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .jmj-member-main .jmj-table td[colspan] .jmj-empty-title {
    display: block !important;
    width: 100% !important;
    max-width: 260px !important;
    margin: 0 auto !important;
    color: #1f2937 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: normal !important;
  }

  .jmj-member-main .jmj-card,
  .jmj-member-main .jmj-card-b,
  .jmj-member-main .jmj-card-c {
    overflow: visible !important;
  }

  .jmj-member-main .jmj-card-h,
  .jmj-member-main .jmj-card-title,
  .jmj-member-main .jmj-card-header h2,
  .jmj-member-main .jmj-h2 {
    white-space: normal !important;
  }
}

/* Step 46: Mobile UI final layout fixes */
@media (max-width: 767px) {
  /* Home search and active member filter: mobile labels live inside the field. */
	.jmj-dashboard-profile-warning-card {
    display: none !important;
  }
  .jmj-home-search .field label,
  .jmj-filter-card .jmj-filter-grid label {
    display: none !important;
  }

  .jmj-home-search input,
  .jmj-home-search select,
  .jmj-home-search .jmj-locked-gender,
  .jmj-filter-card .jmj-input,
  .jmj-filter-card select,
  .jmj-filter-card input {
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 44px !important;
  }

  .jmj-home-search .field,
  .jmj-filter-grid > div,
  .jmj-filter-grid > .jmj-two {
    margin-bottom: 9px !important;
  }

  .jmj-filter-grid .jmj-two {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
  }

  .jmj-filter-card .jmj-btn,
  .jmj-home-search .jmj-btn {
    min-height: 46px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  /* Active Members card: use one readable column below name on mobile. */
  body.page-template-public-active-members .jmj-member-cols,
  body.page-template-templatespublic-active-members-php .jmj-member-cols,
  body.page-template-member-matched-profile .jmj-member-cols,
  body.page-template-templatesmember-matched-profile-php .jmj-member-cols {
    display: block !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-top: 10px !important;
  }

  body.page-template-public-active-members .jmj-member-cols > div,
  body.page-template-templatespublic-active-members-php .jmj-member-cols > div,
  body.page-template-member-matched-profile .jmj-member-cols > div,
  body.page-template-templatesmember-matched-profile-php .jmj-member-cols > div {
    display: block !important;
    width: 100% !important;
  }

  body.page-template-public-active-members .jmj-member-cols div div,
  body.page-template-templatespublic-active-members-php .jmj-member-cols div div,
  body.page-template-member-matched-profile .jmj-member-cols div div,
  body.page-template-templatesmember-matched-profile-php .jmj-member-cols div div {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 5px 0 !important;
    border-bottom: 1px solid #f1f3f7 !important;
    color: #6d7280 !important;
    font-size: 12.5px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  body.page-template-public-active-members .jmj-member-cols > div:last-child div:last-child,
  body.page-template-templatespublic-active-members-php .jmj-member-cols > div:last-child div:last-child,
  body.page-template-member-matched-profile .jmj-member-cols > div:last-child div:last-child,
  body.page-template-templatesmember-matched-profile-php .jmj-member-cols > div:last-child div:last-child {
    border-bottom: 0 !important;
  }

  body.page-template-public-active-members .jmj-member-cols strong,
  body.page-template-templatespublic-active-members-php .jmj-member-cols strong,
  body.page-template-member-matched-profile .jmj-member-cols strong,
  body.page-template-templatesmember-matched-profile-php .jmj-member-cols strong {
    flex: 0 1 62% !important;
    max-width: 62% !important;
    margin-left: 8px !important;
    color: #202636 !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: right !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Mobile profile hero: center identity, details, tabs and Like area. */
  body.page-template-public-member-profile .jmj-profile-hero__grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__grid {
    text-align: center !important;
    justify-items: center !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__content,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__content {
    width: 100% !important;
    text-align: center !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__content h1,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__content h1,
  body.page-template-public-member-profile .jmj-profile-hero__id,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__id {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__meta,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__meta > *,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta > * {
    display: block !important;
    width: 100% !important;
    margin: 3px auto !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__tabs,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__tabs {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    margin-top: 8px !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__aside,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__aside {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card {
    width: 100% !important;
    max-width: 260px !important;
    margin: 8px auto 0 !important;
    padding: 8px 0 2px !important;
    border-left: 0 !important;
    text-align: center !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card h3,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card h3 {
    text-align: center !important;
    font-size: 14px !important;
    font-weight:400 !important;
    margin: 0 0 8px !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card form,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card form {
    display: flex !important;
    justify-content: center !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card span {
    display: block !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  /* Account drawer typography should feel like an app menu, not bold WordPress text. */
  .jmj-mobile-account-drawer__nav a,
  .jmj-mobile-account-drawer__nav button,
  .jmj-mobile-account-drawer__submenu a,
  .jmj-mobile-account-drawer__group-title {
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  .jmj-mobile-account-drawer__profile strong{
    font-weight: 600 !important;
  }

  .jmj-mobile-account-drawer__logout,
  .jmj-mobile-account-drawer__logout:visited,
  .jmj-mobile-account-drawer__logout:hover,
  .jmj-mobile-account-drawer__logout:focus {
    color: #fff !important;
    font-weight: 600 !important;
  }

  /* Keep mobile profile information readable and prevent awkward word breaks. */
  body.page-template-public-member-profile .jmj-profile-info-row,
  body.page-template-templatespublic-member-profile-php .jmj-profile-info-row {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.page-template-public-member-profile .jmj-profile-info-row span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-info-row span,
  body.page-template-public-member-profile .jmj-profile-info-row strong,
  body.page-template-templatespublic-member-profile-php .jmj-profile-info-row strong {
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: none !important;
  }
}

/* Step 49: Mobile live notification/status polish. */
.jmj-live-badge-pulse{
  animation: jmjBadgePulse .55s ease-out;
}
@keyframes jmjBadgePulse{
  0%{transform:scale(1)}
  45%{transform:scale(1.28)}
  100%{transform:scale(1)}
}
.jmj-mobile-online-dot{
  display:none;
}
@media (max-width:680px){
  .jmj-member-main > .jmj-grid-4,
  .jmj-member-wrap .jmj-member-main > .jmj-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .jmj-member-main > .jmj-grid-4 .jmj-stat,
  .jmj-member-wrap .jmj-member-main > .jmj-grid-4 .jmj-stat{
    min-height:118px !important;
    padding:14px 10px !important;
    border-radius:14px !important;
  }
  .jmj-member-main > .jmj-grid-4 .jmj-stat-icon,
  .jmj-member-wrap .jmj-member-main > .jmj-grid-4 .jmj-stat-icon{
    font-size:26px !important;
    line-height:1 !important;
  }
  .jmj-member-main > .jmj-grid-4 .jmj-stat-num,
  .jmj-member-wrap .jmj-member-main > .jmj-grid-4 .jmj-stat-num{
    font-size:28px !important;
    line-height:1.1 !important;
  }
  .jmj-member-main > .jmj-grid-4 .jmj-stat-label,
  .jmj-member-wrap .jmj-member-main > .jmj-grid-4 .jmj-stat-label{
    font-size:12px !important;
    line-height:1.25 !important;
  }
  .jmj-member-list-card .photo{
    overflow:visible !important;
  }
  .jmj-member-list-card .photo .jmj-mobile-online-dot{
    display:none;
    position:absolute;
    top:10px;
    right:10px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#18e331;
    border:3px solid #fff;
    box-shadow:0 0 0 0 rgba(24,227,49,.6);
    z-index:6;
    pointer-events:none;
  }
  .jmj-member-list-card .photo .jmj-mobile-online-dot.is-online{
    display:block;
    animation:jmjOnlinePulse 1.25s ease-in-out infinite;
  }
}
@keyframes jmjOnlinePulse{
  0%{box-shadow:0 0 0 0 rgba(24,227,49,.6); transform:scale(1)}
  65%{box-shadow:0 0 0 9px rgba(24,227,49,0); transform:scale(1.08)}
  100%{box-shadow:0 0 0 0 rgba(24,227,49,0); transform:scale(1)}
}

/* Step 50: Mobile profile hero and account drawer polish. */
.jmj-profile-hero__tabs button.is-active,
.jmj-profile-hero__tabs span.is-active{
  color:#fff !important;
}
.jmj-profile-hero__aside{
  justify-content:center !important;
}
@media (max-width:700px){
  body.page-template-public-member-profile .jmj-profile-hero,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero{
    padding-top:28px !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__grid{
    text-align:center !important;
    justify-items:center !important;
    align-items:center !important;
    gap:14px !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__photo,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__photo{
    width:250px !important;
    height:250px !important;
    max-width:82vw !important;
    margin:0 auto 18px !important;
    border-radius:18px !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__photo img,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__content,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__content,
  body.page-template-public-member-profile .jmj-profile-hero__content h1,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__content h1,
  body.page-template-public-member-profile .jmj-profile-hero__id,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__id{
    width:100% !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__content h1,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__content h1{
    font-size:30px !important;
    line-height:1.12 !important;
    margin-bottom:8px !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__id,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__id{
    font-size:13px !important;
    margin-bottom:10px !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__meta,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta{
    text-align:center !important;
    justify-items:center !important;
    padding:12px 0 !important;
    gap:4px !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__meta > *,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta > *{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    white-space:nowrap !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__tabs,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__tabs{
    justify-content:center !important;
    text-align:center !important;
    width:100% !important;
    gap:18px !important;
    margin-top:10px !important;
  }
  body.page-template-public-member-profile .jmj-profile-hero__aside,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__aside{
    justify-content:center !important;
    text-align:center !important;
    width:100% !important;
  }
  body.page-template-public-member-profile .jmj-profile-interest-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    max-width:260px !important;
    margin:12px auto 0 !important;
    text-align:center !important;
  }
}

@media (max-width:768px){
  .jmj-mobile-account-drawer__nav a,
  .jmj-mobile-account-drawer__nav button,
  .jmj-mobile-account-drawer__group-title{
    color:#202636 !important;
    font-weight:400 !important;
  }
  .jmj-mobile-account-drawer__nav a.is-active,
  .jmj-mobile-account-drawer__group-title.is-active{
    background:#fff0f6 !important;
    border-left:3px solid #fd2c79 !important;
    color:#202636 !important;
  }
  .jmj-mobile-account-drawer__submenu a.is-active{
    background:#fff6fa !important;
    border-left:3px solid #fd2c79 !important;
    color:#202636 !important;
  }
  .jmj-mobile-account-drawer__group-title[aria-expanded="true"] .jmj-drawer-chevron{
    transform:rotate(180deg);
  }
  .jmj-drawer-chevron{
    display:inline-flex;
    transition:transform .2s ease;
  }
  .jmj-mobile-account-drawer__logout,
  .jmj-mobile-account-drawer__logout:visited,
  .jmj-mobile-account-drawer__logout:hover,
  .jmj-mobile-account-drawer__logout:focus{
    color:#fff !important;
  }
}

/* Step 51: Mobile readability, one-column data, and portrait-style landscape guard. */
@media (max-width: 767px) {
  /* Keep mobile search/filter fields compact with field meaning inside the input/select area. */
  .jmj-frontpage .jmj-home-search .field label,
  .jmj-active-members-page .jmj-filter-card .jmj-filter-grid label {
    display: none !important;
  }

  .jmj-frontpage .jmj-home-search input,
  .jmj-frontpage .jmj-home-search select,
  .jmj-frontpage .jmj-home-search .jmj-locked-gender,
  .jmj-active-members-page .jmj-filter-card .jmj-input,
  .jmj-active-members-page .jmj-filter-card select,
  .jmj-active-members-page .jmj-filter-card input {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 13px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 44px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  .jmj-active-members-page .jmj-filter-grid .jmj-two {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
  }

  .jmj-active-members-page .jmj-filter-grid > div,
  .jmj-active-members-page .jmj-filter-grid > .jmj-two,
  .jmj-frontpage .jmj-home-search .field {
    margin-bottom: 9px !important;
  }

  /* Active Members and matched cards: every detail below the name uses one readable column. */
  body.page-template-public-active-members .jmj-member-cols,
  body.page-template-templatespublic-active-members-php .jmj-member-cols,
  body.page-template-member-matched-profile .jmj-member-cols,
  body.page-template-templatesmember-matched-profile-php .jmj-member-cols,
  body.page-template-member-matched .jmj-member-cols,
  body.page-template-templatesmember-matched-php .jmj-member-cols {
    display: block !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  body.page-template-public-active-members .jmj-member-cols > div,
  body.page-template-templatespublic-active-members-php .jmj-member-cols > div,
  body.page-template-member-matched-profile .jmj-member-cols > div,
  body.page-template-templatesmember-matched-profile-php .jmj-member-cols > div,
  body.page-template-member-matched .jmj-member-cols > div,
  body.page-template-templatesmember-matched-php .jmj-member-cols > div {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.page-template-public-active-members .jmj-member-cols div div,
  body.page-template-templatespublic-active-members-php .jmj-member-cols div div,
  body.page-template-member-matched-profile .jmj-member-cols div div,
  body.page-template-templatesmember-matched-profile-php .jmj-member-cols div div,
  body.page-template-member-matched .jmj-member-cols div div,
  body.page-template-templatesmember-matched-php .jmj-member-cols div div {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    border-bottom: 1px solid #f1f3f7 !important;
    color: #6d7280 !important;
    font-size: 12.5px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.page-template-public-active-members .jmj-member-cols strong,
  body.page-template-templatespublic-active-members-php .jmj-member-cols strong,
  body.page-template-member-matched-profile .jmj-member-cols strong,
  body.page-template-templatesmember-matched-profile-php .jmj-member-cols strong,
  body.page-template-member-matched .jmj-member-cols strong,
  body.page-template-templatesmember-matched-php .jmj-member-cols strong {
    flex: 0 1 62% !important;
    max-width: 62% !important;
    min-width: 0 !important;
    margin-left: 8px !important;
    color: #202636 !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: right !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: none !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .meta-row,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row {
    justify-content: center !important;
    white-space: nowrap !important;
  }

  /* Member account card/table pages: prevent awkward broken words and keep mobile cards readable. */
  .jmj-member-main,.jmj-member-main table,.jmj-member-main td,.jmj-member-main th,.jmj-profile-section,.jmj-profile-info-row,.jmj-profile-info-row span,.jmj-profile-info-row strong{
    word-break: normal !important;
    hyphens: none !important;
  }

  .jmj-profile-info-row span,.jmj-profile-info-row strong{
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }

  .jmj-profile-info-row strong{
    font-weight: 500 !important;
  }

  .jmj-profile-info-row {
    padding: 7px 0 !important;
  }
}

/* On small phones rotated to landscape, keep a portrait-style app width instead of stretching like desktop. */
@media (max-height: 520px) and (orientation: landscape) and (pointer: coarse) {
  body {
    min-width: 320px !important;
    overflow-x: hidden !important;
    background: #f5f7fb !important;
  }

  .jmj-member-header__inner,
  .jmj-tabs__inner,
  .jmj-container,
  .jmj-frontpage,
  .jmj-home-hero__media,
  .jmj-premium-section,
  .jmj-footer__inner {
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .jmj-home-search,.jmj-member-wrap,.jmj-active-members-page .jmj-container,.jmj-profile-hero{
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .jmj-active-layout,.jmj-member-body,.jmj-grid-2,.jmj-home-search,.jmj-premium-grid{
    grid-template-columns: 1fr !important;
  }

  .jmj-mobile-bottom-nav {
    max-width: 430px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

/* Step 52: Global frontend dropdown style match
   Match SGBMS Matrimonial style across frontend dropdowns without changing field logic. */
:root {
  --jmj-select-border: #dfe3ec;
  --jmj-select-border-focus: #FD2C79;
  --jmj-select-focus-shadow: rgba(253, 44, 121, 0.14);
  --jmj-select-text: #374151;
  --jmj-select-muted: #7b8190;
  --jmj-select-bg: #ffffff;
}

body:not(.wp-admin):not(.sgbms-program-layout) select,
body:not(.wp-admin):not(.sgbms-program-layout) select.jmj-input,
body:not(.wp-admin) .jmj-field select,
body:not(.wp-admin) .jmj-member-form select,
body:not(.wp-admin) .jmj-home-search select,
body:not(.wp-admin) .jmj-filter-card select,
body:not(.wp-admin) .jmj-auth-card select,
body:not(.wp-admin) .jmj-profile-section select,
body:not(.wp-admin) .jmj-mobile-account-drawer select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 42px 0 13px !important;
  border: 1px solid var(--jmj-select-border) !important;
  border-radius: 6px !important;
  background-color: var(--jmj-select-bg) !important;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.2 1.4 6 6.1l4.8-4.7' fill='none' stroke='%238f97ab' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px 8px !important;
  color: var(--jmj-select-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 44px !important;
  box-shadow: none !important;
  outline: 0 !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

body:not(.wp-admin):not(.sgbms-program-layout) select:hover,
body:not(.wp-admin):not(.sgbms-program-layout) select.jmj-input:hover,
body:not(.wp-admin) .jmj-field select:hover,
body:not(.wp-admin) .jmj-member-form select:hover,
body:not(.wp-admin) .jmj-home-search select:hover,
body:not(.wp-admin) .jmj-filter-card select:hover {
  border-color: #f6a5b8 !important;
}

body:not(.wp-admin):not(.sgbms-program-layout) select:focus,
body:not(.wp-admin):not(.sgbms-program-layout) select:focus-visible,
body:not(.wp-admin):not(.sgbms-program-layout) select.jmj-input:focus,
body:not(.wp-admin) .jmj-field select:focus,
body:not(.wp-admin) .jmj-member-form select:focus,
body:not(.wp-admin) .jmj-home-search select:focus,
body:not(.wp-admin) .jmj-filter-card select:focus,
body:not(.wp-admin) .jmj-auth-card select:focus {
  border-color: var(--jmj-select-border-focus) !important;
  box-shadow: 0 0 0 3px var(--jmj-select-focus-shadow) !important;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.2 1.4 6 6.1l4.8-4.7' fill='none' stroke='%23FD2C79' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

body:not(.wp-admin):not(.sgbms-program-layout) select:disabled,
body:not(.wp-admin):not(.sgbms-program-layout) select[readonly] {
  color: #4b5563 !important;
  background-color: #f9fafb !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

body:not(.wp-admin):not(.sgbms-program-layout) select option {
  background: #ffffff !important;
  color: #374151 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 10px 12px !important;
}

body:not(.wp-admin):not(.sgbms-program-layout) select option:checked,
body:not(.wp-admin):not(.sgbms-program-layout) select option:hover,
body:not(.wp-admin):not(.sgbms-program-layout) select option:focus {
  background: #FD2C79 !important;
  color: #ffffff !important;
}

body:not(.wp-admin):not(.sgbms-program-layout) select option[value=""],
body:not(.wp-admin):not(.sgbms-program-layout) select option[value="0"] {
  color: var(--jmj-select-muted) !important;
}

/* Keep select styling consistent inside two-column age/filter rows and compact mobile drawers. */
.jmj-two select.jmj-input,
.jmj-filter-grid select.jmj-input,
.jmj-home-search select.jmj-input {
  min-width: 0 !important;
}

/* Mobile: keep dropdowns compact and app-like while preserving the same style. */
@media (max-width: 700px) {
  body:not(.wp-admin):not(.sgbms-program-layout) select,
  body:not(.wp-admin):not(.sgbms-program-layout) select.jmj-input,
  body:not(.wp-admin) .jmj-field select,
  body:not(.wp-admin) .jmj-member-form select,
  body:not(.wp-admin) .jmj-home-search select,
  body:not(.wp-admin) .jmj-filter-card select,
  body:not(.wp-admin) .jmj-auth-card select {
    min-height: 42px !important;
    height: 42px !important;
    line-height: 42px !important;
    padding-left: 12px !important;
    padding-right: 38px !important;
    background-position: right 12px center !important;
    font-size: 13.5px !important;
    border-radius: 6px !important;
  }
}

/* Step 60: Fix mobile active member online dot visibility without breaking the circular profile photo. */
@media (max-width:680px){
  body.page-template-public-active-members .jmj-member-list-card .photo,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .photo{
    position:relative !important;
    width:149px !important;
    height:139px !important;
    min-height:155px !important;
    margin:0 auto 13px !important;
    border-radius:0 !important;
    background:none !important;
    overflow:visible !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .photo img,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .photo img{
    width:139px !important;
    height:139px !important;
    max-width:none !important;
    margin:0 auto !important;
    display:block !important;
    border-radius:50% !important;
    object-fit:cover !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .photo .jmj-mobile-online-dot,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .photo .jmj-mobile-online-dot{
    position:absolute !important;
    top:10px !important;
    right:8px !important;
    width:18px !important;
    height:18px !important;
    border-radius:50% !important;
    background:#18e331 !important;
    border:3px solid #fff !important;
    box-shadow:0 0 0 0 rgba(24,227,49,.6) !important;
    z-index:30 !important;
    pointer-events:none !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .photo .jmj-mobile-online-dot.is-online,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .photo .jmj-mobile-online-dot.is-online{
    display:block !important;
    animation:jmjOnlinePulse 1.25s ease-in-out infinite !important;
  }
}


/* Step 63: Mobile account notice and logout contrast fix */
@media (max-width: 767px){
  .jmj-mobile-account-drawer__logout,
  .jmj-mobile-account-drawer__logout:link,
  .jmj-mobile-account-drawer__logout:visited,
  .jmj-mobile-account-drawer__logout:hover,
  .jmj-mobile-account-drawer__logout:focus,
  .jmj-mobile-account-drawer__logout:active{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    font-weight:800 !important;
    text-decoration:none !important;
  }
}

/* Step 64: Mobile profile section card unification.
   Makes all expanded member-profile sections use the Contact Details card rhythm. */
@media (max-width: 767px){
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-grid,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-contact-card,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-about-block,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-contact-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-about-block,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-grid{
    width:100% !important;
    max-width:100% !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:0 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.035) !important;
    overflow:hidden !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-grid,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-grid{
    display:block !important;
    padding:12px 16px !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-row,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-row,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row{
    display:grid !important;
    grid-template-columns:minmax(105px, 42%) minmax(0, 58%) !important;
    align-items:start !important;
    gap:12px !important;
    min-height:0 !important;
    padding:9px 0 !important;
    margin:0 !important;
    border:0 !important;
    border-bottom:1px solid #edf1f5 !important;
    background:transparent !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-row:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-row:last-child,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row:last-child{
    border-bottom:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-row span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-row span,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row span{
    color:#596273 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    text-align:left !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-row strong,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-row strong,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row strong,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row strong{
    color:#111827 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    text-align:right !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-contact-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-contact-card{
    padding:12px 16px !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-contact-card .jmj-profile-info-row,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-contact-card .jmj-profile-info-row{
    padding:9px 0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-contact-card .jmj-muted,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-contact-card .jmj-muted{
    padding:0 !important;
    margin:0 0 12px !important;
    color:#6b7280 !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-contact-request-actions,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-contact-request-actions{
    padding:8px 0 2px !important;
    margin:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-contact-request-actions .jmj-btn,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-contact-request-actions .jmj-btn{
    width:auto !important;
    min-width:0 !important;
    min-height:40px !important;
    padding:0 18px !important;
    border-radius:8px !important;
    font-size:13px !important;
    line-height:1 !important;
    white-space:normal !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-about-block,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-about-block{
    padding:14px 16px !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-about-block p,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-about-block p{
    margin:0 !important;
    color:#596273 !important;
    font-size:14px !important;
    line-height:1.55 !important;
    font-weight:500 !important;
    overflow-wrap:anywhere !important;
  }
}

/* Step 64 / Step 3: Mobile stacked cards for extra education and work tables.
   Prevents three-column tables from cutting text on small screens. */
@media (max-width: 767px){
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card{
    padding:12px 13px !important;
    overflow:visible !important;
    -webkit-overflow-scrolling:auto !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education .jmj-profile-table,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career .jmj-profile-table,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education .jmj-profile-table,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career .jmj-profile-table{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    table-layout:auto !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education thead,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career thead,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education thead,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career thead{
    display:none !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education tbody,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career tbody,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education tbody,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career tbody{
    display:block !important;
    width:100% !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education tr,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career tr,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education tr,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career tr{
    display:block !important;
    width:100% !important;
    margin:0 0 12px !important;
    padding:0 !important;
    border:1px solid #edf1f5 !important;
    border-radius:9px !important;
    background:#fff !important;
    box-shadow:0 8px 20px rgba(15,23,42,.035) !important;
    overflow:hidden !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education tr:last-child,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career tr:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education tr:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career tr:last-child{
    margin-bottom:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education td,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career td{
    display:grid !important;
    grid-template-columns:minmax(96px, 38%) minmax(0, 62%) !important;
    align-items:start !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
    padding:10px 12px !important;
    border:0 !important;
    border-bottom:1px solid #edf1f5 !important;
    color:#111827 !important;
    text-align:right !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education td:last-child,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career td:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education td:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career td:last-child{
    border-bottom:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education td:before,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career td:before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education td:before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career td:before{
    color:#596273 !important;
    font-weight:800 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education td:nth-child(1):before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education td:nth-child(1):before{content:"Degree";}
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education td:nth-child(2):before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education td:nth-child(2):before{content:"Institution";}
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education td:nth-child(3):before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education td:nth-child(3):before{content:"Status";}

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career td:nth-child(1):before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career td:nth-child(1):before{content:"Designation";}
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career td:nth-child(2):before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career td:nth-child(2):before{content:"Company";}
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career td:nth-child(3):before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career td:nth-child(3):before{content:"Status";}

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education .jmj-status-chip,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career .jmj-status-chip,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education .jmj-status-chip,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career .jmj-status-chip{
    justify-self:end !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
    line-height:1.2 !important;
  }
}

/* Step 65: Final mobile profile card correction.
   Make every profile section use the same inset white card pattern as Contact Details. */
@media (max-width: 767px){
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-grid,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-contact-card,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-about-block,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-contact-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-about-block,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-grid{
    width:calc(100% - 28px) !important;
    max-width:calc(100% - 28px) !important;
    margin:0 0 0 28px !important;
    padding:16px 18px !important;
    background:#fff !important;
    border:1px solid #e4e9f1 !important;
    border-radius:0 0 16px 0 !important;
    box-shadow:0 12px 28px rgba(15,23,42,.045) !important;
    overflow:hidden !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-grid,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-grid,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-grid{
    display:block !important;
    grid-template-columns:none !important;
    gap:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-row,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-row,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row{
    display:grid !important;
    grid-template-columns:minmax(108px,42%) minmax(0,58%) !important;
    align-items:start !important;
    gap:12px !important;
    width:100% !important;
    min-height:0 !important;
    padding:10px 0 !important;
    margin:0 !important;
    border:0 !important;
    border-right:0 !important;
    border-bottom:1px solid #edf1f5 !important;
    background:transparent !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-row:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-row:last-child,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row:last-child{
    border-bottom:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-row span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-row span,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row span{
    color:#4b5563 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    text-align:left !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-info-row strong,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-info-row strong,
  body.page-template-public-member-profile .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row strong,
  body.page-template-templatespublic-member-profile-php .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-info-row strong{
    color:#111827 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    text-align:right !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-contact-card .jmj-muted,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-contact-card .jmj-muted{
    padding:0 !important;
    margin:0 0 12px !important;
    color:#6b7280 !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-contact-request-actions,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-contact-request-actions{
    padding:8px 0 2px !important;
    margin:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-contact-request-actions .jmj-btn,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-contact-request-actions .jmj-btn{
    width:auto !important;
    min-height:40px !important;
    padding:0 18px !important;
    border-radius:8px !important;
    font-size:13px !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-about-block p,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-about-block p{
    margin:0 !important;
    color:#596273 !important;
    font-size:14px !important;
    line-height:1.55 !important;
    font-weight:500 !important;
    overflow-wrap:anywhere !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card{
    overflow:visible !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education .jmj-profile-table,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career .jmj-profile-table,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education .jmj-profile-table,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career .jmj-profile-table{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education thead,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career thead,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education thead,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career thead{
    display:none !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education tbody,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career tbody,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education tbody,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career tbody,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education tr,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career tr,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education tr,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career tr{
    display:block !important;
    width:100% !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education tr,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career tr,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education tr,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career tr{
    margin:0 0 12px !important;
    padding:0 !important;
    border:1px solid #edf1f5 !important;
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education tr:last-child,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career tr:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education tr:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career tr:last-child{
    margin-bottom:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education td,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education td,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career td{
    display:grid !important;
    grid-template-columns:minmax(104px,42%) minmax(0,58%) !important;
    gap:12px !important;
    width:100% !important;
    padding:10px 12px !important;
    border:0 !important;
    border-bottom:1px solid #edf1f5 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    color:#111827 !important;
    font-weight:700 !important;
    text-align:right !important;
    overflow-wrap:anywhere !important;
    white-space:normal !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education td:last-child,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career td:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education td:last-child,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career td:last-child{
    border-bottom:0 !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education td:before,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career td:before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education td:before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career td:before{
    color:#4b5563 !important;
    font-size:13px !important;
    font-weight:700 !important;
    text-align:left !important;
  }

  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--education .jmj-status-chip,
  body.page-template-public-member-profile .jmj-profile-accordion .jmj-profile-table-card--career .jmj-status-chip,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--education .jmj-status-chip,
  body.page-template-templatespublic-member-profile-php .jmj-profile-accordion .jmj-profile-table-card--career .jmj-status-chip{
    justify-self:end !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
  }
}

/* Step 66: Mobile profile cards must exactly follow Contact Details card inset layout.
   Broad selectors are used because WordPress body template classes can vary. */
@media (max-width: 767px){
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid,
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-contact-card,
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-table-card,
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-about-block,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid{
    box-sizing:border-box !important;
    display:block !important;
    width:calc(100% - 30px) !important;
    max-width:calc(100% - 30px) !important;
    margin:0 0 0 30px !important;
    padding:18px 18px !important;
    background:#ffffff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:0 0 16px 0 !important;
    box-shadow:0 12px 28px rgba(15,23,42,.05) !important;
    overflow:hidden !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid{
    grid-template-columns:none !important;
    gap:0 !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid > .jmj-profile-info-row,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid > .jmj-profile-info-row{
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:minmax(112px,42%) minmax(0,58%) !important;
    align-items:start !important;
    gap:12px !important;
    width:100% !important;
    padding:10px 0 !important;
    margin:0 !important;
    border:0 !important;
    border-right:0 !important;
    border-bottom:1px solid #e8edf3 !important;
    background:transparent !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid > .jmj-profile-info-row:last-child,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid > .jmj-profile-info-row:last-child{
    border-bottom:0 !important;
    padding-bottom:0 !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid > .jmj-profile-info-row:first-child,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid > .jmj-profile-info-row:first-child{
    padding-top:0 !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid > .jmj-profile-info-row span,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid > .jmj-profile-info-row span{
    display:block !important;
    color:#4b5563 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    text-align:left !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid > .jmj-profile-info-row strong,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid > .jmj-profile-info-row strong{
    display:block !important;
    color:#111827 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    text-align:right !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-contact-card .jmj-profile-info-row{
    padding:10px 0 !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-contact-card .jmj-profile-info-row:first-child{
    padding-top:0 !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-contact-card .jmj-profile-info-row:last-of-type{
    padding-bottom:10px !important;
  }
}

/* Step 67: Match mobile profile info grid font weight with Contact Details card. */
@media (max-width: 767px){
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid > .jmj-profile-info-row span,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid > .jmj-profile-info-row span{
    font-weight:600 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    color:#4b5563 !important;
  }

  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid > .jmj-profile-info-row strong,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid > .jmj-profile-info-row strong{
    font-weight:600 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    color:#111827 !important;
  }
}


/* Step 68: Move mobile profile detail cards slightly left while keeping Contact Details style. */
@media (max-width: 767px){
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid,
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-contact-card,
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-table-card,
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-about-block,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid{
    width:calc(100% - 16px) !important;
    max-width:calc(100% - 16px) !important;
    margin-left:16px !important;
    margin-right:0 !important;
  }
}

/* Step 69: Align mobile profile detail cards with the section title/timeline start.
   Previous card offset was still too far right on small screens. */
@media (max-width: 767px){
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-info-grid,
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-contact-card,
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-table-card,
  .jmj-profile-accordion .jmj-accordion-panel > .jmj-profile-about-block,
  .jmj-profile-tab-panel[data-panel="partner"] > .jmj-profile-info-grid{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* Step 70: Mobile public profile hero polish - center identity, clearer status, clean message icon. */
@media (max-width: 700px){
  body.page-template-public-member-profile .jmj-profile-hero__content,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__content,
  body.page-template-public-member-profile .jmj-profile-hero__content h1,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__content h1,
  body.page-template-public-member-profile .jmj-profile-hero__id,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__id{
    display:block !important;
    width:100% !important;
    max-width:360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__content h1,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__content h1{
    margin-top:0 !important;
    margin-bottom:8px !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__id,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__id{
    margin-bottom:14px !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__meta,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta{
    text-align:center !important;
    justify-items:center !important;
    align-items:center !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__meta > *,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta > *{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__meta .jmj-presence-online,
  body.page-template-public-member-profile .jmj-profile-hero__meta .jmj-presence-offline,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta .jmj-presence-online,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta .jmj-presence-offline{
    display:inline-flex !important;
    width:auto !important;
    min-width:76px !important;
    max-width:max-content !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    margin:4px auto 0 !important;
    padding:4px 10px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.18) !important;
    border:1px solid rgba(255,255,255,.32) !important;
    color:#fff !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:700 !important;
    text-shadow:0 1px 1px rgba(0,0,0,.12) !important;
    white-space:nowrap !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__meta .jmj-presence-online::before,
  body.page-template-public-member-profile .jmj-profile-hero__meta .jmj-presence-offline::before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta .jmj-presence-online::before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta .jmj-presence-offline::before{
    content:"" !important;
    display:inline-block !important;
    width:8px !important;
    height:8px !important;
    flex:0 0 8px !important;
    border-radius:50% !important;
    box-shadow:0 0 0 2px rgba(255,255,255,.45) !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__meta .jmj-presence-online::before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta .jmj-presence-online::before{
    background:#20e56b !important;
  }

  body.page-template-public-member-profile .jmj-profile-hero__meta .jmj-presence-offline::before,
  body.page-template-templatespublic-member-profile-php .jmj-profile-hero__meta .jmj-presence-offline::before{
    background:#cbd5e1 !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card a.jmj-profile-interest-btn,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card a.jmj-profile-interest-btn{
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 auto 6px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#fff !important;
    font-size:26px !important;
    line-height:1 !important;
    text-decoration:none !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card a.jmj-profile-interest-btn:hover,
  body.page-template-public-member-profile .jmj-profile-interest-card a.jmj-profile-interest-btn:focus,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card a.jmj-profile-interest-btn:hover,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card a.jmj-profile-interest-btn:focus{
    border:0 !important;
    outline:none !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body.page-template-public-member-profile .jmj-profile-interest-card span,
  body.page-template-templatespublic-member-profile-php .jmj-profile-interest-card span{
    margin-top:0 !important;
    color:#fff !important;
  }
}


/* Step 71: Strong mobile hero polish with generic selectors, not dependent on WordPress body template class. */
@media (max-width: 900px){
  .jmj-profile-hero .jmj-container,
  .jmj-profile-hero__grid,
  .jmj-profile-hero__content{
    text-align:center !important;
  }

  .jmj-profile-hero__content{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block !important;
  }

  .jmj-profile-hero__content h1,
  .jmj-profile-hero__id{
    display:block !important;
    width:100% !important;
    max-width:360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  .jmj-profile-hero__content h1{
    margin-top:0 !important;
    margin-bottom:8px !important;
  }

  .jmj-profile-hero__id{
    margin-bottom:14px !important;
  }

  .jmj-profile-hero__meta{
    display:block !important;
    width:100% !important;
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  .jmj-profile-hero__meta > *{
    display:block !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  .jmj-profile-hero__meta [data-jmj-presence],
  .jmj-profile-hero__meta .jmj-presence-online,
  .jmj-profile-hero__meta .jmj-presence-offline{
    display:inline-flex !important;
    width:auto !important;
    min-width:78px !important;
    max-width:max-content !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    margin:6px auto 0 !important;
    padding:5px 11px !important;
    border-radius:999px !important;
    background:rgba(17,24,39,.24) !important;
    border:1px solid rgba(255,255,255,.38) !important;
    color:#fff !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:700 !important;
    text-shadow:none !important;
    white-space:nowrap !important;
  }

  .jmj-profile-hero__meta [data-jmj-presence]::before,
  .jmj-profile-hero__meta .jmj-presence-online::before,
  .jmj-profile-hero__meta .jmj-presence-offline::before{
    content:"" !important;
    display:inline-block !important;
    width:8px !important;
    height:8px !important;
    flex:0 0 8px !important;
    border-radius:50% !important;
    box-shadow:0 0 0 2px rgba(255,255,255,.55) !important;
  }

  .jmj-profile-hero__meta .jmj-presence-online::before{
    background:#22c55e !important;
  }

  .jmj-profile-hero__meta .jmj-presence-offline::before{
    background:#94a3b8 !important;
  }

  .jmj-profile-interest-card{
    text-align:center !important;
    border-left:0 !important;
  }

  .jmj-profile-interest-card a.jmj-profile-message-link,
  .jmj-profile-interest-card a.jmj-profile-interest-btn.jmj-profile-message-link,
  a.jmj-profile-interest-btn.jmj-profile-message-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
    text-decoration:none !important;
  }

  .jmj-profile-interest-card a.jmj-profile-message-link:hover,
  .jmj-profile-interest-card a.jmj-profile-message-link:focus,
  .jmj-profile-interest-card a.jmj-profile-message-link:active{
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#fff !important;
    text-decoration:none !important;
  }

  .jmj-profile-message-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    height:auto !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    font-size:24px !important;
    line-height:1 !important;
  }

  .jmj-profile-message-text{
    display:inline !important;
    width:auto !important;
    margin:0 !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
  }

  .jmj-profile-interest-card > span{
    display:none !important;
  }
}


/* Step72: Active members mobile card center alignment + app-like no pinch zoom */
html,
body{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

@media(max-width:680px){
  html,
  body{
    overscroll-behavior-y:auto !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .content,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .content{
    text-align:center !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .top,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .top{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    width:100% !important;
    margin:0 auto 4px !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .top h3,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .top h3{
    display:block !important;
    width:100% !important;
    margin:0 auto 6px !important;
    text-align:center !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .meta-row,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    margin:0 auto 14px !important;
    text-align:center !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .meta-row strong,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row strong{
    display:inline-block !important;
    text-align:center !important;
  }
}

/* Step74: Mobile messaging action buttons theme-color polish */
.jmj-chat-header__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.jmj-chat-header__form{
  margin:0;
}
.jmj-chat-header__actions .jmj-btn{
  min-height:42px;
  border-radius:12px;
  padding:0 16px;
  font-weight:800;
  letter-spacing:.01em;
  border:1px solid rgba(255,77,113,.28) !important;
  background:#fff !important;
  color:var(--jmj-accent) !important;
  box-shadow:0 8px 18px rgba(255,77,113,.08);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}
.jmj-chat-header__actions .jmj-btn:hover,
.jmj-chat-header__actions .jmj-btn:focus{
  transform:translateY(-1px);
  background:var(--jmj-accent-soft) !important;
  border-color:rgba(255,77,113,.45) !important;
  color:var(--jmj-accent-dark) !important;
  box-shadow:0 12px 22px rgba(255,77,113,.13);
}
.jmj-chat-header__actions .jmj-btn:active{
  transform:translateY(0);
}
.jmj-chat-header__actions .jmj-chat-header__form:nth-child(1) .jmj-btn::before{content:"✕";font-size:12px;margin-right:7px;line-height:1;color:var(--jmj-accent) !important;}
.jmj-chat-header__actions .jmj-chat-header__form:nth-child(2) .jmj-btn::before{content:"⊘";font-size:14px;margin-right:7px;line-height:1;color:var(--jmj-accent) !important;}
.jmj-chat-header__actions .jmj-chat-header__form:nth-child(3) .jmj-btn::before{content:"⚑";font-size:13px;margin-right:7px;line-height:1;color:var(--jmj-accent) !important;}
.jmj-chat-header__actions .jmj-chat-header__form:nth-child(1) .jmj-btn,
.jmj-chat-header__actions .jmj-chat-header__form:nth-child(2) .jmj-btn,
.jmj-chat-header__actions .jmj-chat-header__form:nth-child(3) .jmj-btn{
  background:#fff !important;
  color:var(--jmj-accent) !important;
  border-color:rgba(255,77,113,.28) !important;
}
@media(max-width:680px){
  .jmj-chat-header{
    padding:16px !important;
    gap:14px !important;
    border-bottom:1px solid #f3dbe2 !important;
    background:#fff !important;
  }
  .jmj-chat-header__title{
    width:100% !important;
  }
  .jmj-chat-header__title strong{
    display:block !important;
    margin-bottom:6px !important;
    font-size:18px !important;
    color:#1f2937 !important;
  }
  .jmj-chat-header__actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .jmj-chat-header__form,
  .jmj-chat-header__actions .jmj-btn{
    width:100% !important;
  }
  .jmj-chat-header__actions .jmj-btn{
    height:44px !important;
    min-height:44px !important;
    padding:0 8px !important;
    border-radius:12px !important;
    font-size:13px !important;
    line-height:1 !important;
    justify-content:center !important;
    white-space:nowrap !important;
    background:linear-gradient(135deg,#fff 0%,var(--jmj-accent-soft) 100%) !important;
    color:var(--jmj-accent) !important;
    border-color:rgba(255,77,113,.30) !important;
  }
  .jmj-chat-header__actions .jmj-btn:hover,
  .jmj-chat-header__actions .jmj-btn:focus{
    background:linear-gradient(90deg,var(--jmj-accent),#ff6b4a) !important;
    color:#fff !important;
    border-color:transparent !important;
  }
  .jmj-chat-header__actions .jmj-btn:hover::before,
  .jmj-chat-header__actions .jmj-btn:focus::before{
    color:#fff !important;
  }
}
@media(max-width:360px){
  .jmj-chat-header__actions{
    gap:8px !important;
  }
  .jmj-chat-header__actions .jmj-btn{
    font-size:12px !important;
    padding:0 6px !important;
  }
  .jmj-chat-header__actions .jmj-btn::before{
    margin-right:5px !important;
  }
}

/* Step80: Fix mobile checkbox layout on My Profile language sections.
   Checkbox inputs were inheriting 100% input width from form fields, which pushed language labels out of alignment. */
.jmj-profile-section-card .jmj-checkbox-list.jmj-checkbox-grid,
.jmj-profile-section-card .jmj-checkbox-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px 18px !important;
  align-items:start !important;
}
.jmj-profile-section-card .jmj-checkbox-grid .jmj-check{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr) !important;
  align-items:center !important;
  justify-content:start !important;
  justify-items:start !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  white-space:normal !important;
  line-height:1.35 !important;
}
.jmj-profile-section-card .jmj-checkbox-grid .jmj-check input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  padding:0 !important;
  margin:0 !important;
  flex:0 0 16px !important;
  justify-self:start !important;
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
}
.jmj-profile-section-card .jmj-checkbox-grid .jmj-check span{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  text-align:left !important;
  overflow-wrap:break-word !important;
  color:#374151 !important;
}
@media (max-width:680px){
  .jmj-profile-section-card .jmj-checkbox-list.jmj-checkbox-grid,
  .jmj-profile-section-card .jmj-checkbox-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .jmj-profile-section-card .jmj-checkbox-grid .jmj-check{
    grid-template-columns:18px minmax(0,1fr) !important;
    min-height:22px !important;
  }
}


/* Step 83: Use uploaded SVG icons and theme controlled colors. */
.jmj-svg-icon{
  width:1em !important;
  height:1em !important;
  display:block !important;
  color:currentColor !important;
  fill:currentColor !important;
}
.jmj-action-ico{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#FD2C79 !important;
}
.jmj-action-ico .jmj-svg-icon{
  width:17px !important;
  height:17px !important;
}
.jmj-actions-row a,
.jmj-actions-row span,
.jmj-linklike{
  color:#FD2C79 !important;
}
@media (max-width:767px){
  .jmj-mobile-bottom-nav .jmj-mobile-nav-ico,
  .jmj-mobile-bottom-nav__account-icon{
    color:#8b95a5 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:24px !important;
    height:24px !important;
    margin:0 auto !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
  .jmj-mobile-bottom-nav .jmj-svg-icon{
    width:21px !important;
    height:21px !important;
  }
  .jmj-mobile-bottom-nav a.is-active .jmj-mobile-nav-ico,
  .jmj-mobile-bottom-nav a.is-active .jmj-svg-icon,
  .jmj-mobile-bottom-nav button[aria-expanded="true"] .jmj-mobile-nav-ico,
  .jmj-mobile-bottom-nav button[aria-expanded="true"] .jmj-svg-icon{
    color:#FD2C79 !important;
  }
  .jmj-mobile-bottom-nav a.is-active,
  .jmj-mobile-bottom-nav button[aria-expanded="true"]{
    color:#FD2C79 !important;
  }
}

/* Step 84: Restore member photo for the mobile Account bottom tab. */
@media (max-width:767px){
  .jmj-mobile-bottom-nav__account-icon{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto !important;
    background:#eef2f7 !important;
    color:#8b95a5 !important;
  }
  .jmj-mobile-bottom-nav__account-icon img{
    width:24px !important;
    height:24px !important;
    display:block !important;
    object-fit:cover !important;
    border-radius:50% !important;
  }
}

/* Step89: remove ignored member from current list instantly after AJAX success. */
.jmj-action-removing{
  opacity:0!important;
  transform:translateY(8px)!important;
  transition:opacity .22s ease, transform .22s ease!important;
  pointer-events:none!important;
}

/* Step90: Messaging presence color and duplicate header cleanup */
.jmj-chat-list__presence.jmj-presence-online,
.jmj-chat-header .jmj-presence-online{
  color:#16a34a !important;
  font-weight:700 !important;
}
.jmj-chat-list__presence.jmj-presence-offline,
.jmj-chat-header .jmj-presence-offline{
  color:#6b7280 !important;
  font-weight:600 !important;
}
.jmj-chat-header__actions--only{
  width:100%;
  justify-content:flex-start;
}

/* Step93: Mobile messaging keeps internal scroll with page handoff at edges.
   The message list scrolls normally, then passes extra up/down movement to the page. */
@media (max-width: 991px){
  .jmj-chat-layout__main{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  .jmj-chat-messages{
    height:auto !important;
    max-height:50vh !important;
    min-height:260px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:auto !important;
    touch-action:pan-y !important;
  }
  .jmj-chat-composer-wrap{
    position:relative !important;
    z-index:1;
  }
}


/* STEP96: Force every real heading tag to normal weight across the full website. */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body h1 *,
html body h2 *,
html body h3 *,
html body h4 *,
html body h5 *,
html body h6 * {
  font-weight: 400 !important;
}

/* Step 101: Match Partner Preference tab detail layout with Basic Information / Present Address cards. */
.jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content > .jmj-profile-info-grid{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:760px !important;
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:0 0 16px 0 !important;
  box-shadow:0 12px 28px rgba(15,23,42,.05) !important;
  overflow:hidden !important;
  padding:18px 18px !important;
  display:block !important;
}
.jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content > .jmj-profile-info-grid > .jmj-profile-info-row{
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(112px,42%) minmax(0,58%) !important;
  align-items:start !important;
  gap:12px !important;
  width:100% !important;
  padding:10px 0 !important;
  margin:0 !important;
  border:0 !important;
  border-right:0 !important;
  border-bottom:1px solid #e8edf3 !important;
  background:transparent !important;
}
.jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content > .jmj-profile-info-grid > .jmj-profile-info-row:first-child{
  padding-top:0 !important;
}
.jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content > .jmj-profile-info-grid > .jmj-profile-info-row:last-child{
  border-bottom:0 !important;
  padding-bottom:0 !important;
}
.jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content > .jmj-profile-info-grid > .jmj-profile-info-row span,
.jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content > .jmj-profile-info-grid > .jmj-profile-info-row strong{
  display:block !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
  white-space:normal !important;
  word-break:normal !important;
}
.jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content > .jmj-profile-info-grid > .jmj-profile-info-row span{
  color:#4b5563 !important;
  text-align:left !important;
  overflow-wrap:break-word !important;
}
.jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content > .jmj-profile-info-grid > .jmj-profile-info-row strong{
  color:#111827 !important;
  text-align:right !important;
  overflow-wrap:anywhere !important;
}
@media (max-width:767px){
  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section,
  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .jmj-profile-tab-panel[data-panel="partner"] .jmj-profile-section__content > .jmj-profile-info-grid{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
}


/* Step103: Stabilize mobile taps on public profile tabs and accordion headers. */
@media (max-width: 768px){
  .jmj-profile-hero__tabs button,
  .jmj-profile-accordion .jmj-accordion-header{
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
  }
}

/* STEP104: Remove mobile tap highlight flash across member area */
@media (hover: none), (pointer: coarse), (max-width: 768px) {
    a,button,input,select,textarea,label,[role="button"],[role="tab"],[tabindex],.jmj-member-wrap a,.jmj-member-wrap button,.jmj-member-wrap label,.jmj-member-wrap [role="button"],.jmj-member-wrap [role="tab"],.jmj-member-wrap [tabindex],.jmj-mobile-bottom-nav,.jmj-mobile-bottom-nav *,.jmj-mobile-account-drawer,.jmj-mobile-account-drawer *{
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
        -webkit-touch-callout: none;
    }

    .jmj-member-wrap a:focus,.jmj-member-wrap a:active,.jmj-member-wrap button:focus,.jmj-member-wrap button:active,.jmj-member-wrap [role="button"]:focus,.jmj-member-wrap [role="button"]:active,.jmj-member-wrap [role="tab"]:focus,.jmj-member-wrap [role="tab"]:active,.jmj-mobile-bottom-nav a:focus,.jmj-mobile-bottom-nav a:active,.jmj-mobile-account-drawer a:focus,.jmj-mobile-account-drawer a:active{
        outline: none !important;
        box-shadow: none !important;
    }
}

/* Step105: make header navigation use WordPress menu output cleanly */
.jmj-primary-nav .jmj-primary-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  padding:0;
}
.jmj-primary-nav .jmj-primary-menu li{
  list-style:none;
  margin:0;
  padding:0;
}
.jmj-primary-nav .jmj-primary-menu a{
  text-decoration:none;
}
.jmj-primary-nav .jmj-primary-menu .current-menu-item > a,
.jmj-primary-nav .jmj-primary-menu .current_page_item > a{
  border-bottom:2px solid var(--jmj-accent);
  padding-bottom:2px;
}
@media(max-width:680px){
  .jmj-primary-nav .jmj-primary-menu{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:0 !important;
    justify-content:flex-start !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
  }
  .jmj-primary-nav .jmj-primary-menu li{
    flex:0 0 auto !important;
  }
  .jmj-primary-nav .jmj-primary-menu a{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    min-height:42px !important;
    margin-right:28px !important;
    padding:0 0 10px !important;
  }
  .jmj-primary-nav .jmj-primary-menu .current-menu-item > a,
  .jmj-primary-nav .jmj-primary-menu .current_page_item > a{
    border-bottom-width:3px !important;
  }
}

/* Step 107: one consistent header/nav visual style on every public page */
body:not(.wp-admin) .jmj-topstrip__inner,
body:not(.wp-admin) .jmj-member-header__inner,
body:not(.wp-admin) .jmj-tabs__inner,
body:not(.wp-admin) .jmj-container{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:16px !important;
  padding-right:16px !important;
}

body:not(.wp-admin) .jmj-member-header{
  background:#fff !important;
  border-bottom:1px solid var(--jmj-border) !important;
  box-shadow:none !important;
}

body:not(.wp-admin) .jmj-member-header__inner{
  padding-top:16px !important;
  padding-bottom:16px !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  text-align:left !important;
}

body:not(.wp-admin) .jmj-brand{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  flex:0 0 auto !important;
}

body:not(.wp-admin) .jmj-brand__logo,
body:not(.wp-admin) .jmj-brand__logo a{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  color:var(--jmj-accent) !important;
  font-size:22px !important;
  line-height:1.25 !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
  text-decoration:none !important;
}

body:not(.wp-admin) .jmj-primary-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  padding:0 !important;
  margin:0 !important;
  border-bottom:0 !important;
  overflow:visible !important;
  white-space:normal !important;
  flex:1 1 auto !important;
}

body:not(.wp-admin) .jmj-primary-nav ul,
body:not(.wp-admin) .jmj-primary-menu{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

body:not(.wp-admin) .jmj-primary-nav li,
body:not(.wp-admin) .jmj-primary-menu li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

body:not(.wp-admin) .jmj-primary-nav a,
body:not(.wp-admin) .jmj-primary-menu a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:auto !important;
  margin:0 !important;
  padding:0 0 2px !important;
  color:var(--jmj-accent) !important;
  font-size:13px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  border-bottom:2px solid transparent !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

body:not(.wp-admin) .jmj-primary-nav a:hover,
body:not(.wp-admin) .jmj-primary-nav a.active,
body:not(.wp-admin) .jmj-primary-nav .current-menu-item > a,
body:not(.wp-admin) .jmj-primary-nav .current_page_item > a,
body:not(.wp-admin) .jmj-primary-nav .current-menu-ancestor > a,
body:not(.wp-admin) .jmj-primary-menu a:hover,
body:not(.wp-admin) .jmj-primary-menu .current-menu-item > a,
body:not(.wp-admin) .jmj-primary-menu .current_page_item > a,
body:not(.wp-admin) .jmj-primary-menu .current-menu-ancestor > a{
  color:var(--jmj-accent) !important;
  border-bottom-color:var(--jmj-accent) !important;
}

body:not(.wp-admin) .jmj-user{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 auto !important;
}

body:not(.wp-admin) .jmj-user__name{
  color:var(--jmj-text) !important;
  font-size:13px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
}

@media (min-width: 768px){
  body.page-template-public-active-members .jmj-topstrip__inner,
  body.page-template-public-active-members .jmj-member-header__inner,
  body.page-template-public-active-members .jmj-tabs__inner,
  body.page-template-public-active-members .jmj-container,
  body.page-template-templatespublic-active-members-php .jmj-topstrip__inner,
  body.page-template-templatespublic-active-members-php .jmj-member-header__inner,
  body.page-template-templatespublic-active-members-php .jmj-tabs__inner,
  body.page-template-templatespublic-active-members-php .jmj-container{
    max-width:1180px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

@media (max-width: 767px){
  body:not(.wp-admin) .jmj-topstrip{display:none !important;}
  body:not(.wp-admin) .jmj-member-header__inner{
    display:block !important;
    max-width:none !important;
    width:100% !important;
    padding:14px 0 0 !important;
    text-align:center !important;
  }
  body:not(.wp-admin) .jmj-brand{
    text-align:center !important;
    margin:0 0 15px !important;
    padding:0 16px !important;
  }
  body:not(.wp-admin) .jmj-brand__logo,
  body:not(.wp-admin) .jmj-brand__logo a{
    display:block !important;
    margin:0 auto !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    color:#FD2C79 !important;
  }
  body:not(.wp-admin) .jmj-primary-nav,
  body:not(.wp-admin) .jmj-primary-nav ul,
  body:not(.wp-admin) .jmj-primary-menu{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    gap:0 !important;
    width:100% !important;
    max-width:100vw !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    padding:0 16px !important;
    margin:0 !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }
  body:not(.wp-admin) .jmj-primary-nav::-webkit-scrollbar,
  body:not(.wp-admin) .jmj-primary-nav ul::-webkit-scrollbar,
  body:not(.wp-admin) .jmj-primary-menu::-webkit-scrollbar{display:none !important;}
  body:not(.wp-admin) .jmj-primary-nav a,
  body:not(.wp-admin) .jmj-primary-menu a{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    min-height:42px !important;
    margin:0 28px 0 0 !important;
    padding:0 0 10px !important;
    color:#FD204F !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    letter-spacing:.01em !important;
    border-bottom:3px solid transparent !important;
    text-decoration:none !important;
  }
  body:not(.wp-admin) .jmj-primary-nav a:hover,
  body:not(.wp-admin) .jmj-primary-nav a.active,
  body:not(.wp-admin) .jmj-primary-nav .current-menu-item > a,
  body:not(.wp-admin) .jmj-primary-nav .current_page_item > a,
  body:not(.wp-admin) .jmj-primary-nav .current-menu-ancestor > a,
  body:not(.wp-admin) .jmj-primary-menu a:hover,
  body:not(.wp-admin) .jmj-primary-menu .current-menu-item > a,
  body:not(.wp-admin) .jmj-primary-menu .current_page_item > a,
  body:not(.wp-admin) .jmj-primary-menu .current-menu-ancestor > a{
    color:#FD204F !important;
    border-bottom-color:#FD204F !important;
  }
  body:not(.wp-admin) .jmj-user{display:none !important;}
}

/* Step 109: Common mobile homepage spacing cleanup for logged in and logged out users */
@media (max-width: 767px){
  body.home:not(.wp-admin) .jmj-brand__logo,
  body.home:not(.wp-admin) .jmj-brand__logo a,
  body.front-page:not(.wp-admin) .jmj-brand__logo,
  body.front-page:not(.wp-admin) .jmj-brand__logo a,
  body.page-template-front-page:not(.wp-admin) .jmj-brand__logo,
  body.page-template-front-page:not(.wp-admin) .jmj-brand__logo a{
    font-size:20px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
  }

  body.home:not(.wp-admin) .jmj-primary-nav,
  body.home:not(.wp-admin) .jmj-primary-nav ul,
  body.home:not(.wp-admin) .jmj-primary-menu,
  body.front-page:not(.wp-admin) .jmj-primary-nav,
  body.front-page:not(.wp-admin) .jmj-primary-nav ul,
  body.front-page:not(.wp-admin) .jmj-primary-menu,
  body.page-template-front-page:not(.wp-admin) .jmj-primary-nav,
  body.page-template-front-page:not(.wp-admin) .jmj-primary-nav ul,
  body.page-template-front-page:not(.wp-admin) .jmj-primary-menu{
    justify-content:center !important;
    text-align:center !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  body.home:not(.wp-admin) .jmj-primary-nav a,
  body.home:not(.wp-admin) .jmj-primary-menu a,
  body.front-page:not(.wp-admin) .jmj-primary-nav a,
  body.front-page:not(.wp-admin) .jmj-primary-menu a,
  body.page-template-front-page:not(.wp-admin) .jmj-primary-nav a,
  body.page-template-front-page:not(.wp-admin) .jmj-primary-menu a{
    margin-left:13px !important;
    margin-right:13px !important;
  }

  body.home:not(.wp-admin) .jmj-home-hero--loggedin,
  body.front-page:not(.wp-admin) .jmj-home-hero--loggedin,
  body.page-template-front-page:not(.wp-admin) .jmj-home-hero--loggedin{
    padding-top:0 !important;
  }

  body.home:not(.wp-admin) .jmj-home-hero__media,
  body.front-page:not(.wp-admin) .jmj-home-hero__media,
  body.page-template-front-page:not(.wp-admin) .jmj-home-hero__media{
    min-height:350px !important;
    padding-bottom:90px !important;
  }

  body.home:not(.wp-admin) .jmj-home-hero__content,
  body.front-page:not(.wp-admin) .jmj-home-hero__content,
  body.page-template-front-page:not(.wp-admin) .jmj-home-hero__content{
    padding-top:20px !important;
  }

  body.home:not(.wp-admin) .jmj-home-hero--public,
  body.front-page:not(.wp-admin) .jmj-home-hero--public,
  body.page-template-front-page:not(.wp-admin) .jmj-home-hero--public{
    min-height:350px !important;
  }

  body.home:not(.wp-admin) .jmj-home-public-overlay,
  body.front-page:not(.wp-admin) .jmj-home-public-overlay,
  body.page-template-front-page:not(.wp-admin) .jmj-home-public-overlay{
    min-height:350px !important;
    padding-bottom:55px !important;
  }

  body.home:not(.wp-admin) .jmj-home-public-copy h1,
  body.home:not(.wp-admin) .jmj-home-public-copy p,
  body.front-page:not(.wp-admin) .jmj-home-public-copy h1,
  body.front-page:not(.wp-admin) .jmj-home-public-copy p,
  body.page-template-front-page:not(.wp-admin) .jmj-home-public-copy h1,
  body.page-template-front-page:not(.wp-admin) .jmj-home-public-copy p{
    color:#fff !important;
  }

  body.home:not(.wp-admin) .jmj-home-search,
  body.front-page:not(.wp-admin) .jmj-home-search,
  body.page-template-front-page:not(.wp-admin) .jmj-home-search{
    margin-top:-72px !important;
  }

  body.home:not(.wp-admin) .jmj-premium-section,
  body.front-page:not(.wp-admin) .jmj-premium-section,
  body.page-template-front-page:not(.wp-admin) .jmj-premium-section{
    padding-top:18px !important;
    padding-bottom:42px !important;
  }

  body.home:not(.wp-admin) .jmj-footer,
  body.front-page:not(.wp-admin) .jmj-footer,
  body.page-template-front-page:not(.wp-admin) .jmj-footer{
    padding-bottom:24px !important;
  }

  body.home:not(.wp-admin) .jmj-footer__bottom,
  body.front-page:not(.wp-admin) .jmj-footer__bottom,
  body.page-template-front-page:not(.wp-admin) .jmj-footer__bottom{
    padding-bottom:12px !important;
  }
}

/* Step 110: logged-out homepage action buttons */
.jmj-home-auth-actions{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:18px;flex-wrap:wrap}
.jmj-home-auth-actions .jmj-btn{min-width:130px;text-align:center}
.jmj-home-auth-actions .jmj-btn--ghost{background:#fff;color:var(--jmj-accent);border:1px solid rgba(255,31,98,.28)}
@media(max-width:600px){.jmj-home-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jmj-home-auth-actions .jmj-btn{min-width:0;width:100%;padding-left:12px;padding-right:12px}}

/* Step 112: global mobile header consistency and footer/blank space cleanup */
@media (max-width: 767px){
  /* One logo and nav style for every front page, not only homepage */
  body:not(.wp-admin) .jmj-member-header__inner{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    padding:14px 0 0 !important;
    text-align:center !important;
  }
  body:not(.wp-admin) .jmj-brand{
    display:block !important;
    text-align:center !important;
    margin:0 0 15px !important;
    padding:0 16px !important;
  }
  body:not(.wp-admin) .jmj-brand__logo,
  body:not(.wp-admin) .jmj-brand__logo a{
    display:block !important;
    margin:0 auto !important;
    color:#FD2C79 !important;
    font-size:20px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    letter-spacing:.01em !important;
    text-decoration:none !important;
  }
  body:not(.wp-admin) .jmj-primary-nav,
  body:not(.wp-admin) .jmj-primary-nav ul,
  body:not(.wp-admin) .jmj-primary-menu{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
    gap:0 !important;
    width:100% !important;
    max-width:100vw !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    text-align:center !important;
    padding:0 10px !important;
    margin:0 auto !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }
  body:not(.wp-admin) .jmj-primary-nav::-webkit-scrollbar,
  body:not(.wp-admin) .jmj-primary-nav ul::-webkit-scrollbar,
  body:not(.wp-admin) .jmj-primary-menu::-webkit-scrollbar{display:none !important;}
  body:not(.wp-admin) .jmj-primary-nav li,
  body:not(.wp-admin) .jmj-primary-menu li{
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }
  body:not(.wp-admin) .jmj-primary-nav a,
  body:not(.wp-admin) .jmj-primary-menu a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    margin:0 13px !important;
    padding:0 0 10px !important;
    color:#FD204F !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    letter-spacing:.01em !important;
    border-bottom:3px solid transparent !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }
  body:not(.wp-admin) .jmj-primary-nav a:hover,
  body:not(.wp-admin) .jmj-primary-nav a.active,
  body:not(.wp-admin) .jmj-primary-nav .current-menu-item > a,
  body:not(.wp-admin) .jmj-primary-nav .current_page_item > a,
  body:not(.wp-admin) .jmj-primary-nav .current-menu-ancestor > a,
  body:not(.wp-admin) .jmj-primary-menu a:hover,
  body:not(.wp-admin) .jmj-primary-menu .current-menu-item > a,
  body:not(.wp-admin) .jmj-primary-menu .current_page_item > a,
  body:not(.wp-admin) .jmj-primary-menu .current-menu-ancestor > a{
    color:#FD204F !important;
    border-bottom-color:#FD204F !important;
  }

  /* Logged out homepage should end after red account section, no blank white block before footer */
  body.home:not(.logged-in) .jmj-frontpage,
  body.front-page:not(.logged-in) .jmj-frontpage,
  body.page-template-front-page:not(.logged-in) .jmj-frontpage,
  body:not(.logged-in) .jmj-frontpage--loggedout{
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
  }
  body.home:not(.logged-in) .jmj-home-hero--public,
  body.front-page:not(.logged-in) .jmj-home-hero--public,
  body.page-template-front-page:not(.logged-in) .jmj-home-hero--public,
  body:not(.logged-in) .jmj-frontpage--loggedout .jmj-home-hero--public{
    margin:0 !important;
    border-bottom:0 !important;
  }
  body.home:not(.logged-in) .jmj-home-public-overlay,
  body.front-page:not(.logged-in) .jmj-home-public-overlay,
  body.page-template-front-page:not(.logged-in) .jmj-home-public-overlay,
  body:not(.logged-in) .jmj-frontpage--loggedout .jmj-home-public-overlay{
    padding-bottom:55px !important;
  }

  /* Remove white footer gap. Logged out has no bottom member nav. Logged in keeps nav safe but footer fills the reserved area. */
  body:not(.logged-in){
    padding-bottom:0 !important;
  }
  body.logged-in:not(.wp-admin){
    padding-bottom:70px !important;
  }
  body.logged-in:not(.wp-admin) .jmj-footer{
    margin-bottom:-70px !important;
    padding-bottom:70px !important;
  }
  body:not(.logged-in) .jmj-footer{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  body:not(.wp-admin) .jmj-footer{
    margin-top:0 !important;
  }
  body:not(.wp-admin) .jmj-footer__bottom{
    margin-bottom:0 !important;
  }
}


/* Step 115: Clear disabled state for add-only shortlisted actions */
body:not(.wp-admin) .jmj-action-state,
body:not(.wp-admin) .jmj-linklike.jmj-action-state,
body:not(.wp-admin) .jmj-actions-row .jmj-action-state,
body:not(.wp-admin) .jmj-btn.jmj-action-state{
  color:#7b8493 !important;
  background:#f3f4f6 !important;
  border:1px solid #d8dde6 !important;
  border-radius:10px !important;
  padding:8px 12px !important;
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  opacity:1 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
body:not(.wp-admin) .jmj-action-state .jmj-action-ico,
body:not(.wp-admin) .jmj-action-state .jmj-svg-icon{
  color:#9aa3b2 !important;
  fill:currentColor !important;
}
body:not(.wp-admin) .jmj-actions-row .jmj-action-state:hover,
body:not(.wp-admin) .jmj-linklike.jmj-action-state:hover,
body:not(.wp-admin) .jmj-btn.jmj-action-state:hover{
  color:#7b8493 !important;
  background:#f3f4f6 !important;
  border-color:#d8dde6 !important;
  transform:none !important;
}
@media (max-width:767px){
  body:not(.wp-admin) .jmj-action-state,
  body:not(.wp-admin) .jmj-linklike.jmj-action-state,
  body:not(.wp-admin) .jmj-actions-row .jmj-action-state,
  body:not(.wp-admin) .jmj-btn.jmj-action-state{
    min-height:42px !important;
    padding:9px 13px !important;
  }
}

/* Step 116: Keep disabled Shortlisted action aligned with other mobile action icons */
@media (max-width:767px){
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    padding:0 !important;
    margin:0 !important;
    min-height:34px !important;
    width:100% !important;
    min-width:48px !important;
    flex:1 1 0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:5px !important;
    color:#7b8493 !important;
    font-size:10.5px !important;
    line-height:1.15 !important;
    font-weight:500 !important;
    text-align:center !important;
    opacity:1 !important;
    cursor:not-allowed !important;
    pointer-events:none !important;
    white-space:normal !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state .jmj-action-ico{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#eef1f5 !important;
    color:#9aa3b2 !important;
    margin:0 auto 3px !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state .jmj-svg-icon,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state .jmj-svg-icon{
    color:#9aa3b2 !important;
    fill:currentColor !important;
  }
}

/* Step 117: Keep mobile action icon backgrounds as perfect circles without increasing icon size */
@media (max-width:767px){
  body.page-template-public-active-members .jmj-actions-row .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-action-ico,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state .jmj-action-ico{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    max-width:26px !important;
    max-height:26px !important;
    flex:0 0 26px !important;
    box-sizing:border-box !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:0 !important;
    overflow:hidden !important;
    aspect-ratio:1 / 1 !important;
    margin:0 auto 3px !important;
  }
  body.page-template-public-active-members .jmj-actions-row .jmj-action-ico .jmj-svg-icon,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-action-ico .jmj-svg-icon,
  body.page-template-public-active-members .jmj-actions-row .jmj-action-ico svg,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-action-ico svg{
    width:15px !important;
    height:15px !important;
    max-width:15px !important;
    max-height:15px !important;
    display:block !important;
    flex:0 0 15px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row span.jmj-action-state,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row span.jmj-action-state{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
  }
}

/* Step 118: Use editable Heart.svg from assets/icons for all front-end heart/interest icons. */
.jmj-icon-heart,
.jmj-profile-interest-icon{
  display:inline-block !important;
  width:16px !important;
  height:16px !important;
  max-width:16px !important;
  max-height:16px !important;
  vertical-align:middle !important;
  color:currentColor !important;
  fill:none !important;
  stroke:currentColor !important;
}
.jmj-profile-interest-btn .jmj-profile-interest-icon{
  width:34px !important;
  height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
}
@media(max-width:768px){
  body.page-template-public-active-members .jmj-actions-row .jmj-action-ico .jmj-icon-heart,
  body.page-template-templatespublic-active-members-php .jmj-actions-row .jmj-action-ico .jmj-icon-heart{
    width:15px !important;
    height:15px !important;
    max-width:15px !important;
    max-height:15px !important;
  }
}


/* Step 120: Interest sent/closed disabled state only, matching shortlist disabled UI without changing interest workflow */
body:not(.wp-admin) .jmj-interest-state,
body:not(.wp-admin) .jmj-actions-row .jmj-interest-state,
body:not(.wp-admin) .jmj-linklike.jmj-interest-state,
body:not(.wp-admin) .jmj-btn.jmj-interest-state{
  color:#7b8493 !important;
  background:#f3f4f6 !important;
  border-color:#d8dde6 !important;
  opacity:1 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
  box-shadow:none !important;
}
body:not(.wp-admin) .jmj-interest-state .jmj-action-ico,
body:not(.wp-admin) .jmj-interest-state .jmj-svg-icon,
body:not(.wp-admin) .jmj-interest-state svg{
  color:#9aa3b2 !important;
  fill:currentColor !important;
  stroke:currentColor !important;
}
body:not(.wp-admin) .jmj-profile-interest-btn--disabled,
body:not(.wp-admin) .jmj-profile-interest-btn.jmj-profile-interest-btn--disabled{
  color:#9aa3b2 !important;
  background:#f3f4f6 !important;
  border-color:#d8dde6 !important;
  opacity:1 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
  box-shadow:none !important;
}
body:not(.wp-admin) .jmj-profile-interest-label--disabled{
  color:#ffffff !important;
}
@media (max-width:767px){
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-interest-state,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-interest-state{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    padding:0 !important;
    margin:0 !important;
    min-height:34px !important;
    width:100% !important;
    min-width:48px !important;
    flex:1 1 0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:5px !important;
    color:#7b8493 !important;
    font-size:10.5px !important;
    line-height:1.15 !important;
    font-weight:500 !important;
    text-align:center !important;
    opacity:1 !important;
    cursor:not-allowed !important;
    pointer-events:none !important;
    white-space:normal !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-interest-state .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-interest-state .jmj-action-ico{
    background:#eef1f5 !important;
    color:#9aa3b2 !important;
  }
}

/* Step 121: desktop logged-out homepage account box center and white hero title */
body.home:not(.logged-in) .jmj-home-public-copy h1,
body.home:not(.logged-in) .jmj-home-public-copy p,
body.front-page:not(.logged-in) .jmj-home-public-copy h1,
body.front-page:not(.logged-in) .jmj-home-public-copy p,
body.page-template-front-page:not(.logged-in) .jmj-home-public-copy h1,
body.page-template-front-page:not(.logged-in) .jmj-home-public-copy p,
body:not(.logged-in) .jmj-frontpage--loggedout .jmj-home-public-copy h1,
body:not(.logged-in) .jmj-frontpage--loggedout .jmj-home-public-copy p{
	color:#fff !important;}
body.home:not(.logged-in) .jmj-member-header, body.home:not(.logged-in) .jmj-topstrip{ display:none}


@media (min-width:1101px){
  body.home:not(.logged-in) .jmj-home-register-card,
  body.front-page:not(.logged-in) .jmj-home-register-card,
  body.page-template-front-page:not(.logged-in) .jmj-home-register-card,
  body:not(.logged-in) .jmj-frontpage--loggedout .jmj-home-register-card{
    left:50% !important;
    right:auto !important;
    bottom:80px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* Step122: Report modal and disabled reported state */
.jmj-report-modal-open{overflow:hidden;}
.jmj-report-modal-overlay{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.46);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;}
.jmj-report-modal{width:min(420px,100%);background:#fff;border-radius:18px;box-shadow:0 22px 60px rgba(15,23,42,.25);padding:22px;position:relative;box-sizing:border-box;}
.jmj-report-modal__close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#6b7280;font-size:24px;line-height:1;cursor:pointer;}
.jmj-report-modal h3{margin:0 28px 16px 0;font-size:20px;font-weight:400;color:#111827;}
.jmj-report-modal__field{display:block;margin:0 0 13px;}
.jmj-report-modal__field span{display:block;margin-bottom:6px;font-size:13px;color:#374151;font-weight:400;}
.jmj-report-modal select,.jmj-report-modal textarea{width:100%;border:1px solid #e5e7eb;border-radius:12px;padding:11px 12px;font-size:14px;color:#111827;box-sizing:border-box;background:#fff;outline:none;}
.jmj-report-modal textarea{resize:vertical;min-height:94px;}
.jmj-report-modal__error{min-height:18px;color:#be123c;font-size:13px;margin:4px 0 10px;}
.jmj-report-modal__actions{display:flex;justify-content:flex-end;gap:10px;}
.jmj-report-state,.jmj-action-state.jmj-report-state{color:#9ca3af!important;pointer-events:none!important;cursor:default!important;}
.jmj-report-state .jmj-action-ico{background:#eef1f5!important;color:#9ca3af!important;}
@media (max-width: 767px){.jmj-report-modal-overlay{align-items:flex-end;padding:0;background:rgba(15,23,42,.42);}.jmj-report-modal{border-radius:18px 18px 0 0;padding:20px 18px 24px;}.jmj-report-modal__actions .jmj-btn{min-height:42px;}}

/* Step 125: Keep disabled member-card actions inline on desktop without button boxes */
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-interest-state,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-report-state,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row span.jmj-action-state,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row span.jmj-interest-state,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row span.jmj-report-state{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  min-height:0 !important;
  min-width:0 !important;
  width:auto !important;
  color:#7b8493 !important;
  opacity:1 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:6px !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  vertical-align:middle !important;
}
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state .jmj-action-ico,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-interest-state .jmj-action-ico,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-report-state .jmj-action-ico,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row span.jmj-action-state .jmj-action-ico,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row span.jmj-interest-state .jmj-action-ico,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row span.jmj-report-state .jmj-action-ico{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  color:#9aa3b2 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  overflow:visible !important;
}
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state:hover,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-interest-state:hover,
body:not(.wp-admin) .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-report-state:hover{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
}
@media (max-width:767px){
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-action-state .jmj-action-ico,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-interest-state .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-interest-state .jmj-action-ico,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-report-state .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike.jmj-report-state .jmj-action-ico{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    max-width:26px !important;
    max-height:26px !important;
    flex:0 0 26px !important;
    border-radius:999px !important;
    background:#eef1f5 !important;
    color:#9aa3b2 !important;
    margin:0 auto 3px !important;
    overflow:hidden !important;
  }
}

/* Step 130: keep Photo Hidden badge text on one line on mobile active member cards */
@media (max-width: 767px){
  body.page-template-public-active-members .jmj-member-list-card .jmj-private-badge,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-private-badge{
    white-space:nowrap !important;
    width:auto !important;
    max-width:none !important;
    min-width:max-content !important;
    line-height:1.15 !important;
    text-align:center !important;
  }
}

/* Step131: Active Members online status must be green on desktop and mobile. */
body.page-template-public-active-members .jmj-member-list-card [data-jmj-presence].jmj-presence-online,
body.page-template-templatespublic-active-members-php .jmj-member-list-card [data-jmj-presence].jmj-presence-online,
body.page-template-public-active-members .jmj-member-list-card .meta-row strong.jmj-presence-online,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row strong.jmj-presence-online{
  color:#16a34a !important;
}
body.page-template-public-active-members .jmj-member-list-card [data-jmj-presence].jmj-presence-offline,
body.page-template-templatespublic-active-members-php .jmj-member-list-card [data-jmj-presence].jmj-presence-offline,
body.page-template-public-active-members .jmj-member-list-card .meta-row strong.jmj-presence-offline,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .meta-row strong.jmj-presence-offline{
  color:#6b7280 !important;
}

/* Step138: show Name & DOB ID Verified badge only after admin approval */
.jmj-member-list-card .badge.verified,
.jmj-id-verified-badge,
body.page-template-public-active-members .jmj-member-list-card .badge.verified,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .badge.verified{
  background:#16a34a !important;
  color:#fff !important;
}
.jmj-profile-hero__id .jmj-id-verified-badge,
.jmj-profile-side-card__body .jmj-id-verified-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  margin-left:8px;
}
.jmj-profile-side-card__body .jmj-id-verified-badge{margin-left:0;}

/* Step 140: one profile photo crop UI */
.jmj-one-photo-panel .jmj-add-card{min-height:170px}
.jmj-photo-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.jmj-profile-one-photo-grid{grid-template-columns:repeat(auto-fit,minmax(220px,280px));justify-content:flex-start}
.jmj-photo-crop-modal[hidden]{display:none!important}
.jmj-photo-crop-modal{position:fixed;inset:0;background:rgba(15,23,42,.72);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}
.jmj-photo-crop-dialog{width:min(94vw,520px);background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.25);padding:16px;color:#111827}
.jmj-photo-crop-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.jmj-photo-crop-help{font-size:13px;color:#6b7280;margin-bottom:12px}
.jmj-photo-crop-stage{width:min(86vw,360px);aspect-ratio:4/5;margin:0 auto;background:#111827;overflow:hidden;position:relative;border-radius:18px;touch-action:none;cursor:move;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.jmj-photo-crop-stage img{position:absolute;left:0;top:0;max-width:none!important;user-select:none;-webkit-user-drag:none;transform-origin:0 0}
.jmj-photo-crop-stage:after{content:"";position:absolute;inset:0;border:2px solid rgba(255,255,255,.92);box-shadow:0 0 0 999px rgba(0,0,0,.08);pointer-events:none;border-radius:18px}
.jmj-photo-zoom-label{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:13px;color:#374151}
.jmj-photo-zoom-label input{flex:1}
.jmj-photo-crop-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media (max-width:640px){.jmj-photo-crop-modal{align-items:flex-end;padding:0}.jmj-photo-crop-dialog{width:100%;border-radius:22px 22px 0 0;padding:16px 14px 20px}.jmj-photo-crop-stage{width:min(88vw,340px)}}


/* Step 281: show Take Selfie reliably on mobile/tablet/PWA/app screens */
.jmj-selfie-mobile-only{display:none !important;}
@media (max-width:1024px), (pointer:coarse){
  .jmj-selfie-mobile-only{display:inline-flex !important;}
}


/* Step 150: mobile profile photo page order - show current photo before instructions */
@media (max-width:768px){
  .jmj-profile-photo-page-card{
    display:flex;
    flex-direction:column;
  }
  .jmj-profile-photo-page-card > .jmj-card-hd{order:1;}
  .jmj-profile-photo-page-card > .notice{order:2;}
  .jmj-profile-photo-page-card > .jmj-profile-one-photo-grid{
    order:3;
    padding:14px 18px 8px !important;
    justify-content:center;
  }
  .jmj-profile-photo-page-card > .jmj-photo-status-card{order:4;}
  .jmj-profile-photo-page-card > .jmj-one-photo-panel{order:5;}
}

/* Step 152: mobile profile photo compact cleanup */
@media (max-width:768px){
  .jmj-profile-photo-page-card{
    margin-top:8px;
    overflow:hidden;
  }
  .jmj-profile-photo-page-card > .jmj-card-hd{
    padding:14px 16px 10px !important;
  }
  .jmj-profile-photo-page-card .jmj-card-title{
    font-size:18px;
    line-height:1.25;
  }
  .jmj-profile-photo-page-card .jmj-card-title small{
    display:block;
    margin-top:3px;
    font-size:12px;
  }
  .jmj-profile-photo-page-card > .notice{
    margin:8px 14px 10px !important;
  }
  .jmj-profile-photo-page-card > .jmj-profile-one-photo-grid{
    display:flex !important;
    padding:10px 14px 4px !important;
  }
  .jmj-profile-photo-page-card .jmj-profile-one-photo-grid .jmj-profile-gallery-item{
    width:min(68vw,260px);
    max-width:260px;
    aspect-ratio:4/5;
    margin:0 auto;
    border-radius:18px;
  }
  .jmj-profile-photo-page-card .jmj-profile-one-photo-grid .jmj-profile-gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .jmj-profile-photo-page-card .jmj-empty{
     display:none !important;
  }
  .jmj-profile-photo-page-card > .jmj-photo-status-card{
    margin:10px 14px 12px !important;
    border-radius:16px;
  }
  .jmj-profile-photo-page-card > .jmj-photo-status-card .jmj-card-b{
    padding:12px 14px !important;
    gap:10px !important;
  }
  .jmj-profile-photo-page-card > .jmj-photo-status-card strong{
    font-size:14px;
  }
  .jmj-profile-photo-page-card > .jmj-photo-status-card .jmj-muted{
    font-size:12px;
    line-height:1.45;
  }
  .jmj-profile-photo-page-card .jmj-photo-status-pending img{
    width:72px !important;
    height:90px !important;
    border-radius:12px !important;
  }
  .jmj-profile-photo-page-card > .jmj-one-photo-panel{
    display:block !important;
    padding:10px 14px 16px !important;
  }
  .jmj-profile-photo-page-card > .jmj-one-photo-panel .jmj-stat-card{
    display:none !important;
  }
  .jmj-profile-photo-page-card .jmj-profile-photo-form{
    min-height:auto !important;
    padding:14px !important;
    border-radius:16px !important;
    gap:8px !important;
  }
  .jmj-profile-photo-page-card .jmj-add-title{
    font-size:15px;
    line-height:1.25;
  }
  .jmj-profile-photo-page-card .jmj-add-help{
    font-size:12px;
    line-height:1.4;
    max-width:290px;
  }
  .jmj-profile-photo-page-card .jmj-photo-buttons{
    gap:8px;
    width:100%;
  }
  .jmj-profile-photo-page-card .jmj-photo-buttons .jmj-btn{
    flex:1 1 auto;
    min-height:42px;
    padding:10px 12px;
  }
  .jmj-profile-photo-page-card .jmj-gallery-file-name{
    font-size:12px;
  }
}


/* Step 155: upload loading/progress UI */
.jmj-upload-progress{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font-size:13px;color:#374151;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;text-align:center}
.jmj-upload-progress[hidden]{display:none!important}
.jmj-upload-spinner{width:16px;height:16px;border:2px solid #d1d5db;border-top-color:var(--jmj-primary,#16a34a);border-radius:999px;display:inline-block;animation:jmjUploadSpin .8s linear infinite;flex:0 0 auto}
.is-uploading{pointer-events:auto;opacity:.92}
.is-uploading button[disabled],.is-uploading input[disabled]{cursor:wait;opacity:.75}
@keyframes jmjUploadSpin{to{transform:rotate(360deg)}}
@media (max-width:640px){.jmj-upload-progress{font-size:12.5px;padding:9px 10px;border-radius:10px}.jmj-upload-spinner{width:15px;height:15px}}

/* Step 162: Clean verified Name & DOB state */
.jmj-alert--success{background:#ecfdf5!important;color:#065f46!important;border:1px solid #a7f3d0!important;display:block!important}.jmj-alert--info{background:#eff6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important;display:block!important}.jmj-alert--warning{background:#fff7ed!important;color:#9a3412!important;border:1px solid #fed7aa!important;display:block!important}.jmj-name-dob-verified{font-size:15px;line-height:1.55}.jmj-name-dob-doc-meta{font-size:14px}@media(max-width:767px){.jmj-name-dob-verified{padding:14px!important}.jmj-name-dob-doc-meta{display:block!important}.jmj-name-dob-doc-meta>div{margin:8px 0}}

/* STEP163: Mobile member area heading size consistency. */
@media (max-width: 767px) {
  body .jmj-member-wrap .jmj-member-main > h1.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main > h2.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-title,
  body .jmj-member-wrap .jmj-member-main .jmj-card-header > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-header > h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-h > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-h > h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h2 {
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    margin-top: 0 !important;
  }

  body .jmj-member-wrap .jmj-member-main > h1.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main > h2.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-h2 {
    margin-bottom: 12px !important;
  }

  body .jmj-member-wrap .jmj-chat-pane-title,
  body .jmj-member-wrap .jmj-chat-header__name,
  body .jmj-member-wrap .jmj-chat-header h2,
  body .jmj-member-wrap .jmj-chat-header h3 {
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
  }
}

/* STEP164: Desktop member area heading size consistency for all left-menu pages. */
@media (min-width: 768px) {
  body .jmj-member-wrap .jmj-member-main > h1.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main > h2.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-title,
  body .jmj-member-wrap .jmj-member-main .jmj-card-header > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-header > h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-h > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-h > h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h2 {
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    margin-top: 0 !important;
  }

  body .jmj-member-wrap .jmj-member-main > h1.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main > h2.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-h2 {
    margin-bottom: 14px !important;
  }
}

/* Step 166: verified Name & DOB change document option */
.jmj-name-dob-change-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:#ff204e;
  font-weight:600;
  cursor:pointer;
  padding:0;
  margin-top:2px;
  text-decoration:underline;
  text-underline-offset:3px;
}
.jmj-name-dob-change-panel[hidden]{display:none!important;}
@media (max-width:767px){
  .jmj-name-dob-change-toggle{font-size:14px;}
}

/* STEP197: Mobile advanced search select background cleanup */
@media (max-width: 767px) {
  body.page-template-public-active-members .jmj-filter-card select,
  body.page-template-public-active-members .jmj-filter-card select.jmj-input,
  body.page-template-public-active-members .jmj-filter-card .jmj-input:is(select),
  body.page-template-templatespublic-active-members-php .jmj-filter-card select,
  body.page-template-templatespublic-active-members-php .jmj-filter-card select.jmj-input,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-input:is(select) {
    background-color: #fff !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-size: auto !important;
    background-position: right 12px center !important;
    color: #374151 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  body.page-template-public-active-members .jmj-filter-card select:focus,
  body.page-template-public-active-members .jmj-filter-card select.jmj-input:focus,
  body.page-template-public-active-members .jmj-filter-card .jmj-input:is(select):focus,
  body.page-template-public-active-members .jmj-filter-card select:active,
  body.page-template-public-active-members .jmj-filter-card select.jmj-input:active,
  body.page-template-public-active-members .jmj-filter-card .jmj-input:is(select):active,
  body.page-template-templatespublic-active-members-php .jmj-filter-card select:focus,
  body.page-template-templatespublic-active-members-php .jmj-filter-card select.jmj-input:focus,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-input:is(select):focus,
  body.page-template-templatespublic-active-members-php .jmj-filter-card select:active,
  body.page-template-templatespublic-active-members-php .jmj-filter-card select.jmj-input:active,
  body.page-template-templatespublic-active-members-php .jmj-filter-card .jmj-input:is(select):active {
    background-color: #fff !important;
    background-image: none !important;
    border-color: #f05d83 !important;
    box-shadow: 0 0 0 2px rgba(240, 93, 131, .12) !important;
    outline: none !important;
  }

  body.page-template-public-active-members .jmj-filter-card select:-webkit-autofill,
  body.page-template-templatespublic-active-members-php .jmj-filter-card select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #374151 !important;
  }
}

/* Step 200: Featured Members mobile horizontal swipe layout */
@media (max-width: 680px){
  .jmj-frontpage .jmj-premium-section{
    padding:44px 0 54px !important;
    overflow:hidden !important;
  }
  .jmj-frontpage .jmj-premium-section h2,
  .jmj-frontpage .jmj-premium-section p{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .jmj-frontpage .jmj-premium-section h2{
    font-size:32px !important;
    margin-bottom:10px !important;
  }
  .jmj-frontpage .jmj-premium-section p{
    max-width:340px !important;
    margin-bottom:24px !important;
    font-size:14px !important;
    line-height:1.45 !important;
  }
  .jmj-frontpage .jmj-premium-grid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:14px !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 16px 10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    justify-items:initial !important;
    scrollbar-width:none !important;
  }
  .jmj-frontpage .jmj-premium-grid::-webkit-scrollbar{
    display:none !important;
  }
  .jmj-frontpage .jmj-premium-card{
    flex:0 0 72% !important;
    max-width:260px !important;
    width:260px !important;
    scroll-snap-align:start !important;
    border-radius:12px !important;
  }
  .jmj-frontpage .jmj-premium-card__img{
    height:210px !important;
  }
  .jmj-frontpage .jmj-premium-card__body{
    padding:12px 10px 14px !important;
    min-height:82px !important;
  }
  .jmj-frontpage .jmj-premium-card__body h4{
    font-size:18px !important;
    line-height:1.2 !important;
    margin:0 0 6px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    display:-webkit-box !important;
    -webkit-line-clamp:1 !important;
    -webkit-box-orient:vertical !important;
  }
  .jmj-frontpage .jmj-premium-card__body small,
  .jmj-frontpage .jmj-premium-card__meta{
    font-size:11px !important;
    line-height:1.35 !important;
  }
}

/* Step 202: Force compact Featured Members mobile swipe cards */
@media (max-width: 680px){
  .jmj-premium-section,
  .jmj-frontpage .jmj-premium-section{
    margin:0 !important;
    padding:44px 0 52px !important;
    max-width:none !important;
    background:#f3f6fa !important;
    text-align:center !important;
    overflow:hidden !important;
  }
  .jmj-premium-section h2,
  .jmj-frontpage .jmj-premium-section h2{
    font-size:32px !important;
    line-height:1.18 !important;
    margin:0 0 10px !important;
    padding:0 16px !important;
    color:#202632 !important;
    font-weight:400 !important;
  }
  .jmj-premium-section p,
  .jmj-frontpage .jmj-premium-section p{
    max-width:310px !important;
    margin:0 auto 22px !important;
    padding:0 16px !important;
    font-size:14px !important;
    line-height:1.45 !important;
    color:#9aa3af !important;
  }
  .jmj-premium-grid,
  .jmj-frontpage .jmj-premium-grid{
    display:flex !important;
    grid-template-columns:none !important;
    flex-wrap:nowrap !important;
    gap:14px !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 16px 10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    justify-content:flex-start !important;
    justify-items:initial !important;
    scrollbar-width:none !important;
  }
  .jmj-premium-grid::-webkit-scrollbar,
  .jmj-frontpage .jmj-premium-grid::-webkit-scrollbar{
    display:none !important;
  }
  .jmj-premium-card,
  .jmj-frontpage .jmj-premium-card{
    flex:0 0 178px !important;
    width:178px !important;
    min-width:178px !important;
    max-width:178px !important;
    scroll-snap-align:start !important;
    border-radius:12px !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid #e4e9f1 !important;
    box-shadow:0 10px 24px rgba(16,24,40,.06) !important;
  }
  .jmj-premium-card__img,
  .jmj-frontpage .jmj-premium-card__img{
    display:block !important;
    width:100% !important;
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    overflow:hidden !important;
    background:#edf1f5 !important;
    text-decoration:none !important;
  }
  .jmj-premium-card__img img,
  .jmj-frontpage .jmj-premium-card__img img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
  }
  .jmj-premium-card__body,
  .jmj-frontpage .jmj-premium-card__body{
    padding:10px 8px 12px !important;
    min-height:74px !important;
    background:#fff !important;
  }
  .jmj-premium-card__body h4,
  .jmj-frontpage .jmj-premium-card__body h4{
    font-size:16px !important;
    line-height:1.2 !important;
    margin:0 0 6px !important;
    color:#FD2C79 !important;
    font-weight:400 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .jmj-premium-card__body h4 a,
  .jmj-frontpage .jmj-premium-card__body h4 a{
    color:#FD2C79 !important;
    text-decoration:none !important;
  }
  .jmj-premium-card__body small,
  .jmj-premium-card__meta,
  .jmj-frontpage .jmj-premium-card__body small,
  .jmj-frontpage .jmj-premium-card__meta{
    display:block !important;
    font-size:10.5px !important;
    line-height:1.35 !important;
    color:#98a2b3 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
}

/* STEP204: Global member page title font size consistency. */
body .jmj-member-wrap .jmj-member-main > h1.jmj-page-title,
body .jmj-member-wrap .jmj-member-main > h2.jmj-page-title,
body .jmj-member-wrap .jmj-member-main .jmj-page-title,
body .jmj-member-wrap .jmj-member-main .jmj-h2,
body .jmj-member-wrap .jmj-member-main .jmj-card-title,
body .jmj-member-wrap .jmj-member-main .jmj-card-header > h1,
body .jmj-member-wrap .jmj-member-main .jmj-card-header > h2,
body .jmj-member-wrap .jmj-member-main .jmj-card-h > h1,
body .jmj-member-wrap .jmj-member-main .jmj-card-h > h2,
body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h1,
body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h2 {
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
}

body .jmj-member-wrap .jmj-member-main .jmj-muted,
body .jmj-member-wrap .jmj-member-main .jmj-card-subtitle,
body .jmj-member-wrap .jmj-member-main .jmj-page-subtitle,
body .jmj-member-wrap .jmj-member-main .jmj-card-title small {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

body .jmj-member-wrap .jmj-member-main .jmj-section-title,
body .jmj-member-wrap .jmj-member-main .jmj-section-heading,
body .jmj-member-wrap .jmj-member-main .jmj-profile-section-title,
body .jmj-member-wrap .jmj-member-main .jmj-profile-section h3,
body .jmj-member-wrap .jmj-member-main .jmj-card h3,
body .jmj-member-wrap .jmj-member-main .jmj-card-b h3,
body .jmj-member-wrap .jmj-member-main .jmj-card-c h3 {
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
}

@media (max-width: 767px) {
  body .jmj-member-wrap .jmj-member-main > h1.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main > h2.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-title,
  body .jmj-member-wrap .jmj-member-main .jmj-card-header > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-header > h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-h > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-h > h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h2 {
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
  }

  body .jmj-member-wrap .jmj-member-main .jmj-muted,
  body .jmj-member-wrap .jmj-member-main .jmj-card-subtitle,
  body .jmj-member-wrap .jmj-member-main .jmj-page-subtitle,
  body .jmj-member-wrap .jmj-member-main .jmj-card-title small {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  body .jmj-member-wrap .jmj-member-main .jmj-section-title,
  body .jmj-member-wrap .jmj-member-main .jmj-section-heading,
  body .jmj-member-wrap .jmj-member-main .jmj-profile-section-title,
  body .jmj-member-wrap .jmj-member-main .jmj-profile-section h3,
  body .jmj-member-wrap .jmj-member-main .jmj-card h3,
  body .jmj-member-wrap .jmj-member-main .jmj-card-b h3,
  body .jmj-member-wrap .jmj-member-main .jmj-card-c h3 {
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
  }
}

/* STEP205: Global member page title spacing and padding consistency. */
body .jmj-member-wrap .jmj-member-main .jmj-card,
body .jmj-member-wrap .jmj-member-main .jmj-card-b,
body .jmj-member-wrap .jmj-member-main .jmj-card-c,
body .jmj-member-wrap .jmj-member-main .jmj-panel,
body .jmj-member-wrap .jmj-member-main .jmj-form-card,
body .jmj-member-wrap .jmj-member-main .jmj-profile-card {
  padding-top: 24px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

body .jmj-member-wrap .jmj-member-main > h1.jmj-page-title,
body .jmj-member-wrap .jmj-member-main > h2.jmj-page-title,
body .jmj-member-wrap .jmj-member-main .jmj-page-title,
body .jmj-member-wrap .jmj-member-main .jmj-h2,
body .jmj-member-wrap .jmj-member-main .jmj-card-title,
body .jmj-member-wrap .jmj-member-main .jmj-card-header > h1,
body .jmj-member-wrap .jmj-member-main .jmj-card-header > h2,
body .jmj-member-wrap .jmj-member-main .jmj-card-h > h1,
body .jmj-member-wrap .jmj-member-main .jmj-card-h > h2,
body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h1,
body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h2 {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

body .jmj-member-wrap .jmj-member-main .jmj-card-header,
body .jmj-member-wrap .jmj-member-main .jmj-card-h,
body .jmj-member-wrap .jmj-member-main .jmj-card-hd,
body .jmj-member-wrap .jmj-member-main .jmj-page-header,
body .jmj-member-wrap .jmj-member-main .jmj-member-page-header {
  margin: 0 0 18px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
}

body .jmj-member-wrap .jmj-member-main .jmj-card-header .jmj-muted,
body .jmj-member-wrap .jmj-member-main .jmj-card-h .jmj-muted,
body .jmj-member-wrap .jmj-member-main .jmj-card-hd .jmj-muted,
body .jmj-member-wrap .jmj-member-main .jmj-page-subtitle,
body .jmj-member-wrap .jmj-member-main .jmj-card-subtitle {
  margin: 0 !important;
}

body .jmj-member-wrap .jmj-member-main .jmj-section-title,
body .jmj-member-wrap .jmj-member-main .jmj-section-heading,
body .jmj-member-wrap .jmj-member-main .jmj-profile-section-title,
body .jmj-member-wrap .jmj-member-main .jmj-profile-section h3,
body .jmj-member-wrap .jmj-member-main .jmj-card h3,
body .jmj-member-wrap .jmj-member-main .jmj-card-b h3,
body .jmj-member-wrap .jmj-member-main .jmj-card-c h3 {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

@media (max-width: 767px) {
  body .jmj-member-wrap .jmj-member-main .jmj-card,
  body .jmj-member-wrap .jmj-member-main .jmj-card-b,
  body .jmj-member-wrap .jmj-member-main .jmj-card-c,
  body .jmj-member-wrap .jmj-member-main .jmj-panel,
  body .jmj-member-wrap .jmj-member-main .jmj-form-card,
  body .jmj-member-wrap .jmj-member-main .jmj-profile-card {
    padding-top: 18px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body .jmj-member-wrap .jmj-member-main > h1.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main > h2.jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-page-title,
  body .jmj-member-wrap .jmj-member-main .jmj-h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-title,
  body .jmj-member-wrap .jmj-member-main .jmj-card-header > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-header > h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-h > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-h > h2,
  body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h1,
  body .jmj-member-wrap .jmj-member-main .jmj-card-hd > h2 {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }

  body .jmj-member-wrap .jmj-member-main .jmj-card-header,
  body .jmj-member-wrap .jmj-member-main .jmj-card-h,
  body .jmj-member-wrap .jmj-member-main .jmj-card-hd,
  body .jmj-member-wrap .jmj-member-main .jmj-page-header,
  body .jmj-member-wrap .jmj-member-main .jmj-member-page-header {
    margin: 0 0 14px !important;
    padding: 0 0 11px !important;
  }

  body .jmj-member-wrap .jmj-member-main .jmj-section-title,
  body .jmj-member-wrap .jmj-member-main .jmj-section-heading,
  body .jmj-member-wrap .jmj-member-main .jmj-profile-section-title,
  body .jmj-member-wrap .jmj-member-main .jmj-profile-section h3,
  body .jmj-member-wrap .jmj-member-main .jmj-card h3,
  body .jmj-member-wrap .jmj-member-main .jmj-card-b h3,
  body .jmj-member-wrap .jmj-member-main .jmj-card-c h3 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }
}

/* Step 207: SGBMS main landing homepage - desktop and mobile public layout */
.jmj-frontpage--loggedout{
  background:#fff8ef;
}
.jmj-frontpage--loggedout .jmj-home-hero--public.jmj-sgbms-main-hero{
  min-height:620px;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 16% 18%, rgba(201,152,43,.22) 0 100px, transparent 101px),
    radial-gradient(circle at 85% 72%, rgba(255,255,255,.14) 0 160px, transparent 161px),
    linear-gradient(135deg,#8f0000 0%,#b00012 52%,#d03722 100%);
}
.jmj-frontpage--loggedout .jmj-home-hero--public.jmj-sgbms-main-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,248,239,.11),transparent 48%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 1px,transparent 1px 22px);
  pointer-events:none;
}
.jmj-frontpage--loggedout .jmj-home-public-bg{
  opacity:.55;
  background:radial-gradient(circle at 42% 38%,rgba(255,255,255,.16),transparent 33%);
}
.jmj-frontpage--loggedout .jmj-home-public-overlay.jmj-sgbms-landing{
  max-width:1180px;
  min-height:620px;
  margin:0 auto;
  padding:82px 16px 86px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.82fr);
  gap:54px;
  align-items:center;
  position:relative;
  z-index:2;
}
.jmj-frontpage--loggedout .jmj-home-public-copy.jmj-sgbms-copy{
  max-width:620px;
  margin:0;
  text-align:left;
  color:#fff;
}
.jmj-sgbms-badge,
.jmj-sgbms-card-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.jmj-sgbms-badge{
  margin:0 0 20px;
  padding:9px 15px;
  color:#fff8ef;
  background:rgba(201,152,43,.28);
  border:1px solid rgba(255,236,184,.55);
  box-shadow:0 10px 30px rgba(0,0,0,.10);
}
.jmj-frontpage--loggedout .jmj-sgbms-copy h1{
  margin:0 0 8px;
  color:#fff;
  font-size:68px;
  line-height:.95;
  font-weight:800;
  letter-spacing:-.04em;
}
.jmj-frontpage--loggedout .jmj-sgbms-copy h2{
  margin:0 0 18px;
  color:#ffedbf;
  font-size:34px;
  line-height:1.14;
  font-weight:700;
  letter-spacing:-.02em;
}
.jmj-frontpage--loggedout .jmj-sgbms-copy p{
  max-width:580px;
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:18px;
  line-height:1.65;
}
.jmj-sgbms-service-grid{
  display:grid;
  gap:18px;
  align-content:center;
}
.jmj-frontpage--loggedout .jmj-home-register-card.jmj-sgbms-service-card,
.jmj-sgbms-service-card{
  position:static;
  min-width:0;
  width:100%;
  margin:0;
  padding:30px 30px 28px;
  border-radius:22px;
  text-align:left;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(232,216,196,.92);
  box-shadow:0 24px 60px rgba(39,7,7,.20);
  backdrop-filter:blur(8px);
}
.jmj-sgbms-service-card--community{
  background:rgba(255,248,239,.96);
}
.jmj-sgbms-card-kicker{
  margin:0 0 13px;
  padding:7px 11px;
  color:#8f0000;
  background:#fff1cc;
  border:1px solid #ead39a;
  font-size:11px;
}
.jmj-sgbms-service-card--matrimonial .jmj-sgbms-card-kicker{
  color:#fff;
  background:linear-gradient(135deg,#8f0000,#b00012);
  border-color:#b00012;
}
.jmj-frontpage--loggedout .jmj-sgbms-service-card h3{
  margin:0 0 10px;
  color:#111827;
  font-size:28px;
  line-height:1.15;
  font-weight:800;
}
.jmj-sgbms-service-card p{
  margin:0 0 20px;
  color:#4b5563;
  font-size:15px;
  line-height:1.65;
}
.jmj-sgbms-card-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.jmj-frontpage--loggedout .jmj-sgbms-card-actions .jmj-btn,
.jmj-frontpage--loggedout .jmj-sgbms-community-link{
  min-height:44px;
  border-radius:999px;
  padding:12px 20px;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
}
.jmj-frontpage--loggedout .jmj-sgbms-card-actions .jmj-btn{
  background:linear-gradient(135deg,#8f0000,#b00012);
  border:1px solid #b00012;
  color:#fff;
  box-shadow:0 12px 24px rgba(176,0,18,.18);
}
.jmj-frontpage--loggedout .jmj-sgbms-card-actions .jmj-btn--ghost{
  background:#fff8ef;
  color:#8f0000;
  border-color:#e8d8c4;
  box-shadow:none;
}
.jmj-sgbms-text-link,
.jmj-sgbms-community-link{
  color:#8f0000;
  font-weight:800;
}
.jmj-sgbms-text-link{
  padding:10px 4px;
  text-decoration:none;
}
.jmj-frontpage--loggedout .jmj-sgbms-community-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#8f0000;
  background:#fff;
  border:1px solid #e8d8c4;
}
.jmj-frontpage--loggedout .jmj-footer{
  margin-top:0;
  background:#fff8ef;
  border-top:1px solid #e8d8c4;
}
.jmj-frontpage--loggedout .jmj-footer__logo,
.jmj-frontpage--loggedout .jmj-footer__col h4,
.jmj-frontpage--loggedout .jmj-footer__col a:hover{
  color:#b00012;
}
.jmj-frontpage--loggedout .jmj-footer__bottom{
  border-top-color:#e8d8c4;
}

@media (max-width: 1100px){
  .jmj-frontpage--loggedout .jmj-home-public-overlay.jmj-sgbms-landing{
    grid-template-columns:1fr;
    gap:34px;
    padding-top:70px;
    padding-bottom:70px;
  }
  .jmj-frontpage--loggedout .jmj-home-public-copy.jmj-sgbms-copy{
    max-width:760px;
    text-align:center;
    margin:0 auto;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-copy p{
    margin-left:auto;
    margin-right:auto;
  }
  .jmj-sgbms-service-grid{
    max-width:720px;
    margin:0 auto;
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 767px){
  .jmj-frontpage--loggedout .jmj-home-hero--public.jmj-sgbms-main-hero{
    min-height:auto !important;
    background:
      radial-gradient(circle at 100% 18%, rgba(201,152,43,.18) 0 96px, transparent 97px),
      linear-gradient(180deg,#8f0000 0%,#b00012 58%,#fff8ef 58%,#fff8ef 100%) !important;
  }
  .jmj-frontpage--loggedout .jmj-home-public-overlay.jmj-sgbms-landing{
    display:block !important;
    min-height:0 !important;
    padding:44px 16px 34px !important;
  }
  .jmj-frontpage--loggedout .jmj-home-public-copy.jmj-sgbms-copy{
    max-width:360px !important;
    margin:0 auto 24px !important;
    text-align:center !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-badge{
    margin:0 auto 16px !important;
    padding:8px 12px !important;
    font-size:10px !important;
    letter-spacing:.03em !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-copy h1{
    font-size:46px !important;
    line-height:.96 !important;
    margin:0 0 8px !important;
    color:#fff !important;
    font-weight:800 !important;
    letter-spacing:-.04em !important;
    font-family:inherit !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-copy h2{
    font-size:25px !important;
    line-height:1.16 !important;
    margin:0 0 13px !important;
    color:#ffedbf !important;
    font-family:inherit !important;
    font-weight:700 !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-copy p{
    max-width:330px !important;
    margin:0 auto !important;
    color:rgba(255,255,255,.93) !important;
    font-size:15px !important;
    line-height:1.55 !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-service-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
    max-width:360px !important;
    margin:0 auto !important;
  }
  .jmj-frontpage--loggedout .jmj-home-register-card.jmj-sgbms-service-card,
  .jmj-frontpage--loggedout .jmj-sgbms-service-card{
    position:static !important;
    min-width:0 !important;
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding:22px 20px !important;
    border-radius:18px !important;
    text-align:left !important;
    box-shadow:0 16px 34px rgba(39,7,7,.14) !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-card-kicker{
    margin:0 0 10px !important;
    font-size:10px !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-service-card h3{
    font-size:22px !important;
    line-height:1.15 !important;
    margin:0 0 8px !important;
    color:#111827 !important;
    font-weight:800 !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-service-card p{
    margin:0 0 16px !important;
    color:#4b5563 !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-card-actions{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-card-actions .jmj-btn,
  .jmj-frontpage--loggedout .jmj-sgbms-community-link{
    width:100% !important;
    min-height:44px !important;
    justify-content:center !important;
    border-radius:999px !important;
    padding:12px 14px !important;
    font-size:13px !important;
    text-align:center !important;
  }
  .jmj-frontpage--loggedout .jmj-sgbms-text-link{
    grid-column:1 / -1 !important;
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    padding:9px 0 0 !important;
    font-size:13px !important;
    text-decoration:none !important;
  }
  .jmj-frontpage--loggedout .jmj-footer{
    background:#fff8ef !important;
    color:#4b5563 !important;
    border-top:1px solid #e8d8c4 !important;
    margin-top:0 !important;
    padding-bottom:64px !important;
  }
  .jmj-frontpage--loggedout .jmj-footer__inner{
    display:block !important;
    padding:30px 18px 16px !important;
    max-width:none !important;
  }
  .jmj-frontpage--loggedout .jmj-footer__logo{
    color:#b00012 !important;
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    margin-bottom:12px !important;
    text-align:center !important;
  }
  .jmj-frontpage--loggedout .jmj-footer__about p{
    max-width:310px !important;
    margin:0 auto 22px !important;
    text-align:center !important;
    color:#4b5563 !important;
    font-size:12px !important;
    line-height:1.65 !important;
  }
  .jmj-frontpage--loggedout .jmj-footer__col h4{
    color:#b00012 !important;
    border-bottom:1px solid #e8d8c4 !important;
  }
  .jmj-frontpage--loggedout .jmj-footer__col li,
  .jmj-frontpage--loggedout .jmj-footer__col a,
  .jmj-frontpage--loggedout .jmj-footer__col p,
  .jmj-frontpage--loggedout .jmj-footer__muted{
    color:#4b5563 !important;
  }
  .jmj-frontpage--loggedout .jmj-footer__bottom{
    border-top:1px solid #e8d8c4 !important;
    color:#4b5563 !important;
  }
}

@media (max-width: 380px){
  .jmj-frontpage--loggedout .jmj-sgbms-copy h1{font-size:42px !important;}
  .jmj-frontpage--loggedout .jmj-sgbms-copy h2{font-size:22px !important;}
}

/* Step 267: Mobile polish for positive member card actions and More Options safety actions */
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:8px !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  border-top:1px solid #edf1f5 !important;
  margin:14px 0 0 !important;
  padding:12px 0 0 !important;
}
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row a,
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row span,
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike,
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row form,
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row button,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row a,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row span,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row form,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row button{
  width:100% !important;
  min-width:0 !important;
}
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row a,
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row span,
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row a,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row span,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:5px !important;
  color:#FD2C79 !important;
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:600 !important;
  text-align:center !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  padding:0 !important;
  margin:0 !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
}
body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-action-ico,
body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-action-ico{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff2f6 !important;
  color:#FD2C79 !important;
  font-size:14px !important;
  line-height:1 !important;
  margin:0 auto 3px !important;
}
body.page-template-public-member-profile .jmj-more-options,
body.page-template-templatespublic-member-profile-php .jmj-more-options{
  width:100% !important;
}
body.page-template-public-member-profile .jmj-more-options__summary,
body.page-template-templatespublic-member-profile-php .jmj-more-options__summary{
  width:100% !important;
  cursor:pointer !important;
  list-style:none !important;
}
body.page-template-public-member-profile .jmj-more-options__summary::-webkit-details-marker,
body.page-template-templatespublic-member-profile-php .jmj-more-options__summary::-webkit-details-marker{
  display:none !important;
}
body.page-template-public-member-profile .jmj-more-options__summary::after,
body.page-template-templatespublic-member-profile-php .jmj-more-options__summary::after{
  content:'▾' !important;
  margin-left:8px !important;
  font-size:12px !important;
}
body.page-template-public-member-profile .jmj-more-options[open] .jmj-more-options__summary::after,
body.page-template-templatespublic-member-profile-php .jmj-more-options[open] .jmj-more-options__summary::after{
  content:'▴' !important;
}
body.page-template-public-member-profile .jmj-more-options__panel,
body.page-template-templatespublic-member-profile-php .jmj-more-options__panel{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  margin-top:8px !important;
  padding:10px !important;
  border:1px solid #f1c5d2 !important;
  border-radius:12px !important;
  background:#fff8fb !important;
}
body.page-template-public-member-profile .jmj-more-options__panel form,
body.page-template-public-member-profile .jmj-more-options__panel .jmj-btn,
body.page-template-public-member-profile .jmj-more-options__panel button,
body.page-template-templatespublic-member-profile-php .jmj-more-options__panel form,
body.page-template-templatespublic-member-profile-php .jmj-more-options__panel .jmj-btn,
body.page-template-templatespublic-member-profile-php .jmj-more-options__panel button{
  width:100% !important;
}

@media (min-width: 901px){
  body.page-template-public-member-profile .jmj-more-options__panel,
  body.page-template-templatespublic-member-profile-php .jmj-more-options__panel{
    grid-template-columns:1fr 1fr !important;
  }
}

@media (max-width: 480px){
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row{
    gap:6px !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row a,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row span,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row a,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row span,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike{
    font-size:10px !important;
  }
}


/* Step 282: approved profile photo change box selfie button fallback */
@media (max-width:1024px), (pointer:coarse){
  .jmj-profile-photo-page-card [data-jmj-selfie-choose].jmj-selfie-mobile-only{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}

/* Step 286: Small mobile custom select popup for profile forms */
body.jmj-mobile-select-open{
  overflow: hidden;
}
.jmj-mobile-select-popover{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15, 23, 42, 0.38);
}
.jmj-mobile-select-sheet{
  width: min(92vw, 430px);
  max-height: 62vh;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 22px 70px rgba(15, 23, 42, 0.28);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.jmj-mobile-select-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #eef0f5;
  color: #111827;
  font-size: 16px;
}
.jmj-mobile-select-head strong{
  font-weight: 800;
}
.jmj-mobile-select-close{
  appearance: none;
  border: 0;
  background: #f3f4f6;
  color: #374151;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  font-size: 24px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.jmj-mobile-select-options{
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 6px 0 10px;
}
.jmj-mobile-select-option{
  appearance: none;
  border: 0;
  background: #fff;
  color: #111827;
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  text-align: left;
  font-size: 15px;
  line-height: 1.35;
  border-bottom: 1px solid #f0f2f6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.jmj-mobile-select-option:last-child{
  border-bottom: 0;
}
.jmj-mobile-select-option.is-selected{
  color: #FD2C79;
  font-weight: 800;
  background: #fff5f8;
}
.jmj-mobile-select-option.is-selected::after{
  content: '✓';
  font-weight: 900;
}
.jmj-mobile-select-option:disabled{
  color: #9ca3af;
  background: #f9fafb;
}
@media (min-width: 1025px) and (pointer: fine){
  .jmj-mobile-select-popover{display:none !important;}
}

/* Step 3.19: Gujarati mobile table/button alignment safety */
@media (max-width: 767px){
  .jmj-member-main .jmj-table td[data-label="ફોટો"]{
    justify-content:center !important;
    padding:4px 0 10px !important;
  }
  .jmj-member-main .jmj-table td[data-label="ફોટો"]::before{
    display:none !important;
  }
  .jmj-member-main .jmj-table td[data-label="ફોટો"] img{
    width:62px !important;
    height:62px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    box-shadow:0 8px 18px rgba(31,41,55,.14) !important;
  }
  .jmj-member-main .jmj-table td[data-label="નામ"],
  .jmj-member-main .jmj-table td[data-label="સભ્ય આઈડી"],
  .jmj-member-main .jmj-table td[data-label="સ્થિતિ"]{
    font-weight:600 !important;
  }
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"],
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"]{
    display:block !important;
    padding-top:12px !important;
    text-align:left !important;
  }
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"]::before,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"]::before{
    display:block !important;
    max-width:none !important;
    margin-bottom:8px !important;
    text-align:left !important;
  }
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] form,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] form,
  .jmj-member-main .jmj-table td[data-label="Actions"] form,
  .jmj-member-main .jmj-table td[data-label="Options"] form{
    display:inline-flex !important;
    width:auto !important;
    max-width:100% !important;
    margin:4px 6px 4px 0 !important;
    vertical-align:top !important;
  }
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] a,
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] button,
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] .jmj-btn,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] a,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] button,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] .jmj-btn,
  .jmj-member-main .jmj-table td[data-label="Actions"] a,
  .jmj-member-main .jmj-table td[data-label="Actions"] button,
  .jmj-member-main .jmj-table td[data-label="Actions"] .jmj-btn,
  .jmj-member-main .jmj-table td[data-label="Options"] a,
  .jmj-member-main .jmj-table td[data-label="Options"] button,
  .jmj-member-main .jmj-table td[data-label="Options"] .jmj-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:96px !important;
    max-width:100% !important;
    min-height:38px !important;
    padding:8px 12px !important;
    margin:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-height:1.25 !important;
  }
}
@media (max-width: 380px){
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] a,
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] button,
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] .jmj-btn,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] a,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] button,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] .jmj-btn,
  .jmj-member-main .jmj-table td[data-label="Actions"] a,
  .jmj-member-main .jmj-table td[data-label="Actions"] button,
  .jmj-member-main .jmj-table td[data-label="Actions"] .jmj-btn,
  .jmj-member-main .jmj-table td[data-label="Options"] a,
  .jmj-member-main .jmj-table td[data-label="Options"] button,
  .jmj-member-main .jmj-table td[data-label="Options"] .jmj-btn{
    min-width:88px !important;
    font-size:12px !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
}

/* Step 3.20: real mobile Gujarati action button/status layout fix */
@media (max-width: 767px){
  /* Messaging header: keep action buttons clean, report visible, and status under buttons */
  .jmj-chat-header__actions,
  .jmj-chat-header__actions--only{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    width:100% !important;
  }
  .jmj-chat-header__actions form,
  .jmj-chat-header__actions--only form{
    display:inline-flex !important;
    margin:0 !important;
    flex:0 0 auto !important;
  }
  .jmj-chat-header__actions .jmj-btn,
  .jmj-chat-header__actions button,
  .jmj-chat-header__actions a,
  .jmj-chat-header__actions .jmj-action-state{
    min-width:76px !important;
    min-height:38px !important;
    padding:8px 12px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-height:1.25 !important;
    text-align:center !important;
  }
  .jmj-chat-action-status{
    display:block !important;
    flex:0 0 100% !important;
    width:100% !important;
    margin-top:2px !important;
    color:#6b7280 !important;
    font-size:12px !important;
    line-height:1.4 !important;
    white-space:normal !important;
  }

  /* All user-side mobile table action links must look like real buttons */
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] > a:not(.jmj-btn),
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] > a:not(.jmj-btn),
  .jmj-member-main .jmj-table td[data-label="Actions"] > a:not(.jmj-btn),
  .jmj-member-main .jmj-table td[data-label="Options"] > a:not(.jmj-btn){
    border:1px solid var(--jmj-border) !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#111827 !important;
    text-decoration:none !important;
  }
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] a,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] a,
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] button,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] button,
  .jmj-member-main .jmj-table td[data-label="ક્રિયા"] .jmj-btn,
  .jmj-member-main .jmj-table td[data-label="વિકલ્પો"] .jmj-btn{
    vertical-align:middle !important;
    text-decoration:none !important;
  }

  /* Long Gujarati statuses should not break letter by letter */
  .jmj-member-main .jmj-table td[data-label="સ્થિતિ"]{
    align-items:flex-start !important;
    gap:8px !important;
  }
  .jmj-member-main .jmj-table td[data-label="સ્થિતિ"] .jmj-pill,
  .jmj-member-main .jmj-table td[data-label="સ્થિતિ"] .jmj-status-chip,
  .jmj-member-main .jmj-table .jmj-pill{
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-height:1.25 !important;
    max-width:190px !important;
    min-width:auto !important;
    text-align:center !important;
  }

  /* Privacy request page: two action buttons same width/height and clean stack */
  body.page-template-member-privacy-requests .jmj-table td[data-label="ક્રિયા"],
  body.page-template-templatesmember-privacy-requests-php .jmj-table td[data-label="ક્રિયા"]{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
  }
  body.page-template-member-privacy-requests .jmj-table td[data-label="ક્રિયા"]::before,
  body.page-template-templatesmember-privacy-requests-php .jmj-table td[data-label="ક્રિયા"]::before{
    width:100% !important;
    margin-bottom:0 !important;
  }
  body.page-template-member-privacy-requests .jmj-table td[data-label="ક્રિયા"] form,
  body.page-template-templatesmember-privacy-requests-php .jmj-table td[data-label="ક્રિયા"] form{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }
  body.page-template-member-privacy-requests .jmj-table td[data-label="ક્રિયા"] a,
  body.page-template-member-privacy-requests .jmj-table td[data-label="ક્રિયા"] button,
  body.page-template-member-privacy-requests .jmj-table td[data-label="ક્રિયા"] .jmj-btn,
  body.page-template-templatesmember-privacy-requests-php .jmj-table td[data-label="ક્રિયા"] a,
  body.page-template-templatesmember-privacy-requests-php .jmj-table td[data-label="ક્રિયા"] button,
  body.page-template-templatesmember-privacy-requests-php .jmj-table td[data-label="ક્રિયા"] .jmj-btn{
    width:100% !important;
    min-width:0 !important;
    min-height:40px !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }
}

/* Step 3.20: active member card action buttons readable on small phones */
@media (max-width: 480px){
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row form,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row form{
    display:inline-flex !important;
    margin:0 !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row a,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row button,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row span.jmj-linklike,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-action-state,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row a,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row button,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row span.jmj-linklike,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-action-state{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:92px !important;
    min-height:42px !important;
    padding:8px 10px !important;
    line-height:1.25 !important;
    font-size:12px !important;
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    text-align:center !important;
  }
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-action-ico{
    flex:0 0 auto !important;
  }
}

/* Step 3.23: Mobile active member card action icons horizontal row */
@media (max-width: 767px){
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    align-items:start !important;
    justify-items:stretch !important;
    justify-content:normal !important;
    gap:8px !important;
    width:100% !important;
    margin:16px 0 0 !important;
    padding:14px 0 0 !important;
    border-top:1px solid #edf1f5 !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row form,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row form{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row a,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row button,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row span.jmj-linklike,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-linklike,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-action-state,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row a,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row button,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row span.jmj-linklike,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-linklike,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-action-state{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px !important;
    width:100% !important;
    min-width:0 !important;
    min-height:54px !important;
    height:auto !important;
    padding:0 2px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    color:#FD2C79 !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    text-align:center !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    text-decoration:none !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-action-ico,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-action-ico{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    max-width:28px !important;
    max-height:28px !important;
    flex:0 0 28px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto 1px !important;
    padding:0 !important;
    border-radius:999px !important;
    background:#fff2f7 !important;
    color:#FD2C79 !important;
    line-height:0 !important;
    overflow:hidden !important;
    aspect-ratio:1 / 1 !important;
  }

  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-action-ico .jmj-svg-icon,
  body.page-template-public-active-members .jmj-member-list-card .jmj-actions-row .jmj-action-ico svg,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-action-ico .jmj-svg-icon,
  body.page-template-templatespublic-active-members-php .jmj-member-list-card .jmj-actions-row .jmj-action-ico svg{
    width:15px !important;
    height:15px !important;
    max-width:15px !important;
    max-height:15px !important;
    flex:0 0 15px !important;
    display:block !important;
    margin:0 !important;
  }
}


/* Step 3.49: Mobile filter drawer scroll + safe select popup behavior */
@media (max-width: 767px), (pointer: coarse){
  body.jmj-filter-open .jmj-mobile-select-popover,
  body.jmj-filter-open .jmj-mobile-select-sheet,
  body.jmj-filter-open .jmj-mobile-select-options{
    touch-action: pan-y !important;
    overscroll-behavior: contain !important;
  }
  body.jmj-filter-open .jmj-mobile-select-options{
    max-height: min(58vh, 430px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.page-template-public-active-members.jmj-filter-open .jmj-filter-card,
  body.page-template-templatespublic-active-members-php.jmj-filter-open .jmj-filter-card{
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }
}

/* v2.0.29: Keep matrimonial custom select arrows inside matrimonial pages only.
 * SGBMS public program pages use their own native/select styling and must not
 * inherit the pink focus chevron from this theme.
 */
body.sgbms-program-layout select {
  background-image: none !important;
}
