/* ============================================================
   NIKAAH & CO. — Matrimonial Platform Frontend
   Design tokens: ivory/navy/champagne-gold, Playfair + Inter
============================================================ */

:root{
  --ivory:#FAF7EF;
  --white:#FFFFFF;
  --navy:#1C2B45;
  --navy-deep:#101B30;
  --gold:#B4884A;
  --gold-light:#D9BD8C;
  --gold-soft:#F1E6D0;
  --beige:#EFE7D6;
  --text:#2B2A25;
  --muted:#7C7666;
  --line:#E6DFCC;
  --success:#3F7A54;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:16px;
  --ease:cubic-bezier(.22,.9,.32,1);
}

*{box-sizing:border-box;}

body{
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--ivory);
  line-height:1.65;
}

h1,h2,h3,h4,.font-display{
  font-family:'Playfair Display',serif;
  color:var(--navy-deep);
  letter-spacing:-.2px;
}

a{color:inherit;}
a:hover{color:var(--gold);}

img{max-width:100%;display:block;}

::selection{background:var(--gold-soft);}

.text-muted-soft{color:var(--muted);}
.bg-ivory{background:var(--ivory);}
.bg-navy{background:var(--navy);}
.bg-beige{background:var(--beige);}

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

.container-narrow{max-width:760px;margin:0 auto;}

.eyebrow-line{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--gold);
  font-weight:600;
  font-size:13.5px;
  margin-bottom:14px;
}
.eyebrow-line::before{
  content:"";
  width:26px;
  height:1px;
  background:var(--gold);
  display:inline-block;
}

/* ============ NAVBAR ============ */
.rk-navbar{
  background:var(--white);
  border-bottom:1px solid var(--line);
  padding:16px 0;
}
.rk-navbar .navbar-brand{
  font-family:'Playfair Display',serif;
  font-size:23px;
  font-weight:700;
  color:var(--navy-deep);
  display:flex;
  align-items:center;
  gap:9px;
}
.rk-navbar .navbar-brand i{color:var(--gold);}
.rk-navbar .nav-link{
  color:var(--text);
  font-weight:500;
  font-size:14.5px;
  padding:8px 16px !important;
}
.rk-navbar .nav-link.active,
.rk-navbar .nav-link:hover{
  color:var(--gold);
}
.rk-navbar .navbar-toggler{border:none;box-shadow:none;}

.btn-gold{
  background:var(--gold);
  border:1px solid var(--gold);
  color:var(--white) !important;
  font-weight:600;
  font-size:14px;
  padding:10px 26px;
  border-radius:var(--radius-sm);
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
.btn-gold:hover{
  background:var(--navy-deep);
  border-color:var(--navy-deep);
  color:var(--white) !important;
  transform:translateY(-2px);
}
.btn-outline-navy{
  background:transparent;
  border:1px solid var(--navy);
  color:var(--navy) !important;
  font-weight:600;
  font-size:14px;
  padding:10px 26px;
  border-radius:var(--radius-sm);
  transition:all .25s var(--ease);
}
.btn-outline-navy:hover{
  background:var(--navy);
  color:var(--white) !important;
  transform:translateY(-2px);
}
.btn-line-gold{
  background:transparent;
  border:1px solid var(--gold);
  color:var(--gold) !important;
  font-weight:600;
  font-size:13.5px;
  padding:8px 20px;
  border-radius:var(--radius-sm);
  transition:all .25s var(--ease);
}
.btn-line-gold:hover{
  background:var(--gold);
  color:var(--white) !important;
}

/* ============ HERO ============ */
.rk-hero{
  background:var(--navy-deep);
  position:relative;
  overflow:hidden;
  padding:100px 0 0;
}
.rk-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 60% 55% at 82% 20%, rgba(180,136,74,.16), transparent 70%),
    linear-gradient(180deg, rgba(16,27,48,.2), rgba(16,27,48,.85));
}
.rk-hero-inner{position:relative;z-index:2;}
.rk-hero h1{
  color:var(--white);
  font-size:clamp(34px,4.6vw,58px);
  line-height:1.14;
  max-width:620px;
}
.rk-hero h1 em{
  font-style:italic;
  color:var(--gold-light);
}
.rk-hero p.lead{
  color:rgba(255,255,255,.72);
  font-size:16.5px;
  max-width:520px;
  margin-top:18px;
}
.rk-hero-eyebrow{
  color:var(--gold-light);
  font-weight:600;
  font-size:13.5px;
  letter-spacing:.3px;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:10px;
}
.rk-hero-eyebrow::before{
  content:"";
  width:30px;height:1px;
  background:var(--gold-light);
}
.rk-hero-actions{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;}

