/* ============================================================
   RightToLaw — design system
   Deep navy + gold, clean legal/professional look.
   ============================================================ */

/* Local Rubik (variable font, weights 300–900) — served from /assets/rubik */
@font-face{
  font-family:'Rubik';
  src:url('../rubik/Rubik-VariableFont_wght.ttf') format('truetype-variations'),
      url('../rubik/Rubik-VariableFont_wght.ttf') format('truetype');
  font-weight:300 900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Rubik';
  src:url('../rubik/Rubik-Italic-VariableFont_wght.ttf') format('truetype-variations'),
      url('../rubik/Rubik-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight:300 900;
  font-style:italic;
  font-display:swap;
}

:root{
  /* Palette sampled from the Right To Law logo — deep royal navy + antique gold */
  --rtl-navy:#132c52;
  --rtl-navy-2:#1c3f6e;
  --rtl-navy-3:#27528a;
  --rtl-gold:#c8972f;
  --rtl-gold-2:#e2b954;
  --rtl-ink:#1f2937;
  --rtl-muted:#64748b;
  --rtl-line:#e5e8ee;
  --rtl-bg:#eef1f5;
  --rtl-green:#1d8a4e;
  --rtl-green-bg:#e6f5ec;
  --rtl-amber:#b8860b;
  --rtl-amber-bg:#fff6e0;
  --rtl-red:#c0392b;
  --rtl-red-bg:#fdecea;
  --rtl-shadow:0 2px 14px rgba(19,44,82,.07);
  --rtl-shadow-lg:0 18px 44px rgba(19,44,82,.15);
  --rtl-radius:.9rem;
  --rtl-font:"Rubik",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --rtl-head:"Rubik",var(--rtl-font);
}
*{box-sizing:border-box;}
body{background:var(--rtl-bg);color:var(--rtl-ink);font-family:var(--rtl-font);}
h1,h2,h3,h4,h5,h6,.navbar-brand{font-family:var(--rtl-head);}
a{text-decoration:none;}
.text-gold{color:var(--rtl-gold)!important;}
.bg-navy{background:var(--rtl-navy)!important;}
.bg-navy-grad{background:linear-gradient(135deg,var(--rtl-navy),var(--rtl-navy-2))!important;}

/* ---------- Buttons ---------- */
.btn-gold{background:var(--rtl-gold);border-color:var(--rtl-gold);color:#1a1a1a;font-weight:700;}
.btn-gold:hover,.btn-gold:focus{background:var(--rtl-gold-2);border-color:var(--rtl-gold-2);color:#1a1a1a;}
.btn-navy{background:var(--rtl-navy);border-color:var(--rtl-navy);color:#fff;font-weight:600;}
.btn-navy:hover,.btn-navy:focus{background:var(--rtl-navy-2);border-color:var(--rtl-navy-2);color:#fff;}
.btn-outline-navy{border:1.5px solid var(--rtl-navy);color:var(--rtl-navy);font-weight:600;background:#fff;}
.btn-outline-navy:hover{background:var(--rtl-navy);color:#fff;}

/* ============================================================
   HEADER
   ============================================================ */
.rtl-topbar{background:var(--rtl-navy);color:#cbd5e1;font-size:.84rem;}
.rtl-topbar a{color:#cbd5e1;transition:color .15s;}
.rtl-topbar a:hover{color:var(--rtl-gold);}
.rtl-topbar .tb-link{display:inline-flex;align-items:center;gap:.35rem;}

.navbar-rtl{background:#fff;box-shadow:0 1px 0 var(--rtl-line);transition:box-shadow .2s,padding .2s;}
.navbar-rtl.is-stuck{box-shadow:0 6px 24px rgba(13,34,64,.12);}
.navbar-rtl .navbar-brand{font-weight:800;color:var(--rtl-navy);letter-spacing:.3px;line-height:1;}
.navbar-rtl .navbar-brand span{color:var(--rtl-gold);}
.navbar-rtl .navbar-brand small{display:block;font-family:var(--rtl-font);font-weight:500;font-size:.6rem;letter-spacing:.22em;color:var(--rtl-muted);text-transform:uppercase;margin-top:2px;}
.navbar-rtl .nav-link{font-weight:600;color:var(--rtl-navy)!important;padding:.5rem .9rem!important;border-radius:.5rem;position:relative;transition:color .15s,background .15s;}
.navbar-rtl .nav-link:hover{color:var(--rtl-gold)!important;background:var(--rtl-bg);}
.navbar-rtl .nav-link.active{color:var(--rtl-gold)!important;}
.navbar-rtl .nav-link.active::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.15rem;height:3px;border-radius:3px;background:var(--rtl-gold);}
.navbar-rtl .dropdown-menu{border:0;box-shadow:var(--rtl-shadow-lg);border-radius:.75rem;padding:.5rem;margin-top:.4rem;}
.navbar-rtl .dropdown-item{border-radius:.45rem;font-weight:500;padding:.5rem .8rem;}
.navbar-rtl .dropdown-item:hover{background:var(--rtl-bg);color:var(--rtl-navy);}
.dropdown-mega{min-width:min(560px,92vw);}
.dropdown-mega .dropdown-item{white-space:normal;}

/* ============================================================
   HERO + SECTION HELPERS
   ============================================================ */
.rtl-hero{background:linear-gradient(135deg,var(--rtl-navy),var(--rtl-navy-2));color:#fff;padding:4.5rem 0;position:relative;overflow:hidden;}
.rtl-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.18),transparent 70%);}
.rtl-hero h1{font-weight:800;line-height:1.12;}
.rtl-hero .lead{color:#cdd9ea;}
.rtl-pagehead{background:linear-gradient(135deg,var(--rtl-navy),var(--rtl-navy-2));color:#fff;padding:2.6rem 0;position:relative;}
.rtl-pagehead h1{font-weight:800;}
.rtl-pagehead .breadcrumb{--bs-breadcrumb-divider-color:#7e93b4;}
.rtl-pagehead .breadcrumb a{color:var(--rtl-gold);}
.rtl-pagehead .breadcrumb-item.active{color:#cdd9ea;}

.rtl-search{background:#fff;border-radius:.7rem;padding:.35rem;box-shadow:0 12px 40px rgba(0,0,0,.25);}
.rtl-search .form-control{border:0;padding:.55rem .9rem;font-size:.98rem;}
.rtl-search .form-control:focus{box-shadow:none;}
.rtl-search .btn{padding-top:.55rem;padding-bottom:.55rem;font-weight:700;}

.section-title{font-weight:800;color:var(--rtl-navy);position:relative;}
.section-title::after{content:"";display:block;width:60px;height:4px;background:var(--rtl-gold);border-radius:4px;margin-top:.5rem;}

/* ============================================================
   CARDS / CHIPS
   ============================================================ */
/* Equal-height in grids is opt-in via Bootstrap's .h-100 — a global height:100%
   here balloons standalone cards inside tall flex columns. */
.rtl-card{background:#fff;border:1px solid var(--rtl-line);border-radius:var(--rtl-radius);box-shadow:var(--rtl-shadow);transition:transform .15s ease,box-shadow .15s ease;}
.rtl-card:hover{transform:translateY(-4px);box-shadow:var(--rtl-shadow-lg);}
.cat-pill{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--rtl-line);border-radius:2rem;padding:.5rem 1rem;font-weight:600;color:var(--rtl-navy);transition:.15s;}
.cat-pill .badge{background:var(--rtl-bg);color:var(--rtl-muted);}
.cat-pill:hover{border-color:var(--rtl-gold);color:var(--rtl-navy);box-shadow:var(--rtl-shadow);}
.chip{display:inline-block;background:#eef2f8;color:#33415c;border-radius:1rem;padding:.15rem .65rem;font-size:.78rem;margin:.1rem;}
.chip-gold{background:var(--rtl-amber-bg);color:var(--rtl-amber);}

.lawyer-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#e9eef5;border:2px solid var(--rtl-gold);}
.lawyer-avatar-lg{width:120px;height:120px;border-radius:1rem;object-fit:cover;background:#e9eef5;border:3px solid var(--rtl-gold);}

/* ---------- Lawyer card (directory) ---------- */
.lawyer-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--rtl-line);border-radius:var(--rtl-radius);box-shadow:var(--rtl-shadow);overflow:hidden;transition:transform .15s,box-shadow .15s;}
.lawyer-card:hover{transform:translateY(-5px);box-shadow:var(--rtl-shadow-lg);}
.lawyer-card__top{display:flex;gap:.9rem;padding:1.1rem 1.1rem .4rem;align-items:flex-start;}
.lawyer-card__avatar{width:62px;height:62px;border-radius:14px;object-fit:cover;background:#e9eef5;border:2px solid var(--rtl-gold);flex:none;}
.lawyer-card__info{flex:1;min-width:0;}
.lawyer-card__name{display:block;font-weight:700;color:var(--rtl-navy);line-height:1.25;overflow-wrap:anywhere;}
.lawyer-card__name:hover{color:var(--rtl-gold);}
.lawyer-card__loc{font-size:.82rem;color:var(--rtl-muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.lawyer-card__verify{font-size:.72rem;font-weight:700;color:var(--rtl-green);}
.lawyer-card__meta{display:flex;flex-wrap:wrap;gap:.4rem;padding:.2rem 1.1rem .4rem;}
.lawyer-card__body{padding:.2rem 1.1rem .8rem;}
.lawyer-card__foot{margin-top:auto;display:flex;gap:.5rem;padding:.8rem 1.1rem 1.1rem;}
.rating-pill{display:inline-flex;align-items:center;gap:.25rem;background:var(--rtl-amber-bg);color:var(--rtl-amber);font-weight:700;font-size:.8rem;border-radius:1rem;padding:.1rem .55rem;}
.meta-tag{display:inline-flex;align-items:center;gap:.3rem;background:var(--rtl-bg);border:1px solid var(--rtl-line);color:#33415c;border-radius:.5rem;padding:.2rem .55rem;font-size:.76rem;font-weight:600;}

/* ============================================================
   FILTER SIDEBAR
   ============================================================ */
.filter-card{background:#fff;border:1px solid var(--rtl-line);border-radius:var(--rtl-radius);box-shadow:var(--rtl-shadow);}
.filter-card__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid var(--rtl-line);}
.filter-card__head h2{font-size:1rem;font-weight:800;color:var(--rtl-navy);margin:0;}
.filter-group{padding:1rem 1.1rem;border-bottom:1px solid var(--rtl-line);}
.filter-group:last-child{border-bottom:0;}
.filter-group h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rtl-muted);font-weight:700;margin:0 0 .6rem;}
.filter-scroll{max-height:208px;overflow:auto;}
.filter-scroll::-webkit-scrollbar{width:7px;}
.filter-scroll::-webkit-scrollbar-thumb{background:#cfd8e6;border-radius:6px;}
.form-check-label{font-size:.9rem;color:#33415c;}
.form-check-input:checked{background-color:var(--rtl-navy);border-color:var(--rtl-navy);}
.active-filters .chip{background:var(--rtl-navy);color:#fff;display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;}
.active-filters .chip a{color:#fff;opacity:.8;}
.active-filters .chip a:hover{opacity:1;}

/* mobile filter toggle */
@media(max-width:991.98px){
  .filter-rail{position:fixed;inset:0 0 0 auto;width:min(340px,86vw);z-index:1050;background:#fff;transform:translateX(100%);transition:transform .25s ease;overflow:auto;box-shadow:var(--rtl-shadow-lg);}
  .filter-rail.open{transform:translateX(0);}
  .filter-backdrop{position:fixed;inset:0;background:rgba(13,34,64,.45);z-index:1040;display:none;}
  .filter-backdrop.open{display:block;}
}

/* ============================================================
   ARTICLE / CMS PROSE
   ============================================================ */
.prose{font-size:1.05rem;line-height:1.8;color:#243044;}
.prose h2{font-weight:800;color:var(--rtl-navy);margin:1.6rem 0 .8rem;}
.prose h3{font-weight:700;color:var(--rtl-navy-2);margin:1.3rem 0 .6rem;}
.prose img{max-width:100%;height:auto;border-radius:.5rem;}
.prose table{width:100%;border-collapse:collapse;margin:1rem 0;}
.prose table td,.prose table th{border:1px solid #dce3ec;padding:.6rem;}
.prose ul,.prose ol{padding-left:1.2rem;}

/* ============================================================
   IPC vs BNS
   ============================================================ */
.stat-card{background:#fff;border:1px solid var(--rtl-line);border-radius:var(--rtl-radius);box-shadow:var(--rtl-shadow);padding:1.1rem 1.2rem;text-align:center;}
.stat-card .n{font-size:1.7rem;font-weight:800;color:var(--rtl-navy);line-height:1;}
.stat-card .l{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--rtl-muted);margin-top:.3rem;}

.status-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;padding:.22rem .6rem;border-radius:1rem;white-space:nowrap;}
.status-retained{background:var(--rtl-green-bg);color:var(--rtl-green);}
.status-modified{background:var(--rtl-amber-bg);color:var(--rtl-amber);}
.status-omitted{background:var(--rtl-red-bg);color:var(--rtl-red);}

.ipc-table{width:100%;border-collapse:separate;border-spacing:0;}
.ipc-table thead th{background:var(--rtl-navy);color:#fff;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;padding:.85rem 1rem;position:sticky;top:0;}
.ipc-table thead th:first-child{border-top-left-radius:.6rem;}
.ipc-table thead th:last-child{border-top-right-radius:.6rem;}
.ipc-table tbody td{padding:.8rem 1rem;border-bottom:1px solid var(--rtl-line);vertical-align:middle;background:#fff;}
.ipc-table tbody tr:hover td{background:#f8fafd;}
.sec-badge{display:inline-block;font-weight:700;font-size:.78rem;border-radius:.5rem;padding:.2rem .55rem;}
.sec-ipc{background:var(--rtl-red-bg);color:var(--rtl-red);}
.sec-bns{background:var(--rtl-green-bg);color:var(--rtl-green);}

/* comparison (show) */
.compare-col{border-radius:var(--rtl-radius);padding:1.5rem;height:100%;background:#fff;box-shadow:var(--rtl-shadow);}
.compare-ipc{border:1px solid #f3cccc;border-top:5px solid var(--rtl-red);}
.compare-bns{border:1px solid #c9e6c9;border-top:5px solid var(--rtl-green);}
.compare-col .law-name{font-weight:800;}
.compare-vs{display:flex;align-items:center;justify-content:center;}
.compare-vs span{width:54px;height:54px;border-radius:50%;background:var(--rtl-gold);color:#1a1a1a;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(201,162,39,.45);}
@media(max-width:767.98px){.compare-vs span{margin:.25rem auto;}}

/* ============================================================
   FOOTER
   ============================================================ */
.rtl-footer{background:var(--rtl-navy);color:#a8b6cc;}
.rtl-footer a{color:#cbd5e1;transition:color .15s;}
.rtl-footer a:hover{color:var(--rtl-gold);}
.rtl-footer h5,.rtl-footer h6{color:#fff;font-weight:700;letter-spacing:.5px;}
.rtl-footer .foot-brand span{color:var(--rtl-gold);}
.rtl-footer .foot-contact li{display:flex;gap:.6rem;margin-bottom:.6rem;font-size:.9rem;}
.rtl-footer .foot-contact .ic{color:var(--rtl-gold);flex:none;}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;margin-right:.4rem;transition:.15s;}
.foot-social a:hover{background:var(--rtl-gold);color:#1a1a1a;}
.rtl-footer .foot-bottom{border-top:1px solid rgba(255,255,255,.1);}

/* ============================================================
   HOME PAGE
   ============================================================ */
.hero-eyebrow{display:inline-block;background:rgba(201,162,39,.15);border:1px solid rgba(201,162,39,.35);color:var(--rtl-gold-2);border-radius:2rem;padding:.35rem 1rem;font-size:.8rem;font-weight:600;}
.hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;}
.hero-tag{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#e6eefb;border-radius:2rem;padding:.25rem .8rem;font-size:.8rem;font-weight:600;transition:.15s;}
.hero-tag:hover{background:var(--rtl-gold);color:#1a1a1a;}
.hero-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(4px);border-radius:1rem;padding:1.6rem;color:#fff;}
.hero-card__ico{font-size:2.4rem;}
.hero-card__list{list-style:none;padding:0;margin:.6rem 0 1rem;}
.hero-card__list li{padding:.35rem 0;color:#dce6f5;border-bottom:1px solid rgba(255,255,255,.08);font-weight:500;}

.stats-band{background:linear-gradient(135deg,var(--rtl-navy-2),var(--rtl-navy-3));color:#fff;padding:1.6rem 0;}
.stats-band .stat-n{font-family:var(--rtl-head);font-size:1.9rem;font-weight:800;color:var(--rtl-gold-2);line-height:1;}
.stats-band .stat-l{font-size:.82rem;color:#cdd9ea;margin-top:.25rem;}

.section-title-c{font-weight:800;color:var(--rtl-navy);display:inline-block;position:relative;}
.section-title-c::after{content:"";display:block;width:60px;height:4px;background:var(--rtl-gold);border-radius:4px;margin:.5rem auto 0;}

.practice-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;background:#fff;border:1px solid var(--rtl-line);border-radius:var(--rtl-radius);box-shadow:var(--rtl-shadow);padding:1.3rem 1rem;height:100%;transition:transform .15s,box-shadow .15s,border-color .15s;}
.practice-card:hover{transform:translateY(-4px);box-shadow:var(--rtl-shadow-lg);border-color:var(--rtl-gold);}
.practice-card__ico{width:52px;height:52px;border-radius:14px;background:var(--rtl-bg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:.3rem;}
.practice-card__name{font-weight:700;color:var(--rtl-navy);line-height:1.25;}
.practice-card__count{font-size:.78rem;color:var(--rtl-muted);}

.cta-band{background:linear-gradient(135deg,var(--rtl-navy),var(--rtl-navy-2));color:#fff;padding:3.2rem 0;}
.cta-band h2{color:#fff;}
.cta-band p{color:#cdd9ea;}

/* ============================================================
   PAGINATION + LOAD MORE
   ============================================================ */
.rtl-pagination{gap:.35rem;flex-wrap:wrap;}
.rtl-pagination .page-link{border:1px solid var(--rtl-line);color:var(--rtl-navy);border-radius:.6rem;min-width:42px;text-align:center;font-weight:700;padding:.5rem .85rem;box-shadow:none;transition:background .15s,border-color .15s,color .15s;}
.rtl-pagination .page-link:hover{background:var(--rtl-bg);border-color:var(--rtl-gold);color:var(--rtl-navy);}
.rtl-pagination .page-item.active .page-link{background:var(--rtl-navy);border-color:var(--rtl-navy);color:#fff;}
.rtl-pagination .page-item.disabled .page-link{color:#aab4c4;background:#fff;border-color:var(--rtl-line);pointer-events:none;}
.rtl-pagination .page-link:focus{box-shadow:0 0 0 .2rem rgba(13,34,64,.12);}

.btn-loadmore{display:inline-flex;align-items:center;gap:.55rem;background:#fff;border:1.5px solid var(--rtl-navy);color:var(--rtl-navy);font-weight:700;padding:.7rem 2.4rem;border-radius:2rem;box-shadow:var(--rtl-shadow);transition:background .15s,color .15s,transform .15s;}
.btn-loadmore:hover{background:var(--rtl-navy);color:#fff;transform:translateY(-2px);}
.btn-loadmore.loading{opacity:.75;pointer-events:none;}

/* ---------- FAQ accordion ---------- */
.rtl-faq .accordion-item{border:1px solid var(--rtl-line);border-radius:.7rem!important;margin-bottom:.7rem;overflow:hidden;box-shadow:var(--rtl-shadow);}
.rtl-faq .accordion-button{font-weight:700;color:var(--rtl-navy);}
.rtl-faq .accordion-button:not(.collapsed){background:var(--rtl-bg);color:var(--rtl-navy);box-shadow:none;}
.rtl-faq .accordion-button:focus{box-shadow:none;border-color:var(--rtl-line);}
.rtl-faq .accordion-body{color:#33415c;line-height:1.7;}

/* ---------- Floating WhatsApp ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:1030;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:0 10px 26px rgba(37,211,102,.5);transition:transform .15s;}
.wa-float:hover{transform:scale(1.07);color:#fff;}

/* ---------- Home long-form content (SEO prose + read-more) ---------- */
.rtl-eyebrow{display:inline-block;background:rgba(200,151,47,.14);color:#a97d1f;font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:.72rem;padding:.35rem .85rem;border-radius:999px;}
.rtl-prose{max-width:920px;margin:0 auto;color:#3a465c;line-height:1.78;font-size:1.02rem;}
.rtl-prose > :first-child{margin-top:0;}
.rtl-prose h2{color:var(--rtl-navy);font-family:var(--rtl-head);font-weight:800;font-size:1.5rem;line-height:1.3;margin:2.1rem 0 .75rem;padding-left:.85rem;border-left:4px solid var(--rtl-gold);}
.rtl-prose h3{color:var(--rtl-navy);font-weight:700;font-size:1.2rem;margin:1.6rem 0 .5rem;}
.rtl-prose h4{color:#a97d1f;font-weight:700;font-size:1.04rem;margin:1.2rem 0 .35rem;}
.rtl-prose p{margin:0 0 1rem;}
.rtl-prose ul,.rtl-prose ol{margin:0 0 1.1rem;padding-left:1.25rem;}
.rtl-prose li{margin-bottom:.5rem;}
.rtl-prose strong,.rtl-prose b{color:var(--rtl-navy);}
.rtl-prose a{color:var(--rtl-navy-3);text-decoration:underline;}
.home-content.is-collapsed{max-height:440px;overflow:hidden;position:relative;}
.home-content.is-collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(rgba(238,241,245,0),var(--rtl-bg));pointer-events:none;}

/* ---------- Scroll to top button (widget) ---------- */
.scroll-top{position:fixed;right:18px;bottom:18px;z-index:1030;width:46px;height:46px;border:0;border-radius:50%;background:var(--rtl-navy);color:#fff;font-size:1.35rem;line-height:1;box-shadow:0 8px 22px rgba(19,44,82,.35);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s,background .15s;cursor:pointer;}
.scroll-top.show{opacity:1;visibility:visible;transform:none;}
.scroll-top:hover{background:var(--rtl-navy-2);}
.scroll-top.has-wa{bottom:84px;}