.rk-hero-photo{
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  overflow:hidden;
  position:relative;
  z-index:2;
  box-shadow:0 30px 70px rgba(0,0,0,.35);
}
.rk-hero-photo img{height:460px;object-fit:cover;width:100%;}

/* search card overlapping hero */
.rk-search-card{
  position:relative;
  z-index:5;
  background:var(--white);
  border-radius:var(--radius-lg);
  box-shadow:0 25px 60px rgba(16,27,48,.18);
  padding:26px 28px;
  margin-top:-46px;
  border:1px solid var(--line);
}
.rk-search-card label{
  font-size:12px;
  font-weight:600;
  color:var(--muted);
  margin-bottom:6px;
  display:block;
}
.rk-search-card .form-select,
.rk-search-card .form-control{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:10px 12px;
  font-size:14px;
  background:var(--ivory);
}
.rk-search-card .form-select:focus,
.rk-search-card .form-control:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(180,136,74,.14);
}

/* ============ SECTION HEADINGS ============ */
.section-head{max-width:640px;margin-bottom:46px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(26px,3vw,38px);line-height:1.2;}
.section-head p{color:var(--muted);margin-top:12px;font-size:15px;}

/* ============ PROFILE CARDS ============ */
.rk-profile-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  height:100%;
}
.rk-profile-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(16,27,48,.1);
}
.rk-profile-photo{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
}
.rk-profile-photo img{width:100%;height:100%;object-fit:cover;}
.rk-profile-badge{
  position:absolute;
  top:12px;left:12px;
  background:rgba(16,27,48,.75);
  color:var(--gold-light);
  font-size:11px;
  font-weight:600;
  padding:5px 11px;
  border-radius:20px;
  backdrop-filter:blur(4px);
}
.rk-profile-fav{
  position:absolute;
  top:12px;right:12px;
  width:34px;height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  border:none;
  font-size:13px;
  cursor:pointer;
  transition:.25s;
}
.rk-profile-fav:hover{background:var(--gold);color:var(--white);}
.rk-profile-fav.active{background:var(--gold);color:var(--white);}

.rk-profile-body{padding:18px 20px 20px;}
.rk-profile-body h3{font-size:17px;margin-bottom:4px;}
.rk-profile-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:var(--muted);
  font-size:12.5px;
  margin:8px 0 14px;
}
.rk-profile-meta span{display:flex;align-items:center;gap:5px;}
.rk-profile-meta i{color:var(--gold);}

.rk-match-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--gold-soft);
  color:#8A6A2F;
  font-size:11.5px;
  font-weight:700;
  padding:4px 11px;
  border-radius:20px;
}

.rk-profile-actions{
  display:flex;
  gap:8px;
  margin-top:14px;
}
.rk-profile-actions .btn{
  flex:1;
  font-size:12.5px;
  padding:8px 10px;
  border-radius:var(--radius-sm);
  font-weight:600;
}

/* ============ FEATURE / TRUST ITEMS ============ */
.rk-trust-item{
  display:flex;
  gap:16px;
  padding:26px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  height:100%;
}
.rk-trust-icon{
  width:46px;height:46px;
  flex:0 0 auto;
  border-radius:12px;
  background:var(--gold-soft);
  color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
}
.rk-trust-item h4{font-size:16px;margin-bottom:6px;}
.rk-trust-item p{font-size:13px;color:var(--muted);margin:0;}

/* ============ HOW IT WORKS STEPS ============ */
.rk-step{position:relative;padding-left:56px;margin-bottom:34px;}
.rk-step:last-child{margin-bottom:0;}
.rk-step-num{
  position:absolute;left:0;top:0;
  width:38px;height:38px;
  border-radius:50%;
  border:1px solid var(--gold);
  color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:15px;
}
.rk-step h4{font-size:17px;margin-bottom:6px;}
.rk-step p{color:var(--muted);font-size:13.5px;margin:0;}
.rk-step-line{
  position:absolute;
  left:19px;top:40px;
  width:1px;height:calc(100% - 12px);
  background:var(--line);
}

/* ============ MEMBERSHIP CARDS ============ */
.rk-plan{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:34px 30px;
  height:100%;
  display:flex;
  flex-direction:column;
}
.rk-plan.featured{
  background:var(--navy-deep);
  border-color:var(--navy-deep);
  position:relative;
  transform:translateY(-14px);
}
.rk-plan.featured *{color:var(--white);}
.rk-plan.featured .rk-plan-tag{
  position:absolute;
  top:-13px;left:30px;
  background:var(--gold);
  color:var(--white);
  font-size:11px;
  font-weight:700;
  padding:5px 14px;
  border-radius:20px;
}
.rk-plan-name{font-family:'Playfair Display',serif;font-size:22px;margin-bottom:6px;}
.rk-plan-price{font-size:36px;font-weight:700;color:var(--navy-deep);margin:14px 0 4px;}
.rk-plan.featured .rk-plan-price{color:var(--gold-light);}
.rk-plan-price small{font-size:13px;font-weight:500;color:var(--muted);}
.rk-plan.featured .rk-plan-price small{color:rgba(255,255,255,.6);}
.rk-plan-feats{list-style:none;padding:0;margin:22px 0 26px;flex:1;}
.rk-plan-feats li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:13.5px;
  color:var(--text);
  margin-bottom:12px;
}
.rk-plan.featured .rk-plan-feats li{color:rgba(255,255,255,.85);}
.rk-plan-feats i{color:var(--gold);margin-top:3px;}

/* ============ TESTIMONIAL / SUCCESS ============ */
.rk-story{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:26px;
  height:100%;
}
.rk-story-photos{display:flex;margin-bottom:16px;}
.rk-story-photos img{
  width:52px;height:52px;
  border-radius:50%;
  object-fit:cover;
  border:3px solid var(--white);
  box-shadow:0 0 0 1px var(--line);
}
.rk-story-photos img:last-child{margin-left:-16px;}
.rk-story p{font-size:13.5px;color:var(--muted);font-style:italic;}
.rk-story h5{font-size:14.5px;margin-top:12px;margin-bottom:2px;}
.rk-story span{font-size:12px;color:var(--gold);}

/* ============ FAQ ============ */
.rk-faq .accordion-item{
  border:1px solid var(--line);
  border-radius:var(--radius-sm) !important;
  margin-bottom:10px;
  overflow:hidden;
}
.rk-faq .accordion-button{
  font-family:'Playfair Display',serif;
  font-weight:600;
  font-size:15.5px;
  color:var(--navy-deep);
  background:var(--white);
  padding:18px 20px;
}
.rk-faq .accordion-button:not(.collapsed){
  color:var(--gold);
  background:var(--gold-soft);
  box-shadow:none;
}
.rk-faq .accordion-button:focus{box-shadow:none;border-color:var(--line);}
.rk-faq .accordion-body{font-size:13.5px;color:var(--muted);padding:4px 20px 20px;}

/* ============ FILTER SIDEBAR (Search page) ============ */
.rk-filter-box{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:24px;
}
.rk-filter-box h5{font-size:15px;margin-bottom:18px;display:flex;align-items:center;justify-content:between;gap:8px;}
.rk-filter-group{margin-bottom:20px;}
.rk-filter-group label.title{
  font-size:12.5px;
  font-weight:700;
  color:var(--navy-deep);
  margin-bottom:10px;
  display:block;
}
.rk-filter-group .form-check{margin-bottom:6px;}
.rk-filter-group .form-check-label{font-size:13px;color:var(--muted);}
.rk-filter-box .form-range{accent-color:var(--gold);}

/* ============ PROFILE DETAILS PAGE ============ */
.rk-pd-gallery img{
  width:100%;
  border-radius:var(--radius-md);
  aspect-ratio:4/5;
  object-fit:cover;
}
.rk-pd-thumbs{display:flex;gap:8px;margin-top:10px;}
.rk-pd-thumbs img{
  width:64px;height:64px;
  object-fit:cover;
  border-radius:8px;
  border:2px solid transparent;
  cursor:pointer;
}
.rk-pd-thumbs img.active{border-color:var(--gold);}

.rk-pd-info-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:26px;
}
.rk-pd-name{font-size:26px;margin-bottom:4px;}
.rk-pd-loc{color:var(--muted);font-size:13.5px;display:flex;align-items:center;gap:6px;}
.rk-pd-loc i{color:var(--gold);}

.rk-completion-bar{
  height:6px;
  background:var(--beige);
  border-radius:20px;
  overflow:hidden;
  margin-top:8px;
}
.rk-completion-bar span{
  display:block;height:100%;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  border-radius:20px;
}

.rk-detail-table{width:100%;font-size:13.5px;}
.rk-detail-table tr{border-bottom:1px solid var(--line);}
.rk-detail-table tr:last-child{border-bottom:none;}
.rk-detail-table td{padding:11px 4px;}
.rk-detail-table td:first-child{color:var(--muted);width:42%;}
.rk-detail-table td:last-child{color:var(--text);font-weight:500;}

.rk-pref-compare{
  background:var(--gold-soft);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  margin-bottom:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
}
.rk-pref-compare .lbl{color:var(--muted);font-weight:600;}
.rk-pref-compare .match-yes{color:var(--success);font-weight:700;}

/* ============ AUTH PAGES ============ */
.rk-auth-wrap{
  min-height:calc(100vh - 76px);
  display:flex;
  align-items:stretch;
}
.rk-auth-visual{
  flex:1;
  background:
    linear-gradient(180deg, rgba(16,27,48,.35), rgba(16,27,48,.85)),
    url('https://images.unsplash.com/photo-1519741497674-611481863552?q=80&w=1200&auto=format&fit=crop') center/cover;
  display:flex;
  align-items:flex-end;
  padding:50px;
  color:var(--white);
}
.rk-auth-visual blockquote{
  font-family:'Playfair Display',serif;
  font-size:24px;
  line-height:1.4;
  max-width:420px;
}
.rk-auth-visual cite{
  display:block;
  margin-top:14px;
  font-size:13px;
  color:var(--gold-light);
  font-style:normal;
}
.rk-auth-form-side{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:50px 24px;
  background:var(--ivory);
}
.rk-auth-box{width:100%;max-width:420px;}
.rk-auth-box .form-label{font-size:13px;font-weight:600;color:var(--navy-deep);}
.rk-auth-box .form-control,
.rk-auth-box .form-select{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:11px 14px;
  font-size:14px;
  background:var(--white);
}
.rk-auth-box .form-control:focus,
.rk-auth-box .form-select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(180,136,74,.14);
}
.rk-step-indicator{
  display:flex;
  gap:8px;
  margin-bottom:28px;
}
.rk-step-indicator span{
  flex:1;
  height:3px;
  border-radius:3px;
  background:var(--line);
}
.rk-step-indicator span.done{background:var(--gold);}

/* ============ CTA BAND ============ */
.rk-cta-band{
  background:var(--navy-deep);
  border-radius:var(--radius-lg);
  padding:60px 50px;
  position:relative;
  overflow:hidden;
}
.rk-cta-band::before{
  content:"";
  position:absolute;
  width:340px;height:340px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  right:-90px;top:-110px;
}
.rk-cta-band h2{color:var(--white);font-size:clamp(24px,3vw,34px);max-width:520px;}
.rk-cta-band p{color:rgba(255,255,255,.65);margin-top:10px;max-width:460px;font-size:14px;}

/* ============ FOOTER ============ */
.rk-footer{
  background:var(--navy-deep);
  color:rgba(255,255,255,.65);
  padding:64px 0 26px;
  font-size:13.5px;
}
.rk-footer h5{
  font-family:'Playfair Display',serif;
  color:var(--white);
  font-size:17px;
  margin-bottom:18px;
}
.rk-footer a{color:rgba(255,255,255,.65);}
.rk-footer a:hover{color:var(--gold-light);}
.rk-footer ul{list-style:none;padding:0;}
.rk-footer ul li{margin-bottom:10px;}
.rk-footer .brand{
  font-family:'Playfair Display',serif;
  font-size:22px;
  color:var(--white);
  display:flex;align-items:center;gap:9px;
  margin-bottom:14px;
}
.rk-footer .brand i{color:var(--gold);}
.rk-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:40px;
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  font-size:12.5px;
  color:rgba(255,255,255,.45);
}
.rk-social{display:flex;gap:10px;}
.rk-social a{
  width:34px;height:34px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;
}
.rk-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--white);}

/* ============ PAGE HEADER (inner pages) ============ */
.rk-page-header{
  background:var(--navy-deep);
  padding:64px 0;
  text-align:center;
}
.rk-page-header h1{color:var(--white);font-size:clamp(28px,3.6vw,42px);}
.rk-page-header .breadcrumb-rk{
  color:rgba(255,255,255,.55);
  font-size:13px;
  margin-top:10px;
}
.rk-page-header .breadcrumb-rk a{color:var(--gold-light);}

/* utility */
.badge-status{
  font-size:11px;
  font-weight:700;
  padding:4px 11px;
  border-radius:20px;
}
.badge-status.approved{background:#E4F1E7;color:var(--success);}
.badge-status.pending{background:#FBF1DD;color:#9C7A21;}

@media(max-width:900px){
  .rk-auth-visual{display:none;}
}

/* ============================================================
   PREMIUM PROFILES CAROUSEL — dot indicators + control contrast
============================================================ */
#rkPremiumCarousel .rk-carousel-indicators{
  position:static;
  margin:0 0 28px;
  gap:8px;
}
#rkPremiumCarousel .rk-carousel-indicators button{
  width:9px;height:9px;border-radius:50%;
  background:rgba(255,255,255,.35);
  border:none;opacity:1;
  transition:background .2s var(--ease), transform .2s var(--ease);
}
#rkPremiumCarousel .rk-carousel-indicators button.active{
  background:var(--gold);
  transform:scale(1.25);
}
#rkPremiumCarousel .carousel-control-prev,
#rkPremiumCarousel .carousel-control-next{
  width:44px;height:44px;top:50%;transform:translateY(-50%);
  background:rgba(15,41,66,.65);
  border:1px solid rgba(212,175,106,.5);
  border-radius:50%;
  opacity:1;
}
#rkPremiumCarousel .carousel-control-prev{left:-8px;}
#rkPremiumCarousel .carousel-control-next{right:-8px;}
#rkPremiumCarousel .carousel-control-prev:hover,
#rkPremiumCarousel .carousel-control-next:hover{
  background:var(--gold);
  border-color:var(--gold);
}
#rkPremiumCarousel .carousel-control-prev-icon,
#rkPremiumCarousel .carousel-control-next-icon{
  width:16px;height:16px;
  filter:brightness(0) invert(1);
}
@media(max-width:576px){
  #rkPremiumCarousel .carousel-control-prev{left:2px;}
  #rkPremiumCarousel .carousel-control-next{right:2px;}
}

/* ============================================================
   LEFT SIDEBAR LAYOUT (User Dashboard + Admin Panel)
============================================================ */
.rk-topbar{
  position:fixed;top:0;left:0;right:0;z-index:1050;
  background:var(--navy-deep);
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;
}
.rk-sidebar-toggle{background:none;border:0;color:var(--gold-light);font-size:20px;position:relative;z-index:1060;padding:8px;display:inline-flex;align-items:center;justify-content:center;}
.rk-hamburger-lines{display:flex;flex-direction:column;gap:4px;width:24px;height:22px;justify-content:center;}
.rk-hamburger-lines span{display:block;width:24px;height:3px;border-radius:3px;background:var(--gold-light);transition:.2s ease;}
.rk-sidebar-toggle:hover .rk-hamburger-lines span{background:#fff;}
.rk-topbar-brand{
  color:#fff;font-family:'Playfair Display',serif;font-weight:600;font-size:18px;
  display:flex;align-items:center;gap:8px;
}
.rk-topbar-brand i{color:var(--gold);}

.rk-sidebar{
  position:fixed;top:0;left:0;bottom:0;width:260px;
  background:var(--navy-deep);
  display:flex;flex-direction:column;
  z-index:1040;
  overflow-y:auto;
  transition:transform .25s var(--ease);
}
.rk-sidebar-brand{padding:26px 22px 18px;}
.rk-sidebar-brand a{
  color:#fff;font-family:'Playfair Display',serif;font-weight:600;font-size:19px;
  display:flex;align-items:center;gap:9px;text-decoration:none;
}
.rk-sidebar-brand a i{color:var(--gold);}
.rk-sidebar-tag{color:var(--gold-light);font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:0 22px 14px;margin:0;}

.rk-sidebar-profile{
  display:flex;align-items:center;gap:12px;
  padding:14px 22px;margin:0 14px 8px;
  background:rgba(255,255,255,.05);border-radius:var(--radius-md);
}
.rk-sidebar-profile img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.rk-sidebar-profile-info{min-width:0;}
.rk-sidebar-profile-info strong{display:block;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rk-plan-tag{
  display:inline-block;margin-top:3px;font-size:10.5px;font-weight:700;letter-spacing:.5px;
  text-transform:uppercase;padding:2px 8px;border-radius:20px;
  background:var(--beige);color:var(--navy-deep);
}
.rk-plan-tag.rk-plan-gold{background:var(--gold-soft);color:var(--gold);}
.rk-plan-tag.rk-plan-premium{background:var(--gold);color:#fff;}

.rk-sidebar-switch{
  margin:0 14px 10px;padding:9px 14px;font-size:13px;text-align:center;
  border:1px dashed var(--gold);color:var(--gold-light) !important;border-radius:var(--radius-md);
  text-decoration:none;display:block;
}
.rk-sidebar-switch:hover{background:rgba(180,136,74,.12);}

.rk-sidebar-nav{display:flex;flex-direction:column;padding:6px 12px;gap:2px;flex:1;}
.rk-sidebar-nav a{
  display:flex;align-items:center;gap:12px;
  padding:11px 14px;border-radius:var(--radius-md);
  color:#C7CEDA !important;font-size:14.5px;font-weight:500;
  text-decoration:none;transition:.15s var(--ease);
}
.rk-sidebar-nav a i{width:18px;text-align:center;color:var(--gold-light);}
.rk-sidebar-nav a:hover{background:rgba(255,255,255,.06);color:#fff !important;}
.rk-sidebar-nav a.active{background:var(--gold);color:#fff !important;}
.rk-sidebar-nav a.active i{color:#fff;}

.rk-sidebar-logout{
  margin:14px;padding:11px 14px;border-radius:var(--radius-md);
  color:#ECA6A6 !important;font-size:14.5px;font-weight:600;text-decoration:none;
  display:flex;align-items:center;gap:12px;
  border:1px solid rgba(236,166,166,.3);
}
.rk-sidebar-logout:hover{background:rgba(236,166,166,.1);}

/* Push all page content to the right of the fixed sidebar.
   Works without touching each page's inner markup: every direct
   child of <body class="rk-sidebar-layout"> except the sidebar/topbar
   gets shifted right on desktop. */
body.rk-sidebar-layout{background:var(--ivory);}
body.rk-sidebar-layout > *:not(.rk-sidebar):not(.rk-topbar):not(.rk-sidebar-overlay){
  margin-left:260px;
}
body.rk-sidebar-layout .rk-page-header{
  padding-top:44px !important;
}
body.rk-sidebar-layout .rk-topbar{display:none;}

/* Overlay shown behind the sidebar on mobile/tablet so tapping outside closes it. */
.rk-sidebar-overlay{
  display:none;
  position:fixed;inset:0;
  background:rgba(15,41,66,.55);
  z-index:1035;
  opacity:0;
  transition:opacity .2s var(--ease);
}
.rk-sidebar-overlay.show{display:block;opacity:1;}

@media(max-width:991.98px){
  body.rk-sidebar-layout > *:not(.rk-sidebar):not(.rk-topbar):not(.rk-sidebar-overlay){
    margin-left:0;
    padding-top:64px;
  }
  body.rk-sidebar-layout .rk-topbar{display:flex;}
  .rk-sidebar{transform:translateX(-100%);}
  .rk-sidebar.open{transform:translateX(0);}
  body.rk-sidebar-layout .rk-page-header{
    padding-top:0 !important;
  }
}
@media(min-width:992px){
  .rk-sidebar-overlay{display:none !important;}
}


/* ============================================================
   MOBILE / TOUCH RESPONSIVENESS PATCH
   Keeps the existing desktop layout intact while ensuring
   dashboard pages behave like a real mobile web app.
============================================================ */
html{overflow-x:hidden;}
body{overflow-x:hidden;}

/* Prevent long labels/URLs from forcing the desktop canvas wider. */
.rk-sidebar-layout .container,
.rk-sidebar-layout .container-fluid,
.rk-sidebar-layout .row,
.rk-filter-box,
.rk-profile-card,
.rk-profile-body,
.rk-profile-actions{min-width:0;}

.rk-profile-actions{display:flex;gap:8px;}
.rk-profile-actions .btn,
.rk-profile-actions a{touch-action:manipulation;}

@media (max-width: 991.98px){
  /* The fixed mobile bar must remain above page content and be easy to tap. */
  .rk-topbar{
    min-height:64px;
    padding:12px 16px;
    pointer-events:auto;
  }
  .rk-sidebar-toggle{
    width:44px;height:44px;
    display:inline-flex;align-items:center;justify-content:center;
    cursor:pointer;
    flex:0 0 44px;
    touch-action:manipulation;
  }
  .rk-topbar-brand{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .rk-sidebar{
    width:min(300px,88vw);
    max-width:88vw;
    -webkit-overflow-scrolling:touch;
  }
  .rk-sidebar-nav a,
  .rk-sidebar-switch,
  .rk-sidebar-logout{
    min-height:46px;
    touch-action:manipulation;
  }

  body.rk-sidebar-layout > *:not(.rk-sidebar):not(.rk-topbar):not(.rk-sidebar-overlay){
    margin-left:0;
    padding-top:64px;
    max-width:100%;
  }
  body.rk-sidebar-layout .rk-page-header{
    padding-top:24px !important;
    padding-bottom:34px;
  }
  body.rk-sidebar-layout .section-pad{
    padding-top:34px;
    padding-bottom:44px;
  }

  .rk-page-header h1{font-size:30px;line-height:1.2;}
  .rk-page-header .breadcrumb-rk{font-size:12px;}

  /* Stack dashboard search controls cleanly. */
  .rk-filter-box .row > [class*="col-"]{min-width:0;}
  .rk-filter-box .form-control,
  .rk-filter-box .form-select,
  .rk-filter-box button,
  .rk-filter-box .btn-gold,
  .rk-filter-box .btn-outline-navy{
    width:100%;
    min-height:44px;
  }

  /* Keep action buttons large enough for fingers. */
  .btn-gold,.btn-outline-navy,.btn-danger,.btn-success,.btn-warning{
    min-height:44px;
    touch-action:manipulation;
  }
}

@media (max-width: 575.98px){
  .rk-topbar{padding:11px 12px;gap:9px;}
  .rk-topbar-brand{font-size:16px;}
  .rk-page-header h1{font-size:27px;}
  .section-pad{padding:34px 0;}

  .rk-filter-box{padding:18px !important;}
  .rk-filter-box h5{font-size:18px;}
  .rk-filter-box .d-flex.justify-content-between{
    align-items:stretch !important;
  }
  .rk-filter-box .d-flex.justify-content-between > *{min-width:0;}

  .rk-profile-actions{flex-direction:column;}
  .rk-profile-actions .btn,
  .rk-profile-actions a{width:100%;text-align:center;}

  /* Dashboard stat cards: one/two columns without cramped text. */
  .rk-sidebar-layout .row.g-4 > .col-6{width:50%;}
  .rk-sidebar-layout .row.g-4 > .col-6 .rk-filter-box{height:100%;}

  /* Long text, email addresses and links should wrap rather than create
     a horizontal desktop-style viewport. */
  .rk-sidebar-layout p,
  .rk-sidebar-layout h1,
  .rk-sidebar-layout h2,
  .rk-sidebar-layout h3,
  .rk-sidebar-layout h4,
  .rk-sidebar-layout h5,
  .rk-sidebar-layout a,
  .rk-sidebar-layout span,
  .rk-sidebar-layout strong{overflow-wrap:anywhere;}

  /* Tables/forms on small screens stay inside the viewport. */
  .rk-sidebar-layout table{width:100%;}
  .rk-sidebar-layout .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

/* STEP 4 dynamic site branding */
.rk-site-logo{display:inline-block;max-height:42px;max-width:210px;width:auto;height:auto;object-fit:contain;vertical-align:middle}
.rk-brand-fallback{display:inline-flex;align-items:center;gap:8px}
.rk-footer .rk-site-logo{max-height:52px;filter:none}
@media(max-width:575.98px){.rk-site-logo{max-height:36px;max-width:170px}.rk-navbar .navbar-brand{max-width:220px}}

@media(max-width:991.98px){
  .rk-sidebar-layout .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .rk-sidebar-layout .btn,.rk-sidebar-layout button{min-height:44px;}
  .rk-sidebar-nav a{white-space:normal;}
}


/* STEP 7: explicit Premium vs Standard profile presentation */
.rk-profile-premium-badge{background:var(--gold)!important;color:#fff!important;}
.rk-premium-intro{max-width:720px;margin:0 auto 28px;text-align:center;color:rgba(255,255,255,.78);}
