/*
Theme Name: Spark Advocates
Theme URI: https://sparkadvocates.com/
Author: Spark Advocates
Author URI: https://sparkadvocates.com/
Description: বাংলাদেশের আইনি সেবার জন্য তৈরি প্রিমিয়াম কাস্টম থিম। Elementor বা কোনো পেজ-বিল্ডার ছাড়া — পরিষ্কার সেমান্টিক HTML, বাংলা-প্রথম টাইপোগ্রাফি, স্কিমা মার্কআপ, hreflang ও WCAG AA অ্যাক্সেসিবিলিটি।
Version: 1.1.1
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: spark
Tags: law, legal, bengali, accessibility-ready, translation-ready, custom-colors, block-styles, wide-blocks
*/

/* ═══════════════════════════════════════════════════════════════════════
   সূচি
   ১. ডিজাইন টোকেন            ৭. এন্ট্রি কন্টেন্ট (প্রোজ)
   ২. রিসেট ও বেস              ৮. লিগ্যাসি কন্টেন্ট ব্লক
   ৩. টাইপোগ্রাফি              ৯. সাইডবার ও TOC
   ৪. লেআউট                   ১০. ফুটার
   ৫. হেডার ও নেভিগেশন        ১১. আর্কাইভ · ৪০৪ · সার্চ
   ৬. হোম সেকশন               ১২. অ্যাক্সেসিবিলিটি · প্রিন্ট · ডার্ক
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══ ১. ডিজাইন টোকেন ══════════════════════════════════════════════════ */

:root {
  /* — রঙ: ব্রিটিশ লিগ্যাল লাক্সারি (British Legal Luxury Palette) — */
  --c-ink:          #0b261d;   /* Deep Forest Green */
  --c-ink-soft:     #12372a;   /* Forest Green (Primary) */
  --c-brand:        #12372a;   /* Forest Green (Primary) */
  --c-brand-hover:  #1d4a39;   /* Forest Green Hover */
  --c-brand-mid:    #1d4a39;   /* Forest Green Hover */
  --c-brand-deep:   #0b261d;   /* Deep Forest Green */
  --c-brand-light:  #f1e7d0;   /* Light Gold Background */
  --c-brand-tint:   #f5f3ed;   /* Ivory Background */
  --c-gold:         #b89b5e;   /* Antique Gold (Accent) */
  --c-gold-hover:   #967b42;   /* Dark Gold Hover */
  --c-gold-deep:    #967b42;   /* Dark Gold Hover */
  --c-gold-light:   #f1e7d0;   /* Light Gold Background */
  --c-gold-hair:    rgba(184, 155, 94, .38);  /* সরু অ্যান্টিক গোল্ড বিভাজক-রেখা */
  --c-gold-bright:  #b89b5e;   /* Antique Gold */

  --c-text:         #24332c;   /* Primary Text */
  --c-text-soft:    #58645d;   /* Secondary Text */
  --c-text-mute:    #7b827c;   /* Muted Text */
  --c-heading:      #24332c;   /* Primary Text */

  /* লিংক-রঙ: ফরেস্ট গ্রিন ও অ্যান্টিক গোল্ড হভার */
  --c-link:         #12372a;   /* Forest Green */
  --c-link-hover:   #b89b5e;   /* Antique Gold */

  /* বাটন কালার টোকেন (ডিফল্ট: ব্রিটিশ লিগ্যাল লাক্সারি গোল্ড) */
  --c-btn-bg:             #b89b5e;   /* Antique Gold */
  --c-btn-text:           #0b261d;   /* Deep Forest Green */
  --c-btn-border:         #b89b5e;
  --c-btn-hover-bg:       #967b42;   /* Dark Gold */
  --c-btn-hover-text:     #0b261d;
  --c-btn-hover-border:   #967b42;

  --c-btn-sec-bg:         #12372a;   /* Forest Green */
  --c-btn-sec-text:       #f5f3ed;   /* Ivory */
  --c-btn-sec-border:     #b89b5e;
  --c-btn-sec-hover-bg:   #b89b5e;   /* Antique Gold */
  --c-btn-sec-hover-text: #0b261d;
  --c-btn-sec-hover-border:#b89b5e;

  /* হেডার, টপবার ও ফুটার রঙ */
  --c-header-bg:    #ffffff;   /* Pure White Header (ব্যবহারকারীর চাহিদামতো) */
  --c-header-text:  #24332c;   /* Primary Dark Text */
  --c-topbar-bg:    #0b261d;   /* Deep Forest Green */
  --c-topbar-text:  #f5f3ed;   /* Ivory Text */
  --c-footer-bg:    #0b261d;   /* Deep Forest Green */
  --c-footer-text:  #f5f3ed;   /* Ivory Text */
  --c-footer-heading: #b89b5e; /* Antique Gold */

  --c-bg:           #f5f3ed;   /* Ivory Background (Main Website Background) */
  --c-bg-card:      #ffffff;   /* Pure White */
  --c-bg-alt:       #f1e7d0;   /* Light Gold Background (Alternate sections) */
  --c-bg-deep:      #0b261d;   /* Deep Forest Green */
  --c-paper:        #f5f3ed;   /* Ivory Background */
  --c-border:       #e2ded3;   /* Border */
  --c-border-soft:  rgba(226, 222, 211, 0.7);

  --c-success:      #356b4b;   /* Success */
  --c-success-bg:   #e6f0e9;
  --c-warn:         #967b42;   /* Dark Gold */
  --c-warn-bg:      #f7efdd;
  --c-danger:       #a94442;   /* Error */
  --c-danger-bg:    #f6e4e3;
  --c-focus:        #b89b5e;   /* Antique Gold */

  /* — ফন্ট — সারা সাইটে এক ফ্যামিলি: Tiro Bangla।
     দীর্ঘ পাঠের জন্য ডিজাইন করা সেরিফ — হেডিংয়ের গাম্ভীর্য আর বডির
     পাঠযোগ্যতা একই টাইপফেস থেকে। সান্স কোথাও নেই; এক কণ্ঠেই
     বিচারিক চরিত্র অটুট থাকে।                                        */
  --f-display: "Tiro Bangla", "Noto Serif Bengali", "Source Serif 4", "Kalpurush",
               Georgia, "Times New Roman", serif;
  --f-head: var(--f-display);
  --f-body: "Tiro Bangla", "Noto Serif Bengali", "Source Serif 4", "Kalpurush",
            Georgia, "Times New Roman", serif;
  --f-ui:   var(--f-body);
  --f-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;

  /* — টাইপ স্কেল: fluid, clamp() দিয়ে (মোবাইল → ডেস্কটপ) — */
  --t-xs:   clamp(0.78rem, 0.76rem + 0.1vw,  0.83rem);
  --t-sm:   clamp(0.88rem, 0.85rem + 0.15vw, 0.94rem);
  --t-base: clamp(1.02rem, 0.98rem + 0.2vw,  1.13rem);
  --t-lg:   clamp(1.13rem, 1.07rem + 0.3vw,  1.28rem);
  --t-xl:   clamp(1.28rem, 1.18rem + 0.5vw,  1.5rem);
  --t-2xl:  clamp(1.45rem, 1.3rem + 0.75vw,  1.85rem);
  --t-3xl:  clamp(1.7rem, 1.45rem + 1.2vw,   2.35rem);
  --t-4xl:  clamp(2rem, 1.6rem + 2vw,        3.05rem);

  /* বাংলায় মাত্রা+যুক্তাক্ষরের জন্য বেশি লিডিং লাগে। তবে সিরিফ ডিসপ্লে
     শিরোনামে লিডিং কমালে ব্লকটা জমাট ও ওজনদার দেখায় — সেটাই চাই। */
  --lh-tight: 1.16;
  --lh-head:  1.34;
  --lh-body:  1.85;
  --lh-loose: 2;

  /* শিরোনাম-নিয়ন্ত্রণ — সেটিংস থেকে সুরে বাঁধা। স্কেল = আকারের গুণক,
     ট্র্যাকিং = অক্ষর-ব্যবধান (বাংলা যুক্তাক্ষর অটুট রাখতে সীমা ছোট)। */
  --head-scale:    1;
  --head-tracking: 0;

  /* — স্পেসিং — */
  --s-1: 0.25rem; --s-2: 0.5rem;  --s-3: 0.75rem; --s-4: 1rem;
  --s-5: 1.5rem;  --s-6: 2rem;    --s-7: 2.75rem; --s-8: 3.5rem;
  --s-9: 5rem;    --s-10: 7rem;

  /* — কাঠামো — */
  --w-wide:  1240px;
  --w-page:  1080px;
  --w-prose: 74ch;          /* পড়ার আদর্শ লাইন-দৈর্ঘ্য */
  --pad-x:   clamp(1rem, 4vw, 2.5rem);

  /* গোল কোণা ইচ্ছাকৃতভাবে কম। বড় ব্যাসার্ধ (পিল বাটন, ২২px কার্ড)
     SaaS/অ্যাপের ভাষা; আইনি প্রতিষ্ঠান ধারালো, স্থাপত্যধর্মী কোণা ব্যবহার করে। */
  --r-sm: 2px; --r-md: 3px; --r-lg: 4px; --r-xl: 6px; --r-full: 999px;

  --sh-xs: 0 1px 2px rgba(11, 38, 29, .06);
  --sh-sm: 0 2px 6px rgba(11, 38, 29, .07);
  --sh-md: 0 6px 20px rgba(11, 38, 29, .09);
  --sh-lg: 0 18px 48px rgba(11, 38, 29, .13);
  --sh-focus: 0 0 0 3px rgba(184, 155, 94, .35);

  --ease: cubic-bezier(.4, 0, .2, 1);
  --dur:  .22s;

  --header-h: 76px;
}

/* ═══ ২. রিসেট ও বেস ═══════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 1rem);
  /* কোনো একক উপাদান বিপথে গেলেও যেন গোটা পাতায় আনুভূমিক স্ক্রলবার না আসে।
     clip — hidden নয় — কারণ এটি স্ক্রল-কনটেইনার বানায় না, তাই sticky হেডার/
     সাইডবার অক্ষত থাকে; y-অক্ষ visible-ই থাকে (clip-এর ব্যতিক্রম)। */
  overflow-x: clip;
}

body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--f-body);
  font-size: var(--t-base);
  line-height: var(--lh-body);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}

img, svg, video, iframe { max-width: 100%; height: auto; }
img { display: block; border-style: none; }
svg { fill: currentColor; }

/* ইনলাইন আইকন — inc/icons.php এর spark_icon() প্রতিটি SVG-তে এই ক্লাসটি বসায়।
   উপরের `svg { fill: currentColor }` নিয়মটি SVG-এর নিজের fill="none"
   উপস্থাপনা-অ্যাট্রিবিউটকে হারিয়ে দেয় (CSS নিয়ম অ্যাট্রিবিউটের চেয়ে জেতে),
   ফলে স্ট্রোক-আইকনগুলো ভরাট কালো দাগ হয়ে যেত। .ic সেটি আটকায়। */
.ic {
  width: 1.05em;
  height: 1.05em;
  vertical-align: -.15em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

a {
  color: var(--c-link, #12372a);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: color var(--dur) var(--ease);
}
a:hover { color: var(--c-link-hover, #b89b5e); }

:is(.entry-content, .prose, .card__desc, .lead, .legal-faq, .post-content) a:not(.btn) {
  color: var(--c-link, #12372a);
  text-decoration: underline;
  text-decoration-color: var(--c-link-hover, #b89b5e);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  transition: color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease);
}
:is(.entry-content, .prose, .card__desc, .lead, .legal-faq, .post-content) a:not(.btn):hover {
  color: var(--c-link-hover, #b89b5e);
  text-decoration-color: var(--c-link-hover, #b89b5e);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--c-focus);
  outline-offset: 2px;
  border-radius: var(--r-sm);
}

/* — ফর্ম উপাদানসমূহ — ব্রিটিশ লিগ্যাল লাক্সারি প্যালেট — */
:where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], input[type="password"], input[type="date"], select, textarea) {
  background-color: var(--c-bg-card, #ffffff);
  border: 1px solid var(--c-border, #e2ded3);
  color: var(--c-text, #24332c);
  border-radius: var(--r-md, 8px);
  padding: .68em .9em;
  font-family: inherit;
  font-size: var(--t-base, 1rem);
  line-height: inherit;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
:where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], input[type="password"], input[type="date"], select, textarea):focus {
  border-color: var(--c-gold, #b89b5e);
  box-shadow: 0 0 0 3px rgba(184, 155, 94, 0.25);
  outline: none;
}
:where(input, select, textarea)::placeholder {
  color: var(--c-text-mute, #7b827c);
}
:where(label) {
  color: var(--c-text, #24332c);
}
.field-error, .error, .wpcf7-not-valid-tip {
  color: var(--c-danger, #a94442);
  font-size: var(--t-xs);
}
input.has-error, textarea.has-error, select.has-error,
input.wpcf7-not-valid, textarea.wpcf7-not-valid {
  border-color: var(--c-danger, #a94442) !important;
}

hr {
  border: 0;
  height: 1px;
  background: var(--c-border);
  margin: var(--s-7) 0;
}
hr.thin { margin: var(--s-5) 0; background: var(--c-border-soft); }

::selection { background: var(--c-brand-light); color: var(--c-ink); }

/* ═══ ৩. টাইপোগ্রাফি ═══════════════════════════════════════════════════ */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--f-head);
  color: var(--c-heading);
  font-weight: 600;
  line-height: var(--lh-head);
  margin: 0 0 var(--s-4);
  letter-spacing: var(--head-tracking);
  text-wrap: balance;
}
h1 { font-size: calc(var(--t-4xl) * var(--head-scale)); font-weight: 700; line-height: var(--lh-tight); }
h2 { font-size: calc(var(--t-2xl) * var(--head-scale)); font-weight: 700; }
h3 { font-size: calc(var(--t-xl) * var(--head-scale)); font-weight: 600; }
h4 { font-size: calc(var(--t-lg) * var(--head-scale)); font-weight: 600; }
h5, h6 { font-size: calc(var(--t-base) * var(--head-scale)); font-weight: 600; }

p { margin: 0 0 var(--s-5); }

strong, b { font-weight: 600; color: var(--c-ink-soft); }
em, i { font-style: italic; }
small { font-size: var(--t-sm); }

code, kbd, samp, pre { font-family: var(--f-mono); font-size: .92em; }
code {
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  padding: .12em .4em;
  border-radius: var(--r-sm);
}
pre {
  background: var(--c-ink);
  color: #e4ede7;
  padding: var(--s-5);
  border-radius: var(--r-md);
  overflow-x: auto;
  line-height: 1.65;
}
pre code { background: none; border: 0; padding: 0; color: inherit; }

/* লাতিন-only লেখায় সেরিফ বাংলা ফন্ট দরকার নেই */
[lang="en"], .lang-en { font-family: var(--f-head); line-height: 1.75; }

/* ═══ ৪. লেআউট ═════════════════════════════════════════════════════════ */

.wrap      { width: 100%; max-width: var(--w-page); margin-inline: auto; padding-inline: var(--pad-x); }
.wrap--wide{ max-width: var(--w-wide); }
.wrap--narrow { max-width: 780px; }

.site { display: flex; flex-direction: column; min-height: 100vh; }
.site-main { flex: 1 0 auto; }

.section { padding-block: calc(clamp(2.75rem, 6vw, 5.5rem) * var(--section-scale, 1)); }
.section--alt  { background: var(--c-bg-alt); }
.section--tint { background: var(--c-brand-tint); }
.section--deep {
  background: var(--c-bg-deep);
  color: #e2ded3;
  background-image: radial-gradient(ellipse 90% 70% at 15% -10%, rgba(29, 74, 57,.55), transparent 70%);
}
.section--deep :is(h1,h2,h3,h4) { color: #fff; }
.section--deep a { color: #dcc48c; }

.section-head { max-width: 62ch; margin-bottom: var(--s-7); }
.section-head--center { margin-inline: auto; text-align: center; }

/* আইব্রাউ-লেবেল আগে ALL-CAPS ট্র্যাকিংয়ে লেখা ছিল — বাংলায় ক্যাপস বলে
   কিছু নেই, থাকলেও সেটা যেকোনো টেমপ্লেটের ছাপ। এখন মোটিফটি আদালতি:
   সরু সোনালি রেখা + সিরিফ লেবেল, যা হিরোর কিকারের সঙ্গে এক ভাষায়। */
.eyebrow {
  display: inline-flex; align-items: center; gap: .8em;
  font-family: var(--f-display);
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--c-gold-deep);
  margin-bottom: var(--s-3);
}
.eyebrow::before {
  content: ""; width: 1.9rem; height: 1px;
  background: var(--c-gold); opacity: .75; flex: 0 0 auto;
}

/* হোমের সেকশন-শিরোনাম: এক ধাপ বড় গলা + নিচে সোনালি রুল — রায়ের
   স্বাক্ষররেখার মোটিফ। বাকি পাতা আগের মাপেই থাকে, হোম-ই মঞ্চ।        */
body.home .section-head h2 { font-size: calc(clamp(1.85rem, 1.3rem + 2.3vw, 2.85rem) * var(--head-scale)); }
body.home .section-head h2::after {
  content: ""; display: block; width: 3.4rem; height: 2px;
  background: var(--c-gold); margin-top: .7rem;
}
body.home .section-head--center h2::after { margin-inline: auto; }
.section-head--center .eyebrow::after {
  content: ""; width: 1.9rem; height: 1px;
  background: var(--c-gold); opacity: .75; flex: 0 0 auto;
}
.section--deep .eyebrow { color: #c9ae74; }

.lede { font-size: var(--t-lg); color: var(--c-text-soft); line-height: var(--lh-body); }
.section--deep .lede { color: #c7cfc4; }

/* গ্রিড — auto-fit, মিডিয়া কোয়েরি ছাড়াই রেসপনসিভ */
.grid { display: grid; gap: var(--grid-gap, var(--s-5)); }
.grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); }
.grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }

/* কন্টেন্ট + সাইডবার */
.layout {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: minmax(0, 1fr);
  padding-block: var(--s-7) var(--s-9);
}
@media (min-width: 1024px) {
  .layout--sidebar { grid-template-columns: minmax(0, 1fr) 310px; }
  /* স্পার্ক সেটিংস: সাইডবার বাঁ পাশে — সাইডবারকে প্রথম কলামে টানি
     (মার্কআপে কন্টেন্ট আগে থাকে, তাই order দিয়ে অদলবদল)। */
  .layout--sidebar-left { grid-template-columns: 310px minmax(0, 1fr); }
  .layout--sidebar-left > :first-child { order: 2; }
  .layout--sidebar-left > .sidebar { order: 1; }
}
/* সাইডবার ছাড়া (পূর্ণ প্রস্থ) — এক-কলাম, স্বাভাবিক প্যাডিং। */
.layout--full {
  padding-block: var(--s-7) var(--s-9);
}
/* স্পার্ক সেটিংস: স্টিকি সাইডবার বন্ধ — কন্টেন্টের সাথেই স্ক্রল করে। */
@media (min-width: 1024px) {
  .layout--no-sticky > .sidebar { position: static; top: auto; }
}

/* ═══ Story Highlights — "এই লেখার মূল বিষয়" বাক্স ══════════════════════ */
.story-highlights {
  margin: 0 0 var(--s-6);
  padding: var(--s-5) var(--s-6);
  border: 1px solid var(--c-border);
  border-inline-start: 4px solid var(--c-gold, #b89b5e);
  border-radius: var(--radius, 12px);
  background: var(--c-surface-2, #f5f3ed);
}
.story-highlights__title {
  margin: 0 0 var(--s-3);
  font-size: var(--t-lg);
  color: var(--c-brand);
}
.story-highlights__list {
  margin: 0;
  padding-inline-start: 1.15em;
  display: grid;
  gap: var(--s-2);
  font-size: var(--t-md);
  line-height: 1.75;
}
.story-highlights__list li { margin: 0; }

/* পোস্ট-ভিউ মেটা — অন্য মেটা-আইটেমের সাথেই মিশে থাকে। */
.entry-meta__views { display: inline-flex; align-items: center; gap: .35em; }

/* ═══ লেআউট ভ্যারিয়েন্ট (স্পার্ক সেটিংস → Layout) ══════════════════════ */
/* পোস্ট: full — ফিচার্ড ইমেজ প্রান্ত-ছুঁই প্রশস্ত হিরো। */
.layout-post--full .featured-media {
  margin-inline: calc(-1 * clamp(1rem, 4vw, 3rem));
  border-radius: 0;
}
.layout-post--full .featured-media img { width: 100%; }
/* পোস্ট: left — ছোট থাম্বনেইল ইনট্রোর পাশে ভাসে। */
@media (min-width: 720px) {
  .layout-post--left .featured-media {
    float: inline-start;
    width: min(42%, 320px);
    margin: .35rem var(--s-5) var(--s-3) 0;
  }
}
/* পোস্ট: text — ইমেজ টেমপ্লেটেই বাদ; অতিরিক্ত CSS লাগে না। */

/* পেজ: boxed — কন্টেন্ট কার্ডে বসে। */
.layout-page--boxed .entry-content {
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--c-surface, #fff);
  border: 1px solid var(--c-border);
  border-radius: var(--radius, 12px);
  box-shadow: 0 1px 3px rgba(11, 38, 29, .06);
}
/* পেজ: framed — সোনালি ফ্রেমে। */
.layout-page--framed .entry-content {
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 2px solid var(--c-gold, #b89b5e);
  border-radius: var(--radius, 12px);
}
/* পেজ: full — টেমপ্লেটে ফিচার্ড ইমেজ বাদ; কন্টেন্ট স্বাভাবিক প্রস্থ। */

/* লেখার শেষে Source / Via লিংক-লাইন। */
.entry-srcvia {
  margin-top: var(--s-5);
  font-size: var(--t-sm);
  color: var(--c-text-mute);
}
.entry-srcvia__label { font-weight: 700; color: var(--c-text); }
.entry-srcvia + .entry-srcvia { margin-top: var(--s-2); }

/* কন্টেন্টের উপরে/নিচে বিজ্ঞাপন-স্লট। */
.entry-ad {
  margin-block: var(--s-6);
  text-align: center;
}
.entry-ad img { max-width: 100%; height: auto; }
.entry-ad--above { margin-top: 0; }

/* ═══ বাটন ═════════════════════════════════════════════════════════════ */

.btn {
  --btn-bg: var(--c-btn-bg, #b89b5e);
  --btn-fg: var(--c-btn-text, #0b261d);
  --btn-bc: var(--c-btn-border, #b89b5e);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  font-family: var(--f-ui);
  font-size: var(--t-sm);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  padding: .92em 1.7em;
  border: 1px solid var(--btn-bc);
  border-radius: var(--r-md);
  background: var(--btn-bg);
  color: var(--btn-fg);
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease),
              border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
/* উঁচু হয়ে ওঠা (translateY) বাদ — ওটা অ্যাপের ভাষা। বদলে রঙ গাঢ় হয়
   আর নিচে একটা সরু সোনালি রেখা জেগে ওঠে।                            */
.btn::after {
  content: ""; position: absolute; inset-inline: .9em; bottom: -1px; height: 2px;
  background: var(--c-gold); opacity: 0;
  transition: opacity var(--dur) var(--ease), inset-inline var(--dur) var(--ease);
}
.btn:hover {
  background: var(--c-btn-hover-bg, #967b42);
  color: var(--c-btn-hover-text, #0b261d);
  border-color: var(--c-btn-hover-border, #967b42);
}
.btn:hover::after { opacity: 1; inset-inline: 0; }
.btn:active { box-shadow: inset 0 2px 6px rgba(0, 0, 0, .18); }

/* বাটন ভ্যারিয়েন্টস — ব্রিটিশ লিগ্যাল লাক্সারি প্যালেট */
.btn--gold,
.btn--primary {
  --btn-bg: var(--c-btn-bg, #b89b5e);
  --btn-fg: var(--c-btn-text, #0b261d);
  --btn-bc: var(--c-btn-border, #b89b5e);
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-bc);
}
.btn--gold:hover,
.btn--primary:hover {
  background: var(--c-btn-hover-bg, #967b42);
  border-color: var(--c-btn-hover-border, #967b42);
  color: var(--c-btn-hover-text, #0b261d);
  --btn-fg: var(--c-btn-hover-text, #0b261d);
}
.btn--gold::after,
.btn--primary::after { background: var(--c-ink); }

.btn--brand,
.btn--secondary {
  --btn-bg: var(--c-btn-sec-bg, #12372a);
  --btn-fg: var(--c-btn-sec-text, #f5f3ed);
  --btn-bc: var(--c-btn-sec-border, #b89b5e);
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-bc);
}
.btn--brand:hover,
.btn--secondary:hover {
  background: var(--c-btn-sec-hover-bg, #b89b5e);
  border-color: var(--c-btn-sec-hover-border, #b89b5e);
  color: var(--c-btn-sec-hover-text, #0b261d);
  --btn-fg: var(--c-btn-sec-hover-text, #0b261d);
}

.btn--ghost,
.btn--outline-dark {
  --btn-bg: transparent;
  --btn-fg: var(--c-brand, #12372a);
  border-color: var(--c-gold, #b89b5e);
}
.btn--ghost:hover,
.btn--outline-dark:hover {
  background: var(--c-btn-hover-bg, #b89b5e);
  border-color: var(--c-btn-hover-border, #b89b5e);
  color: var(--c-btn-hover-text, #0b261d);
  --btn-fg: var(--c-btn-hover-text, #0b261d);
}

.btn--outline-light {
  --btn-bg: transparent;
  --btn-fg: #f5f3ed;
  border-color: var(--c-gold, #b89b5e);
}
.btn--outline-light:hover {
  background: var(--c-btn-hover-bg, #b89b5e);
  border-color: var(--c-btn-hover-border, #b89b5e);
  color: var(--c-btn-hover-text, #0b261d);
  --btn-fg: var(--c-btn-hover-text, #0b261d);
}

.btn--light {
  --btn-bg: #ffffff;
  --btn-fg: var(--c-brand, #12372a);
  border-color: var(--c-border, #e2ded3);
}
.btn--light:hover {
  background: var(--c-gold-light, #f1e7d0);
  border-color: var(--c-gold, #b89b5e);
  color: #0b261d;
  --btn-fg: #0b261d;
}
.btn--lg { font-size: var(--t-base); padding: 1.02em 2em; }
.btn--sm { font-size: var(--t-xs); padding: .68em 1.15em; }
.btn--block { width: 100%; }
/* বাটনের ভেতরের আইকন — লেখার সাথে অনুপাত ধরে বাড়ে/কমে */
.btn svg { width: 1.2em; height: 1.2em; flex: 0 0 auto; }

.btn-row { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; }

/* ═══ কার্ড ════════════════════════════════════════════════════════════ */

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  background: var(--c-bg-card, #ffffff);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
/* উপরে একটা সোনালি রেখা — হভারে টেনে পুরো প্রস্থে যায়। সব কার্ডে একই
   ছায়া-লিফট দেওয়ার চেয়ে এটা অনেক বেশি সংযত ও প্রাতিষ্ঠানিক।        */
.card::before {
  content: ""; position: absolute; inset-block-start: -1px; inset-inline-start: -1px;
  width: 0; height: 3px; background: var(--c-gold);
  transition: width .34s var(--ease);
}
.card:hover { border-color: var(--c-gold); box-shadow: var(--sh-sm); }
.card:hover::before, .card:focus-within::before { width: 3.5rem; }
.card__title { font-size: var(--t-lg); margin: 0; color: var(--c-heading); }
.card__title a { color: inherit; text-decoration: none; }
.card__title a:hover { color: var(--c-gold); }
.card__excerpt { font-size: var(--t-sm); color: var(--c-text-soft); margin: 0; line-height: 1.78; }
.card__meta {
  font-family: var(--f-ui);
  font-size: var(--t-xs);
  color: var(--c-text-mute);
  display: flex; flex-wrap: wrap; gap: var(--s-3);
  margin-top: auto; padding-top: var(--s-2);
}
.card__icon {
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border-radius: var(--r-sm);
  border: 1px solid var(--c-border);
  background: var(--c-bg-alt);
  color: var(--c-gold);
}
.card__icon svg { width: 24px; height: 24px; }
/* পুরো কার্ড ক্লিকযোগ্য, তবু লিংকই আসল ফোকাস টার্গেট */
.card--link .card__title a::after { content: ""; position: absolute; inset: 0; }

.badge {
  display: inline-block;
  font-family: var(--f-ui);
  font-size: var(--t-xs);
  font-weight: 600;
  letter-spacing: 0;
  padding: .34em .78em;
  border-radius: var(--r-sm);
  background: var(--c-bg-alt);
  color: var(--c-brand);
  text-decoration: none;
}
.badge:hover { background: var(--c-brand); color: #fff; }
.badge--gold { background: var(--c-gold-light); color: var(--c-gold-deep); }
/* ট্রেন্ডিং ব্যাজ — মেটায় সোনালি হাইলাইট (spark_ps_is_trending)। */
.badge--trending {
  display: inline-flex;
  align-items: center;
  gap: .3em;
  background: var(--c-gold, #b89b5e);
  color: #0b261d;
  font-weight: 700;
}
.badge--trending:hover { background: var(--c-gold, #b89b5e); color: #0b261d; }
.badge--trending .entry-meta__ic { width: 1em; height: 1em; }

/* ═══ ৫. হেডার ও নেভিগেশন ══════════════════════════════════════════════ */

.skip-link {
  position: absolute; left: 50%; top: 0;
  transform: translate(-50%, -120%);
  z-index: 1000;
  background: var(--c-ink); color: #fff;
  padding: .7em 1.4em; border-radius: 0 0 var(--r-md) var(--r-md);
  font-family: var(--f-ui); font-size: var(--t-sm); text-decoration: none;
}
.skip-link:focus { transform: translate(-50%, 0); color: #fff; }

.topbar {
  background: var(--c-topbar-bg, #0b261d);
  color: var(--c-topbar-text, #f5f3ed);
  font-family: var(--f-ui);
  font-size: var(--t-xs);
  border-bottom: 1px solid rgba(184, 155, 94, .2);
}
.topbar__in {
  display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5);
  align-items: center; justify-content: space-between;
  min-height: 40px; padding-block: .35rem;
}
.topbar a { color: var(--c-topbar-text, #f5f3ed); text-decoration: none; }
.topbar a:hover { color: var(--c-gold, #b89b5e); }
.topbar svg { color: var(--c-gold, #b89b5e); }
.topbar__list { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); margin: 0; padding: 0; list-style: none; }
.topbar__list li { display: flex; align-items: center; gap: .4em; }
/* টপবারের সামাজিক আইকন — ভরাট ব্র্যান্ড-গ্লিফ, .ic স্ট্রোক-ক্লাস ছাড়াই
   উপরের svg { fill: currentColor } থেকে রং পায়। ৭০০px-এর নিচে বাদ। */
.topbar__social a { display: grid; place-items: center; color: var(--c-gold, #b89b5e); }
.topbar__social a:hover { color: var(--c-topbar-text, #f5f3ed); }
.topbar__social svg { width: 14px; height: 14px; }
@media (max-width: 700px) { .topbar__list li.topbar__social { display: none; } }

/* WP Admin Bar Compatibility */
body.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
body.admin-bar .site-header--floating_pill { top: calc(32px + 12px); }
@media screen and (max-width: 782px) {
  body.admin-bar .site-header--floating_pill { top: calc(46px + 12px); }
}
body.admin-bar .site-header--floating_pill.is-stuck { top: calc(32px + 6px) !important; }
@media screen and (max-width: 782px) {
  body.admin-bar .site-header--floating_pill.is-stuck { top: calc(46px + 6px) !important; }
}

.site-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--c-header-bg, #ffffff);
  border-bottom: 1px solid var(--c-border, #e2ded3);
  transition: min-height 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              top 0.2s ease;
}
.site-header.is-stuck {
  background: var(--c-header-bg, #ffffff);
  box-shadow: 0 4px 20px rgba(11, 38, 29, .08);
  border-bottom-color: var(--c-border, #e2ded3);
}
.site-header.is-static { position: static; }

/* স্ক্রলে হেডার মসৃণ সংকোচন (Header Shrink on Scroll) */
.site-header .site-header__in {
  transition: min-height 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              gap 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header .brand__mark {
  transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              height 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header .brand__mark img,
.site-header .brand__mark svg {
  transition: max-height 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              width 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header .brand__name {
  transition: font-size 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header .brand__tag {
  transition: font-size 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header .nav-primary a {
  transition: padding 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              font-size 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header .header-cta {
  transition: padding 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              font-size 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header .header-phone-pill {
  transition: padding 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              font-size 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header .header-search-bar {
  transition: padding 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              min-height 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header .nav-toggle {
  transition: padding 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.site-header.has-sticky-compact.is-stuck {
  box-shadow: 0 4px 20px rgba(11, 38, 29, 0.08);
}
.site-header.has-sticky-compact.is-stuck .site-header__in {
  min-height: 54px !important;
}
.site-header.has-sticky-compact.is-stuck .brand__mark {
  width: 34px !important;
  height: 34px !important;
}
.site-header.has-sticky-compact.is-stuck .brand__mark img,
.site-header.has-sticky-compact.is-stuck .brand__mark svg {
  max-height: 30px !important;
  width: auto;
}
.site-header.has-sticky-compact.is-stuck .brand__name {
  font-size: 1.02rem !important;
}
.site-header.has-sticky-compact.is-stuck .brand__tag {
  font-size: 10.5px !important;
  opacity: 0.85;
}
.site-header.has-sticky-compact.is-stuck .nav-primary a {
  padding: .35em .75em !important;
  font-size: 13px !important;
}
.site-header.has-sticky-compact.is-stuck .header-cta {
  padding: .38em .95em !important;
  font-size: 12.5px !important;
}
.site-header.has-sticky-compact.is-stuck .header-phone-pill {
  padding: 4px 10px !important;
  font-size: 11px !important;
}
.site-header.has-sticky-compact.is-stuck .header-search-bar {
  padding: 5px 12px !important;
  min-height: 30px !important;
}
.site-header.has-sticky-compact.is-stuck .nav-toggle {
  padding: .38em .7em !important;
}

.site-header--floating_pill.has-sticky-compact.is-stuck {
  top: 6px !important;
  box-shadow: 0 12px 36px rgba(11, 38, 29, 0.12);
}
.site-header--floating_pill.has-sticky-compact.is-stuck .site-header__in {
  min-height: 48px !important;
}
.site-header--floating_pill.has-sticky-compact.is-stuck .brand__mark {
  width: 32px !important;
  height: 32px !important;
}

/* ঘোষণা-পট্টি — হেডারের একদম উপরে, ব্র্যান্ড-গাঢ় পটে সোনালি-সাদা লেখা। */
.announce {
  background: var(--c-ink); color: #f5f3ed;
  font-family: var(--f-ui); font-size: var(--t-sm); text-align: center;
  padding: .5em var(--pad-x); border-bottom: 1px solid rgba(201, 174, 116, .3);
}
.site-header__in {
  display: flex; align-items: center; gap: var(--s-5);
  min-height: var(--header-h);
}

/* হেডার প্রিসেট ভ্যারিয়েন্টস */
.site-header--centered .site-header__in { justify-content: space-between; }
@media (min-width: 1024px) {
  .site-header--centered .brand { order: 2; margin-inline-end: 0; }
  .site-header--centered .nav-primary { order: 1; }
  .site-header--centered .site-header__cta { order: 3; }
}
.site-header--minimal {
  background: rgba(255, 255, 255, .84);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.site-header--minimal .site-header__in { min-height: calc(var(--header-h) - 12px); }
.site-header--topbar_stacked .site-header__in { min-height: calc(var(--header-h) + 2px); }

.brand { display: flex; align-items: center; gap: var(--s-3); text-decoration: none; margin-inline-end: auto; }
.brand__mark {
  flex: 0 0 auto;
  width: 42px; height: 42px;
  display: grid; place-items: center;
  border-radius: var(--r-md);
  background: linear-gradient(145deg, #0b261d, #12372a);
  border: none;
  color: #b89b5e;
  font-family: var(--f-head); font-weight: 700; font-size: 1.15rem;
  letter-spacing: -.03em;
}
.brand__mark:has(img),
.brand--logo-only .brand__mark {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}
.brand__mark img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.brand__text { display: flex; flex-direction: column; line-height: 1.2; }
.brand__name {
  font-family: var(--f-head); font-weight: 700;
  font-size: clamp(1.05rem, 1rem + .4vw, 1.28rem);
  color: var(--c-header-text, #24332c);
}
.brand__tag { font-family: var(--f-ui); font-size: var(--t-xs); color: #b89b5e; }

/* — প্রাইমারি মেনু (ডেস্কটপ) — */
.nav-primary { display: none; }
@media (min-width: 1024px) { .nav-primary { display: block; } }

.nav-primary ul { display: flex; align-items: center; gap: var(--s-1); margin: 0; padding: 0; list-style: none; }
.nav-primary li { position: relative; }
.nav-primary a {
  display: flex; align-items: center; gap: .35em;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 500;
  color: var(--c-header-text, #24332c); text-decoration: none;
  padding: .6em .85em; border-radius: var(--r-md);
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.nav-primary a:hover,
.nav-primary li:hover > a,
.nav-primary li:focus-within > a { background: rgba(184, 155, 94, 0.12); color: #b89b5e; }
.nav-primary .current-menu-item > a,
.nav-primary .current_page_item > a,
.nav-primary .current-menu-ancestor > a { color: var(--c-brand, #12372a); font-weight: 600; }
.nav-primary .menu-item-has-children > a::after {
  content: ""; width: .42em; height: .42em; margin-inline-start: .15em;
  border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg) translateY(-.1em);
}

/* — সাব-মেনু — */
.nav-primary .sub-menu {
  position: absolute; inset-inline-start: 0; top: calc(100% + .35rem);
  display: block; min-width: 250px; padding: var(--s-2);
  background: #ffffff; border: 1px solid var(--c-border, #e2ded3);
  border-radius: var(--r-lg); box-shadow: 0 12px 32px rgba(11, 38, 29, 0.12);
  flex-direction: column; gap: 0;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);
}
.nav-primary li:hover > .sub-menu,
.nav-primary li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.nav-primary .sub-menu a { padding: .58em .8em; font-weight: 500; color: var(--c-text, #24332c); }
.nav-primary .sub-menu a:hover { background: var(--c-bg-alt, #f1e7d0); color: var(--c-gold-hover, #967b42); }
.nav-primary .sub-menu .sub-menu { top: -.35rem; inset-inline-start: calc(100% + .25rem); }

.header-cta { display: none; }
@media (min-width: 1180px) {
  .header-cta {
    display: inline-flex;
    background: var(--c-btn-bg, #b89b5e);
    color: var(--c-btn-text, #0b261d);
    border: 1px solid var(--c-btn-border, #b89b5e);
  }
  .header-cta:hover {
    background: var(--c-btn-hover-bg, #967b42);
    color: var(--c-btn-hover-text, #0b261d);
    border-color: var(--c-btn-hover-border, #967b42);
  }
}

/* — মোবাইল টগল ও ড্রয়ার — */
.nav-toggle {
  display: inline-flex; align-items: center; gap: .5em;
  background: none; border: 1px solid var(--c-border, #e2ded3);
  border-radius: var(--r-md); padding: .55em .85em;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 600;
  color: var(--c-header-text, #24332c); cursor: pointer;
}
@media (min-width: 1024px) { .nav-toggle { display: none; } }
.nav-toggle__bars { position: relative; width: 18px; height: 12px; }
.nav-toggle__bars span {
  position: absolute; inset-inline: 0; height: 2px; border-radius: 2px;
  background: currentColor; transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
}
.nav-toggle__bars span:nth-child(1) { top: 0; }
.nav-toggle__bars span:nth-child(2) { top: 5px; }
.nav-toggle__bars span:nth-child(3) { top: 10px; }
[aria-expanded="true"] .nav-toggle__bars span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
[aria-expanded="true"] .nav-toggle__bars span:nth-child(2) { opacity: 0; }
[aria-expanded="true"] .nav-toggle__bars span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

.nav-drawer {
  position: fixed; inset: 0; z-index: 200;
  display: grid; grid-template-columns: 1fr min(88%, 380px);
  visibility: hidden;
}
.nav-drawer[data-open="true"] { visibility: visible; }
.nav-drawer__scrim {
  background: rgba(11, 38, 29, .5);
  opacity: 0; transition: opacity var(--dur) var(--ease);
  border: 0; padding: 0; cursor: pointer;
}
.nav-drawer[data-open="true"] .nav-drawer__scrim { opacity: 1; }
.nav-drawer__panel {
  background: #fff; padding: var(--s-5) var(--s-5) var(--s-8);
  overflow-y: auto; box-shadow: var(--sh-lg);
  transform: translateX(100%);
  transition: transform .28s var(--ease);
}
.nav-drawer[data-open="true"] .nav-drawer__panel { transform: none; }
/* ড্রয়ারে পরপর ব্লক-বাটন — নিজে থেকেই ফাঁক, ইনলাইন margin লাগে না */
.nav-drawer__panel .btn--block + .btn--block { margin-top: .5rem; }
.nav-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--s-5); }
.nav-drawer__close {
  background: none; border: 1px solid var(--c-border); border-radius: var(--r-sm);
  width: 38px; height: 38px; font-size: 1.2rem; line-height: 1; cursor: pointer; color: var(--c-ink);
}
.nav-drawer ul { list-style: none; margin: 0; padding: 0; }
.nav-drawer a {
  display: block; padding: .72em .2em;
  font-family: var(--f-ui); font-size: var(--t-base); font-weight: 500;
  color: var(--c-ink); text-decoration: none;
  border-bottom: 1px solid var(--c-border-soft);
}
.nav-drawer a:hover { color: var(--c-brand); }
.nav-drawer .sub-menu a { padding-inline-start: 1.2em; font-size: var(--t-sm); color: var(--c-text-soft); }
.nav-drawer .btn { margin-top: var(--s-5); }
body.nav-open { overflow: hidden; }

/* ═══ ৬. হোম সেকশন ═════════════════════════════════════════════════════ */

/* ── ৬.১ হিরো — ছবি-কেন্দ্রিক, এডিটোরিয়াল ──────────────────────────────
   আগের হিরোতে ডান পাশে ঠিকানা-সময়ের <dl> ছিল, অর্থাৎ ফুটারের কনটেন্ট
   পাতার সবচেয়ে দামি জায়গায়। এখন সেখানে আইনজীবীর ছবি — আইন বিশ্বাসের
   পেশা, আর বিশ্বাস শুরু হয় মুখ দেখা থেকে।                              */

.hero {
  position: relative;
  background: var(--c-ink);
  color: #e2ded3;
  overflow: hidden;
  isolation: isolate;
}
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 62% 58% at 78% 4%,  rgba(184, 155, 94, .26), transparent 66%),
    radial-gradient(ellipse 95% 85% at 4% 104%, rgba(29, 74, 57, .58), transparent 70%);
}
/* সূক্ষ্ম উল্লম্ব রুল — স্থাপত্যধর্মী ছাপ, কনটেন্টের পেছনে খুব হালকা */
.hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: repeating-linear-gradient(
    to right, transparent 0 calc(12.5% - 1px),
    rgba(255, 255, 255, .045) calc(12.5% - 1px) 12.5%);
}

.hero__in {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);  /* ছবির intrinsic মাপ যেন কলাম চওড়া করতে না পারে */
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  padding-block: clamp(3.25rem, 8vw, 6rem) 0;
  /* পাতা খোলার পর হিরো যেন পুরো প্রথম পর্দা জুড়ে দাঁড়ায় — আধো-খালি
     ব্যান্ড নয়, পাতার নিজস্ব মঞ্চ। */
  min-height: clamp(30rem, 76vh, 50rem);
}
@media (min-width: 900px) {
  /* SEO স্পেক: বাঁয়ে দাবি (~৫৫%), ডানে মুখ (~৪৫%) — বিশ্বাস আগে, ছবি পরে। */
  .hero__in { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  /* ছবি না থাকলে ডান পাশে এমব্লেম-প্যানেল — ফাঁকা ঘর নয়, সিলমোহর।
     দাবিটাই আগে পড়বে, তাই টেক্সট বাঁয়ে, মোহর ডানে।                */
  .hero__in--solo { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); max-width: none; }
  .hero__in--solo .hero__emblem { order: 2; }
}
.hero__in--solo { padding-block-end: clamp(3.25rem, 8vw, 6rem); }
@media (max-width: 899px) { .hero__in { min-height: 0; } }

/* — ছবি: নিচের প্রান্ত পর্যন্ত ফুল-ব্লিড — */
.hero__figure {
  position: relative;
  align-self: end;
  margin: 0;
  order: 2;
}
@media (min-width: 900px) { .hero__figure { order: 0; } }
.hero__figure img {
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
  display: block;
  /* নিচটা মিলিয়ে যায় যাতে ছবি কেটে যাওয়ার বদলে পটভূমিতে মিশে যায় */
  -webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
}
/* ছবির পেছনে একটি সোনালি কোণ-রেখা */
.hero__figure::before {
  content: ""; position: absolute; z-index: -1;
  inset-inline-start: 4%; inset-block: 12% 0;
  width: min(72%, 300px);
  border-top: 1px solid var(--c-gold-hair);
  border-inline-start: 1px solid var(--c-gold-hair);
}

.hero__body { padding-block-end: clamp(2.75rem, 7vw, 5rem); }
.hero h1 {
  color: #fff; margin-bottom: var(--s-4); max-width: 16ch;
  /* হোমের শিরোনাম পাতার বাকি সব h2 থেকে স্পষ্টভাবে বড় — এটাই পাতার
     একমাত্র "বড় গলা"। বাকি সব সেকশন তার নিচে সংযত থাকে।            */
  font-size: calc(clamp(2.6rem, 1.45rem + 4.6vw, 4.9rem) * var(--head-scale));
  line-height: 1.1; letter-spacing: -.006em;
}
.hero__lede {
  font-size: var(--t-xl); color: #c7cfc4;
  max-width: 44ch; margin-bottom: var(--s-6);
}
.hero .btn-row { margin-bottom: var(--s-5); }

/* ছবি-বিরাম হিরোর ডান পাশে ফ্রেম-করা দাঁড়িপালা প্যানেল — হালকা ওয়াটারমার্ক
   নয়, সিলমোহরের মতো এমব্লেম। ভেতরে দ্বিতীয় সরু রিং, পেছনে সোনালি আভা।
   মোবাইলে লুকায় — ছোট পর্দায় দাবিটাই পুরো জায়গা পাবে।                */
.hero__emblem {
  position: relative;
  justify-self: end; align-self: center;
  width: min(100%, 25rem); aspect-ratio: 1;
  display: grid; place-items: center;
  border: 1px solid var(--c-gold-hair); border-radius: var(--r-lg);
  background: radial-gradient(circle at 50% 40%, rgba(201, 174, 116, .17), transparent 64%);
  color: var(--c-gold-bright);
}
.hero__emblem::before {
  content: ""; position: absolute; inset: var(--s-4);
  border: 1px solid rgba(201, 174, 116, .3);
  border-radius: calc(var(--r-lg) - 5px);
}
.hero__emblem svg { width: 56%; height: 56%; stroke-width: .8; opacity: .85; }
@media (max-width: 899px) { .hero__emblem { display: none; } }

/* হিরোর আইব্রাউ — বাঁয়ে সোনালি রেখা সহ */
.hero__kicker {
  display: flex; align-items: center; gap: .8em;
  font-family: var(--f-display); font-size: var(--t-sm); font-weight: 700;
  color: var(--c-gold-bright);
  margin-bottom: var(--s-4);
}
.hero__kicker::before {
  content: ""; width: 2.4rem; height: 1px; background: var(--c-gold); flex: 0 0 auto;
}

/* আইনি দায়মুক্তি — ছোট, কিন্তু প্রতিটি ল ফার্মে থাকে */
.hero__note {
  font-family: var(--f-ui); font-size: var(--t-xs);
  color: #8a938a; max-width: 46ch; margin: 0;
}

/* ── ৬.২ পরিচিতি স্ট্রিপ — হিরোর ঠিক নিচে ─────────────────────────── */

.credbar {
  background: var(--c-ink-soft);
  border-block-start: 1px solid rgba(201, 174, 116, .32);  /* হিরো থেকে সোনালি বিভাজন */
  border-block-end: 1px solid rgba(255, 255, 255, .09);
  color: #cdd4cb;
}
.credbar__list {
  display: grid; gap: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  margin: 0; padding: 0; list-style: none;
}
.credbar__list li {
  display: flex; flex-direction: column; gap: .1rem;
  padding: var(--s-4) var(--s-5);
  border-inline-start: 1px solid rgba(255, 255, 255, .09);
}
.credbar__list li:first-child { border-inline-start: 0; }
.credbar__k {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(1.45rem, 1.15rem + 1.1vw, 1.95rem); line-height: 1.15; color: var(--c-gold-bright);
}
.credbar__v {
  font-family: var(--f-ui); font-size: var(--t-xs);
  letter-spacing: 0; color: #8a938a;
}

/* ── ৬.৩ সেবা সূচি — নম্বরযুক্ত, সরু রেখায় ভাগ করা ─────────────────────
   কার্ড-গ্রিডের বদলে সূচি। বড় ল ফার্মের practice-area পাতা এভাবেই
   সাজানো হয় — সংযত, পাঠযোগ্য, আর ১০টা সেবা হলেও ভেঙে পড়ে না।        */

.pindex { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--c-border); }
.pindex__item { border-bottom: 1px solid var(--c-border); }

.pindex__link {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--s-4) clamp(1rem, 3vw, 2.25rem);
  padding: clamp(1.25rem, 3vw, 2rem) var(--s-4) clamp(1.25rem, 3vw, 2rem) 0;
  text-decoration: none; color: inherit;
  transition: padding-inline-start var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
/* হভারে বাঁ দিক থেকে সোনালি রেখা ঢোকে আর সারিটা সামান্য সরে যায় */
.pindex__link::before {
  content: ""; position: absolute; inset-block: 0; inset-inline-start: 0;
  width: 3px; background: var(--c-gold);
  transform: scaleY(0); transform-origin: 50% 0;
  transition: transform .3s var(--ease);
}
.pindex__link:hover, .pindex__link:focus-visible {
  background: var(--c-brand-tint);
  padding-inline-start: var(--s-4);
}
.pindex__link:hover::before, .pindex__link:focus-visible::before { transform: scaleY(1); }

.pindex__num {
  font-family: var(--f-display); font-weight: 700;
  font-size: var(--t-2xl); line-height: 1;
  color: var(--c-border);
  font-feature-settings: "tnum";
  transition: color var(--dur) var(--ease);
  min-width: 2.4ch;
}
.pindex__link:hover .pindex__num,
.pindex__link:focus-visible .pindex__num { color: var(--c-gold); }

/* ভেতরের অংশগুলো <span> — লিংকের ভেতরে <h3> বসালে আউটলাইন ভেঙে যায়,
   তাই শিরোনামের চেহারা CSS-ই দিচ্ছে, ট্যাগ নয়।                       */
.pindex__text { display: block; min-width: 0; }
.pindex__name {
  display: block;
  font-family: var(--f-head); font-weight: 600;
  font-size: var(--t-xl); line-height: var(--lh-head);
  letter-spacing: 0;
  margin: 0 0 .35rem; color: var(--c-ink);
}
.pindex__desc {
  display: block;
  font-size: var(--t-sm); color: var(--c-text-soft);
  margin: 0 0 .55rem; max-width: 62ch; line-height: 1.75;
}
/* উপ-সেবার তালিকা — সূচিটাকে সত্যিকারের গভীরতা দেয় */
.pindex__sub {
  display: flex; flex-wrap: wrap; gap: .3rem .5rem;
  list-style: none; margin: 0; padding: 0;
  font-family: var(--f-ui); font-size: var(--t-xs); color: var(--c-text-mute);
}
.pindex__sub > *:not(:last-child)::after { content: "·"; margin-inline-start: .5rem; color: var(--c-gold); }

.pindex__arrow {
  align-self: center;
  display: grid; place-items: center;
  color: var(--c-text-mute);
  transition: transform var(--dur) var(--ease), color var(--dur) var(--ease);
}
.pindex__arrow svg { width: 22px; height: 22px; }
.pindex__link:hover .pindex__arrow { transform: translateX(.3rem); color: var(--c-brand); }
@media (max-width: 560px) { .pindex__arrow { display: none; } }

/* ── ৬.৩.১ সেবাক্ষেত্র — হোমের প্রিমিয়াম সংস্করণ (আলাদা পেজে লিংক) ────
   সাধারণ সমান-কার্ড-গ্রিড নয়: প্রতিটি ঘর নিজের হেয়ারলাইনে আলাদা,
   উপরের বাঁ প্রান্তে সোনালি কর্নার-মার্ক — বার-কর্পসের ডসিয়ার ট্যাবের
   ছোঁয়া। বড় স্ক্রিনে দুই কলাম, মোবাইলে এক।                           */

.pareas {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 0 var(--s-7);
}
@media (min-width: 900px) { .pareas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.parea > a {
  position: relative;
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start; gap: var(--s-4);
  padding: clamp(1.25rem, 2.6vw, 1.7rem) var(--s-4);
  border-top: 1px solid var(--c-border);
  text-decoration: none; color: inherit;
  transition: background-color var(--dur) var(--ease);
}
/* সোনালি কর্নার-মার্ক — উপরে-বাঁয়ে ছোট L, হভারে লম্বা হয় */
.parea > a::before {
  content: ""; position: absolute; top: -1px; inset-inline-start: 0;
  width: 1.6rem; height: 3px; background: var(--c-gold);
  transition: width .35s var(--ease);
}
.parea > a:hover::before, .parea > a:focus-visible::before { width: 4.5rem; }
.parea > a:hover, .parea > a:focus-visible { background: var(--c-brand-tint); }

.parea__icon {
  width: 40px; height: 40px; flex: 0 0 auto;
  display: grid; place-items: center;
  border: 1px solid var(--c-gold-hair); border-radius: 50%;
  color: var(--c-brand);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.parea__icon svg { width: 20px; height: 20px; stroke-width: 1.5; }
.parea > a:hover .parea__icon { color: var(--c-gold-deep); border-color: var(--c-gold); }

.parea__body { display: block; min-width: 0; }
.parea__name {
  display: block;
  font-family: var(--f-head); font-weight: 600;
  font-size: clamp(1.2rem, 1.05rem + .6vw, 1.45rem); line-height: var(--lh-head);
  color: var(--c-ink); margin-bottom: .3rem;
}
.parea__desc {
  display: block;
  font-size: var(--t-sm); color: var(--c-text-soft);
  line-height: 1.75; max-width: 52ch; margin-bottom: .55rem;
}
.parea__subs {
  display: flex; flex-wrap: wrap; gap: .3rem .55rem;
  font-family: var(--f-ui); font-size: var(--t-xs); color: var(--c-text-mute);
}
.parea__subs > *:not(:last-child)::after { content: "·"; margin-inline-start: .55rem; color: var(--c-gold); }

.parea__go {
  align-self: center;
  display: grid; place-items: center;
  color: var(--c-text-mute);
  transition: transform var(--dur) var(--ease), color var(--dur) var(--ease);
}
.parea__go svg { width: 20px; height: 20px; }
.parea > a:hover .parea__go { transform: translateX(.3rem); color: var(--c-brand); }
@media (max-width: 560px) { .parea__go { display: none; } }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .parea > a:hover,
  :root:not([data-theme="light"]) .parea > a:focus-visible { background: #0b261d; }
  :root:not([data-theme="light"]) .parea__name { color: #eaf0ec; }
  :root:not([data-theme="light"]) .parea__icon { color: var(--c-gold-bright); }
}

/* ── ৬.৪ পরিসংখ্যান ───────────────────────────────────────────────── */

/* সংখ্যাগুলো বিপরীত-ওজনের এডিটোরিয়াল স্টাইলে: বিশাল সিরিফ অঙ্কের
   নিচে ছোট লেবেল, দুপাশে সরু সোনালি রেখা — সাধারণ "SaaS কাউন্টার"-এর
   বদলে বার-কর্পসের স্মারক-ফলকের ছাপ।                                */
.stats { display: grid; gap: var(--s-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.stat {
  text-align: center; padding-inline: var(--s-3);
  border-top: 1px solid var(--c-gold-hair); padding-block-start: var(--s-4);
}
.stat__num {
  display: block;
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(2.2rem, 1.6rem + 2.6vw, 3.4rem); line-height: 1.05;
  color: var(--c-brand);
  letter-spacing: -.03em;
  font-feature-settings: "tnum";
}
.stat__label {
  font-family: var(--f-ui); font-size: var(--t-xs);
  letter-spacing: 0; color: var(--c-text-soft);
}
.section--deep .stat { border-top-color: rgba(201, 174, 116, .4); }
.section--deep .stat__num { color: var(--c-gold-bright); }
.section--deep .stat__label { color: #b0bab0; }

/* ── ৬.৫ প্রোফাইল — "আপনার আইনজীবী" ───────────────────────────────── */

.profile { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.75rem, 4vw, 3.5rem); align-items: center; }
@media (min-width: 860px) { .profile { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); } }

.profile__figure { position: relative; margin: 0; }
.profile__figure img {
  width: 100%; border-radius: var(--r-lg);
  filter: saturate(.94) contrast(1.03);
}
/* ছবির পেছনে সরানো সোনালি ফ্রেম */
.profile__figure::before {
  content: ""; position: absolute; z-index: -1;
  inset-block: var(--s-5) calc(var(--s-5) * -1);
  inset-inline: calc(var(--s-5) * -1) var(--s-5);
  border: 1px solid var(--c-gold-hair);
  border-radius: var(--r-lg);
}
.profile__caption {
  position: absolute; inset-inline: var(--s-4); bottom: var(--s-4);
  background: rgba(11, 38, 29, .86);
  backdrop-filter: blur(6px);
  border-inline-start: 3px solid var(--c-gold);
  padding: .65rem .9rem;
  font-family: var(--f-ui); font-size: var(--t-xs); color: #e4ede7;
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
}
.profile__caption b { display: block; font-size: var(--t-sm); color: #fff; font-weight: 600; }

/* সনদ ও যোগ্যতার তালিকা */
.creds { list-style: none; margin: var(--s-5) 0 var(--s-6); padding: 0; display: grid; gap: 0; }
.creds li {
  display: grid; grid-template-columns: auto minmax(0, 1fr);
  gap: var(--s-4); align-items: baseline;
  padding-block: var(--s-3);
  border-bottom: 1px dashed var(--c-border);
  font-size: var(--t-sm);
}
.creds dt, .creds__k {
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 600;
  color: var(--c-text-mute); min-width: 10ch;
}
.creds__v { color: var(--c-ink-soft); }

/* ── ৬.৬ ভরসার কারণ — চেকলিস্ট ────────────────────────────────────── */

.whylist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-5); }
@media (min-width: 760px) { .whylist { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5) var(--s-7); } }
.whylist li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-4); }
.whylist__mark {
  width: 2.1rem; height: 2.1rem; flex: 0 0 auto;
  display: grid; place-items: center;
  border: 1px solid var(--c-gold-hair); border-radius: var(--r-sm);
  color: var(--c-gold-deep); font-size: .9rem; font-weight: 700;
}
.whylist__mark svg { width: 1.15rem; height: 1.15rem; }
.whylist h3 { font-size: var(--t-base); margin: .1rem 0 .3rem; }
.whylist p { font-size: var(--t-sm); color: var(--c-text-soft); margin: 0; line-height: 1.75; }
.section--deep .whylist h3 { color: #fff; }
.section--deep .whylist p { color: #b0bab0; }
.section--deep .whylist__mark { border-color: rgba(201, 174, 116, .45); color: var(--c-gold-bright); }

/* ── ৬.৭ ক্লায়েন্টের কথা ──────────────────────────────────────────── */

/* ── ৬.৭ রিভিউ কার্ড (Google পর্যালোচনা) — প্রিমিয়াম, তারা-রেটিংসহ ──────
   তারা শুধু দেখানোর জন্য (Google-এর আসল রেটিং)। কোনো Review/AggregateRating
   স্কিমা বসে না — নিজের সাইটে সেটি Google-এর নীতিতে ঝুঁকিপূর্ণ। */
.quotes { display: grid; gap: var(--s-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.quote {
  position: relative; display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: var(--s-5);
  box-shadow: var(--sh-xs);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.quote:hover { transform: translateY(-3px); box-shadow: var(--sh-md); }
.quote__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--s-3); }
.quote__stars { display: inline-flex; gap: 1px; font-size: 1.05rem; line-height: 1; letter-spacing: .04em; }
.quote__star { color: var(--c-border); }
.quote__star.is-on { color: #b89b5e; }
/* Google "G" ব্যাজ — উৎস বোঝায়, বহুরঙা লোগো নয় (ট্রেডমার্ক-নিরাপদ)। */
.quote__src {
  flex: none; width: 26px; height: 26px; border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--f-ui); font-weight: 700; font-size: 15px;
  color: #4285f4; background: #fff;
  border: 1px solid var(--c-border);
}
.quote__text {
  position: relative; flex: 1 0 auto;
  font-family: var(--f-display); font-size: var(--t-base);
  line-height: 1.8; color: var(--c-ink-soft); margin: 0 0 var(--s-4);
}
.quote__by { display: flex; align-items: center; gap: var(--s-3); margin: 0; padding-top: var(--s-4); border-top: 1px solid var(--c-border-soft); }
.quote__avatar {
  flex: none; width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--c-brand), var(--c-brand-mid));
  color: #fff; font-family: var(--f-ui); font-weight: 700; font-size: var(--t-base);
  text-transform: uppercase;
}
.quote__meta { display: flex; flex-direction: column; font-family: var(--f-ui); line-height: 1.35; }
.quote__meta b { font-size: var(--t-sm); color: var(--c-ink); font-weight: 600; }
.quote__place { font-size: var(--t-xs); color: var(--c-text-mute); }

/* ── ৬.৮ এলাকা চিপ (লোকাল SEO) ────────────────────────────────────── */

.area-chips { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; margin: 0; padding: 0; }
.area-chips a {
  display: inline-flex; align-items: center; gap: .45em;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 500;
  padding: .5em 1.05em; border-radius: var(--r-sm);
  border: 1px solid var(--c-border); background: #fff;
  color: var(--c-ink-soft); text-decoration: none;
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.area-chips svg { width: 1.05em; height: 1.05em; flex: 0 0 auto; opacity: .7; }
.area-chips a:hover { border-color: var(--c-gold); background: var(--c-gold-light); color: var(--c-gold-deep); }
.section--deep .area-chips a, .site-footer .area-chips a {
  background: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .18);
  color: #d6ddd3;
}
.section--deep .area-chips a:hover, .site-footer .area-chips a:hover { background: rgba(201, 174, 116, .16); border-color: var(--c-gold-bright); color: #fff; }

/* ── ৬.৯ CTA ব্যান্ড ──────────────────────────────────────────────── */

.cta-band { text-align: center; border-block: 1px solid rgba(201, 174, 116, .35); }
.cta-band h2 { font-size: var(--t-3xl); }
.cta-band .lede { margin-inline: auto; max-width: 58ch; margin-bottom: var(--s-6); }
.cta-band .btn-row { justify-content: center; }
.cta-band__fine {
  font-family: var(--f-ui); font-size: var(--t-xs);
  color: var(--c-text-mute); margin: var(--s-5) auto 0; max-width: 60ch;
}
.section--deep .cta-band__fine { color: #8a938a; }

/* ── ৬.১০ জরুরি সহায়তা ব্যান্ড ────────────────────────────────────── */

.urgent {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--s-4) var(--s-5);
  background: linear-gradient(100deg, #7a2d2b, #a94442 65%);
  color: #f6e4e3;
  border-radius: var(--r-lg);
  padding: clamp(1.1rem, 2.5vw, 1.6rem) clamp(1.25rem, 3vw, 2rem);
}
.urgent__icon { flex: 0 0 auto; width: 34px; height: 34px; color: #eecac9; }
.urgent__icon svg { width: 100%; height: 100%; stroke-width: 1.4; }
.urgent__body { flex: 1 1 18rem; }
.urgent h2 { font-size: var(--t-lg); color: #fff; margin: 0 0 .2rem; }
.urgent p { font-size: var(--t-sm); color: #f2d6d5; margin: 0; }
.urgent .btn { --btn-bg: #fff; --btn-fg: #7a2d2b; }
.urgent .btn::after { background: #7a2d2b; }

/* ── ৬.১১ চেম্বার খোলা/বন্ধ সূচক ───────────────────────────────────── */

.hours-dot {
  display: inline-flex; align-items: center; gap: .5em;
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 600;
}
.hours-dot::before {
  content: ""; width: .55em; height: .55em; border-radius: 50%;
  background: currentColor; flex: 0 0 auto;
}
.hours-dot[data-open="true"]  { color: #6fb48c; }
.hours-dot[data-open="false"] { color: #d98f8c; }
/* খোলা থাকলে আলতো স্পন্দন — reduced-motion-এ বন্ধ (§১২) */
.hours-dot[data-open="true"]::before { animation: sp-pulse 2.4s var(--ease) infinite; }
@keyframes sp-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(111, 180, 140, .55); }
  60%      { box-shadow: 0 0 0 .42em rgba(111, 180, 140, 0); }
}

/* ── ৬.১২ পরামর্শের ধাপ (হোম) — সত্যিকারের ক্রম, তাই নম্বর ─────────── */

.steps {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--s-6);
  counter-reset: none;
}
@media (min-width: 820px) { .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-7); } }
.steps__item { position: relative; padding-top: var(--s-6); border-top: 1px solid var(--c-gold-hair); }
.steps__num {
  position: absolute; top: -1.05em; inset-inline-start: 0;
  font-family: var(--f-display); font-weight: 700; font-size: 2rem;
  letter-spacing: 0; color: rgba(184, 155, 94, .45);
  background: var(--c-bg); padding-inline-end: .5em; line-height: 1.4;
}
.steps__icon { display: block; width: 30px; height: 30px; color: var(--c-brand); margin-bottom: var(--s-3); }
.steps__icon svg { width: 100%; height: 100%; stroke-width: 1.4; }
.steps h3 { font-size: var(--t-lg); margin: 0 0 var(--s-2); }
.steps p { font-size: var(--t-sm); color: var(--c-text-soft); margin: 0; line-height: 1.8; }

/* ── ৬.১৩ হোমের FAQ — কন্টেন্টের .faq-item-এরই ছোঁয়া, দুই কলামে ───── */

.homefaq { display: grid; gap: var(--s-3); }
@media (min-width: 860px) { .homefaq { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); } }
.homefaq .faq-item { margin-bottom: 0 !important; }
/* উত্তরের ডান ধার সমান — একগুচ্ছ প্রশ্নোত্তর পাশাপাশি বসলে করাত-ধার
   দৃষ্টিকটু। শুধু উত্তর-অনুচ্ছেদে; প্রশ্ন-শিরোনামে নয় (সেটি ছোট, justify
   অর্থহীন ফাঁক করত)। শেষ লাইন বাঁয়েই থাকে (ডিফল্ট)। */
.homefaq .faq-item p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
}

/* ── ৬.১৪ প্রবাসী/আন্তর্জাতিক ব্যান্ড ───────────────────────────────── */

.intl { display: grid; gap: clamp(1.75rem, 4vw, 3.25rem); align-items: center; }
@media (min-width: 900px) { .intl { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); } }
.intl h2 { margin-bottom: var(--s-3); }
.intl__aside {
  background: #fff;
  border: 1px solid var(--c-border);
  border-top: 3px solid var(--c-gold);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-sm);
  padding: var(--s-6);
}
.intl__aside h3 { font-size: var(--t-base); margin: 0 0 var(--s-4); color: var(--c-brand); }
.intl__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3); }
.intl__list li {
  display: grid; grid-template-columns: auto minmax(0, 1fr);
  gap: var(--s-3); align-items: start;
  font-size: var(--t-sm); color: var(--c-ink-soft); line-height: 1.7;
}
.intl__list svg { width: 1.15em; height: 1.15em; margin-top: .25em; color: var(--c-gold-deep); }

/* ═══ ৭. এন্ট্রি কন্টেন্ট (প্রোজ) ══════════════════════════════════════ */

.entry-header { padding-block: var(--s-7) var(--s-2); }
.entry-header--hero {
  background: var(--c-brand-tint);
  border-bottom: 1px solid var(--c-border);
  padding-block: clamp(2rem, 5vw, 3.5rem);
}
.entry-title { margin-bottom: var(--s-4); max-width: 34ch; }
.page-template-default .entry-title, .entry-title--wide { max-width: none; }

.entry-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-4);
  font-family: var(--f-ui); font-size: var(--t-sm); color: var(--c-text-mute);
  margin-bottom: var(--s-4);
}
.entry-meta__item { display: inline-flex; align-items: center; gap: .4em; }
.entry-meta a { color: var(--c-text-soft); text-decoration: none; }
.entry-meta a:hover { color: var(--c-brand-mid); }

.featured-media { margin-bottom: var(--s-6); }
.featured-media img { width: 100%; border-radius: var(--r-lg); box-shadow: var(--sh-sm); }
.featured-media figcaption { font-size: var(--t-sm); color: var(--c-text-mute); margin-top: var(--s-2); }

/* — প্রোজ: পুরনো কন্টেন্টের বাস্তব মার্কআপ ধরেই লেখা — */
.entry-content { max-width: var(--w-prose); }
.entry-content--wide { max-width: none; }

.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }

.entry-content h2 {
  margin-top: var(--s-8); margin-bottom: var(--s-4);
  padding-bottom: var(--s-3);
  border-bottom: 2px solid var(--c-border);
}
.entry-content h3 { margin-top: var(--s-7); }
.entry-content h4 { margin-top: var(--s-6); color: var(--c-ink-soft); }
/* পুরনো লেখায় h3/h4-এর ভেতরে <strong> মোড়ানো — দ্বিগুণ বোল্ড দেখতে খারাপ */
.entry-content :is(h2, h3, h4, h5) strong { font-weight: inherit; color: inherit; }

/* হেডিং অ্যাংকর — functions.php স্বয়ংক্রিয়ভাবে id বসায় */
.entry-content :is(h2, h3) { position: relative; scroll-margin-top: calc(var(--header-h) + 1rem); }
.heading-anchor {
  position: absolute; inset-inline-start: -1.3em; top: 50%;
  transform: translateY(-50%);
  opacity: 0; text-decoration: none; color: var(--c-text-mute);
  font-size: .72em; padding: .2em;
  transition: opacity var(--dur) var(--ease);
}
.entry-content :is(h2, h3):hover .heading-anchor,
.heading-anchor:focus-visible { opacity: 1; }
@media (max-width: 900px) { .heading-anchor { display: none; } }

.entry-content ul, .entry-content ol { margin: 0 0 var(--s-5); padding-inline-start: 1.5em; }
.entry-content li { margin-bottom: var(--s-2); }
.entry-content li > ul, .entry-content li > ol { margin-top: var(--s-2); margin-bottom: var(--s-2); }
.entry-content ul { list-style: none; padding-inline-start: 1.4em; }
.entry-content ul > li { position: relative; }
.entry-content ul > li::before {
  content: ""; position: absolute;
  inset-inline-start: -1.1em; top: .72em;
  width: .42em; height: .42em; border-radius: 50%;
  background: var(--c-gold);
}
.entry-content ol { list-style: none; counter-reset: sp-ol; padding-inline-start: 1.9em; }
.entry-content ol > li { counter-increment: sp-ol; position: relative; }
.entry-content ol > li::before {
  content: counter(sp-ol) ".";
  position: absolute; inset-inline-start: -1.7em; top: 0;
  font-family: var(--f-ui); font-weight: 600; font-size: .92em;
  color: var(--c-brand); font-variant-numeric: tabular-nums;
}
/* নেস্টেড ul-এর বুলেট ফাঁপা */
.entry-content ul ul > li::before { background: none; border: 1.5px solid var(--c-gold); }

.entry-content blockquote {
  margin: var(--s-6) 0;
  padding: var(--s-5) var(--s-6);
  background: var(--c-brand-tint);
  border-inline-start: 4px solid var(--c-brand);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  font-size: var(--t-lg);
  color: var(--c-ink-soft);
}
.entry-content blockquote > :last-child { margin-bottom: 0; }
.entry-content blockquote cite {
  display: block; margin-top: var(--s-3);
  font-family: var(--f-ui); font-size: var(--t-sm);
  font-style: normal; color: var(--c-text-mute);
}

.entry-content :is(figure, .wp-block-image) { margin: var(--s-6) 0; }
.entry-content :is(figure, .wp-block-image) img { border-radius: var(--r-md); box-shadow: var(--sh-xs); }
.entry-content figcaption {
  font-family: var(--f-ui); font-size: var(--t-sm);
  color: var(--c-text-mute); text-align: center; margin-top: var(--s-3);
}
.entry-content .alignleft  { float: inline-start; margin: .3em var(--s-5) var(--s-4) 0; max-width: 46%; }
.entry-content .alignright { float: inline-end;   margin: .3em 0 var(--s-4) var(--s-5); max-width: 46%; }
.entry-content .aligncenter { margin-inline: auto; }
@media (max-width: 640px) {
  .entry-content :is(.alignleft, .alignright) { float: none; max-width: 100%; margin-inline: 0; }
}

/* — টেবিল: কন্টেন্টে ১,২০০+ <td>, তাই রেসপনসিভ হওয়া বাধ্যতামূলক — */
.table-scroll {
  position: relative;
  overflow-x: auto;
  margin: var(--s-6) 0;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  -webkit-overflow-scrolling: touch;
  /* ডানে-বাঁয়ে আরও কন্টেন্ট আছে বোঝাতে ছায়া */
  background:
    linear-gradient(to right, #fff 30%, rgba(255,255,255,0)) left / 40px 100% no-repeat,
    linear-gradient(to left,  #fff 30%, rgba(255,255,255,0)) right / 40px 100% no-repeat,
    radial-gradient(farthest-side at 0 50%, rgba(11, 38, 29,.14), transparent) left / 14px 100% no-repeat,
    radial-gradient(farthest-side at 100% 50%, rgba(11, 38, 29,.14), transparent) right / 14px 100% no-repeat;
  background-attachment: local, local, scroll, scroll;
}
.table-scroll:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; }

.entry-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--t-sm);
  line-height: 1.75;
  background: #fff;
}
.table-scroll > table { margin: 0; }
.entry-content :is(th, td) {
  padding: .8em 1em;
  text-align: start;
  vertical-align: top;
  border-bottom: 1px solid var(--c-border-soft);
}
.entry-content th {
  font-family: var(--f-ui); font-weight: 600;
  background: var(--c-brand-tint);
  color: var(--c-ink);
  border-bottom: 2px solid var(--c-border);
  white-space: nowrap;
}
.entry-content thead th { position: sticky; top: 0; z-index: 1; }
.entry-content tbody tr:last-child :is(th, td) { border-bottom: 0; }
.entry-content tbody tr:nth-child(even) { background: #fbfaf5; }
.entry-content tbody tr:hover { background: var(--c-brand-tint); }
.entry-content td > :last-child { margin-bottom: 0; }
.entry-content td ul { margin-bottom: 0; }

/* কল-আউট (নতুন লেখায় ব্যবহারযোগ্য) */
.callout {
  margin: var(--s-6) 0; padding: var(--s-5);
  border: 1px solid var(--c-border);
  border-inline-start: 4px solid var(--c-brand);
  border-radius: var(--r-md);
  background: var(--c-bg-alt);
  font-size: var(--t-sm);
}
.callout > :last-child { margin-bottom: 0; }
.callout__title { font-family: var(--f-ui); font-weight: 600; margin-bottom: var(--s-2); color: var(--c-ink); }
.callout--note { border-inline-start-color: var(--c-brand); background: var(--c-brand-tint); }
.callout--warn { border-inline-start-color: var(--c-warn); background: var(--c-warn-bg); }
.callout--tip  { border-inline-start-color: var(--c-success); background: var(--c-success-bg); }

/* ═══ ৮. লিগ্যাসি কন্টেন্ট ব্লক ════════════════════════════════════════
   পুরনো কন্টেন্টে যা সত্যিই আছে: related-reading (৯৪), faq-item (২৫৪),
   details/summary (৯৩), toc-container (১৪), sc-* (২০১১), Tailwind/ChatGPT
   আবর্জনা। ইনলাইন স্টাইল PHP ফিল্টারে সাফ হয়, তবু defensive CSS রাখা।
   ══════════════════════════════════════════════════════════════════════ */

/* — ৮.১ সম্পর্কিত আইনি বিষয় (বাতিল করা হয়েছে — ব্যবহারকারীর অনুরোধে লুকানো) — */
.related-reading {
  display: none !important;
  margin: var(--s-8) 0 var(--s-6);
  padding: var(--s-6);
  background: linear-gradient(160deg, var(--c-brand-tint), #fff 70%);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
}
.related-reading h3 {
  display: flex; align-items: center; gap: .55em;
  margin: 0 0 var(--s-4);
  font-size: var(--t-lg);
  padding-bottom: 0; border-bottom: 0;
}
.related-reading h3::before {
  content: ""; flex: 0 0 auto;
  width: 1.5rem; height: 1.5rem; border-radius: var(--r-sm);
  background: var(--c-gold);
  -webkit-mask: var(--icon-link) center / 62% no-repeat;
  mask: var(--icon-link) center / 62% no-repeat;
}
.related-reading ul {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--s-2);
}
@media (min-width: 720px) { .related-reading ul { grid-template-columns: 1fr 1fr; gap: var(--s-2) var(--s-5); } }
.related-reading li { margin: 0; }
.related-reading li::before { content: none; }   /* প্রোজ বুলেট বাতিল */
.related-reading a {
  display: block;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 500;
  line-height: 1.6;
  color: var(--c-ink-soft); text-decoration: none;
  padding: .58em .8em .58em 1.5em;
  border-radius: var(--r-md);
  position: relative;
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.related-reading a::before {
  content: "›";
  position: absolute; inset-inline-start: .55em; top: .5em;
  color: var(--c-gold); font-weight: 700;
}
.related-reading a:hover { background: #fff; color: var(--c-brand); box-shadow: var(--sh-xs); }

/* — ৮.২ FAQ (২৫৪টি faq-item; FAQPage স্কিমা functions.php থেকে) — */
.faq-section, .sc-faq { margin: var(--s-7) 0; }
.faq-item {
  margin: 0 0 var(--s-3) !important;   /* ইনলাইন margin-bottom:20px হারায় */
  padding: var(--s-5);
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  box-shadow: var(--sh-xs);
}
.faq-item :is(h3, h4, h5) {
  margin: 0 0 var(--s-3) !important;
  font-size: var(--t-base) !important;
  font-family: var(--f-head);
  font-weight: 600;
  color: var(--c-brand);
  line-height: var(--lh-head);
  padding-bottom: 0; border-bottom: 0;
}
.faq-item :is(h3, h4, h5) strong { font-weight: inherit; color: inherit; }
.faq-item > :last-child { margin-bottom: 0; }
.faq-item p { font-size: var(--t-sm); color: var(--c-text-soft); }
/* "উত্তর:" লেবেলটা আলাদা করে দেখাই */
.faq-item p > strong:first-child { color: var(--c-gold-deep); font-family: var(--f-ui); }

/* — FAQ অ্যাকর্ডিয়ন (details.faq-item) — শুধু প্রশ্ন দেখায়, ক্লিকে উত্তর খোলে।
   <details name="..."> একই দলে একটাই খোলা রাখে — নতুন প্রশ্নে ক্লিকে আগেরটা
   নিজে থেকেই ভাঁজ হয় (spark.js পুরনো ব্রাউজারে একই আচরণ নিশ্চিত করে)। */
details.faq-item { padding: 0; overflow: hidden; }
details.faq-item > summary {
  list-style: none; cursor: pointer;
  padding: var(--s-4) var(--s-5);
  padding-inline-end: calc(var(--s-5) + 1.6em);
  position: relative;
  font-family: var(--f-head); font-weight: 600; font-size: var(--t-base);
  color: var(--c-brand); line-height: var(--lh-head);
}
details.faq-item > summary::-webkit-details-marker { display: none; }
details.faq-item > summary::after {
  content: ""; position: absolute; inset-inline-end: var(--s-5); top: 1.15em;
  width: .62em; height: .62em;
  border-right: 2px solid var(--c-gold-deep); border-bottom: 2px solid var(--c-gold-deep);
  transform: rotate(45deg); transition: transform var(--dur) var(--ease);
}
details.faq-item[open] > summary::after { transform: rotate(-135deg); }
details.faq-item > summary:hover { color: var(--c-brand-mid); }
details.faq-item > summary:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; }
details.faq-item .faq-item__a { padding: 0 var(--s-5) var(--s-5); }
details.faq-item .faq-item__a p { margin: 0; font-size: var(--t-sm); color: var(--c-text-soft); }
/* লেখার শেষে নিজে থেকে বসা FAQ (spark_faq শর্টকোড/অটো-অ্যাপেন্ড) */
.spark-faq { margin-top: var(--s-5); }
.spark-faq__h { margin: var(--s-7) 0 var(--s-4); }
.entry-content .spark-faq { display: grid; gap: var(--s-3); }
@media (min-width: 860px) { .entry-content .spark-faq { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); } }

/* — ৮.৩ <details>/<summary> অ্যাকর্ডিয়ন (৯৩টি) — */
.entry-content details {
  margin: 0 0 var(--s-3);
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  overflow: hidden;
  transition: box-shadow var(--dur) var(--ease);
}
.entry-content details[open] { box-shadow: var(--sh-sm); }
.entry-content summary {
  display: flex; align-items: flex-start; gap: var(--s-3);
  padding: var(--s-4) var(--s-5);
  font-family: var(--f-head); font-weight: 600; font-size: var(--t-base);
  color: var(--c-ink); cursor: pointer;
  list-style: none;
  transition: background-color var(--dur) var(--ease);
}
.entry-content summary::-webkit-details-marker { display: none; }
.entry-content summary::after {
  content: ""; flex: 0 0 auto; margin-inline-start: auto; margin-top: .42em;
  width: .5em; height: .5em;
  border-right: 2px solid var(--c-gold); border-bottom: 2px solid var(--c-gold);
  transform: rotate(45deg);
  transition: transform var(--dur) var(--ease);
}
.entry-content details[open] > summary::after { transform: rotate(-135deg); }
.entry-content summary:hover { background: var(--c-brand-tint); }
/* পুরনো মার্কআপে <p> ভুল করে summary-র ভেতরে — তবু ঠিক দেখাতে হবে */
.entry-content summary > p:last-child {
  flex: 1 1 100%;
  margin: var(--s-3) 0 0;
  font-family: var(--f-body); font-weight: 400; font-size: var(--t-sm);
  color: var(--c-text-soft); line-height: var(--lh-body);
}
.entry-content details > :not(summary) { padding-inline: var(--s-5); }
.entry-content details > :not(summary):last-child { padding-bottom: var(--s-5); }

/* — ৮.৪ সূচিপত্র (toc-container, ১৪টি; ইনলাইন রং PHP-তে সাফ) — */
.toc-container {
  margin: 0 0 var(--s-7) !important;
  padding: var(--s-5) var(--s-6) !important;
  background: var(--c-bg-alt) !important;
  border: 1px solid var(--c-border) !important;
  border-inline-start: 4px solid var(--c-gold) !important;
  border-radius: var(--r-md) !important;
}
.toc-container :is(h2, h3, h4) {
  margin: 0 0 var(--s-3) !important;
  font-size: var(--t-base) !important;
  font-family: var(--f-ui);
  color: var(--c-text-mute) !important;
  padding-bottom: 0; border-bottom: 0;
}
.toc-container ul { list-style: none !important; margin: 0; padding: 0 !important; }
.toc-container li { margin: 0 !important; }
.toc-container li::before { content: none; }
.toc-container a {
  display: block;
  padding: .38em 0;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 500 !important;
  color: var(--c-ink-soft) !important;
  text-decoration: none;
  border-bottom: 1px dotted var(--c-border);
}
.toc-container li:last-child a { border-bottom: 0; }
.toc-container a:hover { color: var(--c-brand) !important; padding-inline-start: .35em; }

/* — ৮.৫ sc-* ব্লক (সার্ভিস পেজ) —
   এই মার্কআপ আগে কন্টেন্টের ভেতরে নিজের <style> নিয়ে আসত (২১৪টি
   `!important`, Poppins ফন্ট, নিজস্ব রঙ)। spark_clean_junk() সেই শিট
   সরিয়ে দেয়, তাই কাঠামোটা এখান থেকে থিমের ভাষায় সাজানো হলো —
   একই লেআউট, কিন্তু নেভি+সোনালি প্যালেট আর বাংলা টাইপোগ্রাফি।     */

.sc-hero {
  margin: 0 0 var(--s-7);
  padding: var(--s-8) var(--s-6);
  text-align: center;
  background: linear-gradient(160deg, var(--c-brand-tint), var(--c-gold-light));
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
}
.sc-hero :is(h1, h2) {
  margin: 0 0 var(--s-4) !important;
  padding-bottom: 0; border-bottom: 0;
  font-size: var(--t-3xl) !important;
  color: var(--c-ink) !important;
}
.sc-hero p { margin-inline: auto; max-width: 62ch; color: var(--c-text-soft); }
.sc-badge {
  display: inline-block;
  margin-bottom: var(--s-4);
  padding: .4em 1.1em;
  background: var(--c-brand) !important;
  color: #fff !important;
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 600;
  border-radius: var(--r-sm);
}
.sc-btn {
  display: inline-flex; align-items: center; gap: var(--s-2);
  margin-top: var(--s-4);
  padding: .85em 2em;
  background: var(--c-gold) !important;
  color: #0b261d !important;
  font-family: var(--f-ui); font-size: var(--t-base); font-weight: 600;
  text-decoration: none !important;
  border: 0; border-radius: var(--r-md);
  box-shadow: var(--sh-sm);
  transition: all var(--dur) var(--ease);
}
.sc-btn:hover { background: var(--c-gold-deep) !important; color: #fff !important; box-shadow: var(--sh-md); }

.sc-box {
  margin: 0 0 var(--s-6) !important;
  padding: var(--s-6);
  background: #fff;
  border: 1px solid var(--c-border);
  border-top: 4px solid var(--c-brand);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-xs);
}
.sc-box > :last-child { margin-bottom: 0 !important; }
.sc-box :is(h2, h3) { margin-top: 0 !important; }
.sc-box-warning { border-top-color: var(--c-warn); background: var(--c-warn-bg); }

.entry-content :is(.sc-checklist, .sc-bullet) { list-style: none !important; padding-inline-start: 0 !important; }
.entry-content :is(.sc-checklist, .sc-bullet) > li { padding-inline-start: 1.9em; }
.entry-content :is(.sc-checklist, .sc-bullet) > li::before {
  content: "";
  position: absolute; inset-inline-start: .35em; top: .72em;
  width: .48em; height: .48em;
  background: var(--c-gold); border-radius: 2px;
  transform: rotate(45deg);
}
.entry-content .sc-checklist > li::before {
  top: .55em; width: .42em; height: .78em;
  background: none; border-radius: 0;
  border-right: 2px solid var(--c-success); border-bottom: 2px solid var(--c-success);
  transform: rotate(45deg);
}

/* টেবিল — PHP-র .table-scroll র‍্যাপারই স্ক্রল সামলায়, তাই এটি শুধু চেহারা */
.sc-table-container { margin: 0 0 var(--s-6); overflow-x: auto; border-radius: var(--r-md); }
.sc-table { width: 100%; border-collapse: collapse; }

.sc-process-wrapper,
.sc-step-wrapper, .sc-tag-wrapper { display: flex; flex-wrap: wrap; gap: var(--s-4); margin: var(--s-6) 0; }
.sc-step {
  flex: 1 1 210px;
  padding: var(--s-5);
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-xs);
}
.sc-step :is(h3, h4) {
  margin: var(--s-3) 0 var(--s-2) !important;
  font-size: var(--t-base) !important;
  padding-bottom: 0; border-bottom: 0;
}
.sc-step p { font-size: var(--t-sm); color: var(--c-text-soft); margin: 0 !important; }
.sc-step > :last-child { margin-bottom: 0 !important; }
.sc-step-badge {
  display: inline-block;
  background: var(--c-brand) !important;   /* ইনলাইন #a94442 !important হারায় */
  color: #fff !important;
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 600;
  padding: .35em .9em; border-radius: var(--r-sm);
}
.sc-step.step-2 .sc-step-badge { background: var(--c-brand-mid) !important; }
.sc-step.step-3 .sc-step-badge { background: var(--c-gold) !important; color: #0b261d !important; }
.sc-step.step-4 .sc-step-badge { background: var(--c-success) !important; }
/* ধাপ ৫–৬ কন্টেন্টে আছে, পুরনো শিটে রঙ ছিল না — ১→৬ ক্রমে গাঢ় হয় */
.sc-step.step-5 .sc-step-badge { background: var(--c-gold-deep) !important; }
.sc-step.step-6 .sc-step-badge { background: var(--c-ink-soft) !important; }

.sc-tag {
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 500;
  padding: .42em 1em; border-radius: var(--r-sm);
  background: var(--c-brand-light) !important;
  color: var(--c-brand) !important;
  border: 1px solid transparent;
}
.sc-tag.tag-2 { background: var(--c-gold-light) !important; color: var(--c-gold-deep) !important; }
.sc-tag.tag-3 { background: var(--c-success-bg) !important; color: var(--c-success) !important; }
.sc-tag.tag-4 { background: var(--c-bg-alt) !important; color: var(--c-ink-soft) !important; }
.sc-tag.tag-5 { background: var(--c-warn-bg) !important; color: var(--c-warn) !important; }

.entry-content ul.sc-bullet { margin-bottom: 0 !important; }
.sc-td-title {
  font-family: var(--f-head); font-weight: 600;
  color: var(--c-brand);
  white-space: normal !important;
  min-width: 12rem;
}
.sc-icon { margin-inline-end: .35em; font-size: 1.1em; }

/* পরামর্শ-ফর্মের ঘেরাটোপ — ভেতরে [wpforms] শর্টকোড বসে */
.sc-form-container {
  margin: var(--s-7) 0;
  padding: var(--s-7) var(--s-6);
  background: var(--c-brand-tint);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  scroll-margin-top: 6rem;               /* #consultation অ্যাংকরে হেডার যেন না ঢাকে */
}
.sc-form-container :is(h2, h3) {
  margin-top: 0 !important;
  padding-bottom: 0; border-bottom: 0;
  text-align: center;
  font-size: var(--t-2xl) !important;
  color: var(--c-ink) !important;
}
.sc-form-container > p { text-align: center; color: var(--c-text-soft); }
/* ইনলাইন-স্টাইল করা ড্যাশ-বর্ডার কলআউট — স্টাইল সরার পরও যেন আলাদা দেখায় */
.sc-form-container > div {
  max-width: 38rem;
  margin: var(--s-5) auto var(--s-6) !important;
  padding: var(--s-4) var(--s-5) !important;
  background: var(--c-bg) !important;
  border: 2px dashed var(--c-success) !important;
  border-radius: var(--r-lg) !important;
  text-align: center;
}
.sc-form-container > div strong { color: var(--c-success) !important; }

/* — ফর্ম ফলব্যাক —
   spark_revive_forms() মরা WPForms HTML সরিয়ে এটি বসায় যখন প্লাগইনটিই
   নেই। তখন দর্শক যেন খালি হাতে না ফেরেন — ফোন আর ইমেইল হাতের নাগালে।   */
.form-fallback {
  margin: var(--s-6) 0;
  padding: var(--s-6);
  background: var(--c-gold-light);
  border: 1px solid var(--c-gold);
  border-inline-start: 4px solid var(--c-gold);
  border-radius: var(--r-lg);
}
.form-fallback__lead { margin: 0 0 var(--s-4) !important; font-weight: 500; }
.form-fallback__actions {
  display: flex; flex-wrap: wrap; gap: var(--s-3);
  margin: 0 !important;
}

/* — ৮.৭ শর্টকোড উইজেট (inc/shortcodes.php) —                             */

/* [spark_land_timeline] — সিএস → এসএ → আরএস → বিএস → ডিজিটাল জরিপ।
   বাঁয়ে একটানা রেখা, তার ওপর সংক্ষেপ-বৃত্ত (CS/SA/RS…)।                */
/* ক্লাস দুবার লেখা ইচ্ছাকৃত। `.entry-content ol` (০,১,১) ও
   `.entry-content ol > li::before` (০,১,৩) এই ব্লকের চেয়ে ভারী, তাই
   একবার লিখলে টাইমলাইনে ol-এর "১." কাউন্টারগুলো সংযোগ-রেখার জায়গায়
   বসে যায় আর width:2px-এ চেপে ভেঙে যায়।                              */
.land-timeline.land-timeline {
  list-style: none;
  margin: var(--s-6) 0 var(--s-4);
  padding-inline-start: var(--s-2);
  counter-reset: none;
}
.land-timeline .land-timeline__item {
  position: relative;
  display: flex;
  gap: var(--s-4);
  margin-bottom: 0;
  padding-bottom: var(--s-6);
}
/* সংযোগ-রেখা — শেষ ধাপে নেই */
.land-timeline .land-timeline__item::before {
  content: "";
  position: absolute;
  inset-inline-start: 1.75rem;
  top: 3.5rem; bottom: 0;
  width: 2px;
  background: linear-gradient(var(--c-border), var(--c-border-soft));
}
.land-timeline .land-timeline__item:last-child { padding-bottom: 0; }
.land-timeline .land-timeline__item:last-child::before { display: none; }

.land-timeline__key {
  flex: 0 0 auto;
  display: grid; place-items: center;
  width: 3.5rem; height: 3.5rem;
  background: var(--c-brand);
  color: #fff;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 700;
  letter-spacing: 0;
  border-radius: var(--r-sm);
  box-shadow: var(--sh-sm);
}
.land-timeline__item:nth-child(3) .land-timeline__key { background: var(--c-brand-mid); }
.land-timeline__item:nth-child(4) .land-timeline__key { background: var(--c-gold-deep); }
.land-timeline__item:nth-child(5) .land-timeline__key { background: var(--c-success); }

.land-timeline__body { padding-top: .35rem; }
.land-timeline__name {
  margin: 0 0 var(--s-2) !important;
  padding-bottom: 0; border-bottom: 0;
  font-size: var(--t-lg) !important;
  line-height: var(--lh-head);
}
.land-timeline__year {
  display: inline-block;
  margin-inline-start: .5em;
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 500;
  color: var(--c-text-mute);
  white-space: nowrap;
}
.land-timeline__desc { margin: 0 !important; color: var(--c-text-soft); }
.land-timeline__note {
  padding: var(--s-3) var(--s-4);
  background: var(--c-bg-alt);
  border-inline-start: 3px solid var(--c-gold);
  border-radius: var(--r-md);
  font-size: var(--t-sm); color: var(--c-text-soft);
}

/* [spark_before_after] — দুই ছবির তুলনা।
   JS ছাড়াও চলে: range ইনপুট নিজেই ব্রাউজারের, আর --pos-এর ডিফল্ট ৫০%।  */
.img-compare {
  --pos: 50%;
  position: relative;
  margin: var(--s-6) 0;
  overflow: hidden;
  border-radius: var(--r-lg);
  box-shadow: var(--sh-sm);
  line-height: 0;                       /* ছবির নিচে ফাঁক থাকে না */
  touch-action: pan-y;                  /* অনুভূমিক টানা স্লাইডারের জন্য */
}
.img-compare img { display: block; width: 100%; height: auto; }
.img-compare__top {
  position: absolute; inset: 0;
  width: var(--pos);
  overflow: hidden;
}
/* ভেতরের ছবি র‍্যাপারের সঙ্গে সংকুচিত হলে বিকৃত হতো — তাই স্থির প্রস্থ */
.img-compare__top img {
  width: 100%; height: 100%;
  max-width: none;
  object-fit: cover; object-position: left center;
}
.img-compare__top::after {
  content: "";
  position: absolute; inset-block: 0; inset-inline-end: 0;
  width: 3px;
  background: var(--c-gold);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .55);
}
.img-compare__tag {
  position: absolute; top: var(--s-3);
  padding: .3em .85em;
  background: rgba(11, 38, 29, .78);
  color: #fff;
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 600;
  line-height: 1.6;
  border-radius: var(--r-sm);
  pointer-events: none;
}
.img-compare__tag--a { inset-inline-start: var(--s-3); }
.img-compare__tag--b { inset-inline-end: var(--s-3); }

/* range ইনপুটটিই হাতল — পুরো ছবির ওপরে স্বচ্ছভাবে বসে, তাই কীবোর্ড
   (তীর চিহ্ন) ও মাউস দুটোতেই কাজ করে, আলাদা JS হাতল লাগে না।          */
.img-compare__range {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  margin: 0; padding: 0;
  background: none; border: 0;
  appearance: none; -webkit-appearance: none;
  cursor: ew-resize;
}
.img-compare__range:focus-visible { outline: 3px solid var(--c-focus); outline-offset: 2px; }
.img-compare__range::-webkit-slider-thumb {
  appearance: none; -webkit-appearance: none;
  width: 2.6rem; height: 2.6rem;
  background: var(--c-gold);
  border: 3px solid #fff;
  border-radius: var(--r-full);
  box-shadow: var(--sh-md);
  cursor: ew-resize;
}
.img-compare__range::-moz-range-thumb {
  width: 2.6rem; height: 2.6rem;
  background: var(--c-gold);
  border: 3px solid #fff;
  border-radius: var(--r-full);
  box-shadow: var(--sh-md);
  cursor: ew-resize;
}
.img-compare__range::-moz-range-track { background: none; border: 0; }


/* — ৮.৬ লিগ্যাসি আবর্জনা নিরপেক্ষ করা —
   ChatGPT থেকে কপি হওয়া UI মার্কআপ ([1514]) ও Tailwind অবশেষ।
   PHP ফিল্টারে মূল অংশ মুছি; এটি নিরাপত্তা-জাল।                        */
.entry-content :is(.gizmo-bot-avatar, [class*="bg-token-"], [class*="juice:"]) { display: none !important; }
.entry-content :is(.flex, .flex-col, .flex-shrink-0, .w-full, .items-end, .items-center) {
  display: block !important;
  width: auto !important;
}
.entry-content :is(.prose, .markdown) { max-width: none; color: inherit; }
.entry-content [class*="leading-["], .entry-content [class*="text-["] {
  line-height: inherit !important;
  color: inherit !important;
  font-size: inherit !important;
}
/* Yoast/WP "Suggested text:" বয়লারপ্লেট — প্রাইভেসি পেজ */
.privacy-policy-tutorial { display: none !important; }

/* ═══ ট্যাগ ও শেয়ার ═══════════════════════════════════════════════════ */

.entry-footer {
  max-width: var(--w-prose);
  margin-top: var(--s-7);
  padding-top: var(--s-5);
  border-top: 1px solid var(--c-border);
  display: grid; gap: var(--s-5);
}
.tag-list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.tag-list__label { font-family: var(--f-ui); font-size: var(--t-sm); color: var(--c-text-mute); }

.share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.share__label { font-family: var(--f-ui); font-size: var(--t-sm); color: var(--c-text-mute); }
.share a, .share button {
  display: grid; place-items: center;
  width: 38px; height: 38px;
  border: 1px solid var(--c-border); border-radius: var(--r-sm);
  background: #fff; color: var(--c-ink-soft);
  text-decoration: none; cursor: pointer;
  transition: all var(--dur) var(--ease);
}
.share a:hover, .share button:hover { background: var(--c-brand); border-color: var(--c-brand); color: #fff; }
.share svg { width: 17px; height: 17px; }
/* কপি সফল হয়েছে — JS ক্লাসটি ~২ সেকেন্ড রাখে */
.share button.is-copied {
  background: var(--c-success); border-color: var(--c-success); color: #fff;
}
.share button.is-copied::after {
  content: "কপি হয়েছে";
  position: absolute; margin-top: -3.4rem;
  font-family: var(--f-ui); font-size: var(--t-xs);
  background: var(--c-ink); color: #fff;
  padding: .3em .6em; border-radius: var(--r-sm);
  white-space: nowrap; pointer-events: none;
}
.share button { position: relative; }

/* আইনজীবী কার্ড ([spark_lawyer]) — শান্ত প্রোফাইল-কার্ড */
.lawyer-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--s-5);
  align-items: start;
  padding: var(--s-6);
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
}
@media (max-width: 560px) {
  .lawyer-card { grid-template-columns: 1fr; }
}
.lawyer-card__photo { margin: 0; flex: none; }
.lawyer-card__photo img {
  width: 120px; height: 120px; object-fit: cover;
  border-radius: var(--r-lg);
  border: 1px solid var(--c-gold-hair);
}
.lawyer-card__avatar {
  display: grid; place-items: center;
  width: 120px; height: 120px;
  border-radius: var(--r-lg);
  background: var(--c-brand-tint); color: var(--c-brand);
  border: 1px solid var(--c-gold-hair);
}
.lawyer-card__avatar svg { width: 54px; height: 54px; }
.lawyer-card__name { margin: 0; font-size: var(--t-xl); color: var(--c-heading); }
.lawyer-card__role {
  margin: 2px 0 0; font-family: var(--f-ui);
  font-size: var(--t-sm); color: var(--c-brand); font-weight: 600;
}
.lawyer-card__bio {
  margin: var(--s-3) 0 0; font-size: var(--t-sm);
  line-height: 1.7; color: var(--c-text-soft);
}
.lawyer-card__creds {
  list-style: none; margin: var(--s-4) 0 0; padding: 0;
  display: grid; gap: var(--s-2);
}
.lawyer-card__creds li {
  display: grid; grid-template-columns: 8rem minmax(0, 1fr);
  gap: var(--s-3); font-size: var(--t-sm);
}
.lawyer-card__k { font-family: var(--f-ui); color: var(--c-text-mute); }
.lawyer-card__v { color: var(--c-text); font-weight: 600; }
.lawyer-card__actions {
  display: flex; flex-wrap: wrap; gap: var(--s-3);
  margin-top: var(--s-5);
}

/* একটি পাতায় বসানো সেবাক্ষেত্র-গ্রিড: হোমপেজের বর্ডার থাকে, কিন্তু
   প্রথম সারির উপরের রেখাটি এখানে দরকার নেই বলে দিয়ে দিই।           */
.spark-sc-pareas.pareas { margin-block: var(--s-4); }
.spark-sc-pareas.pareas .parea:first-child > a { border-top: 0; }

/* ── সেবা-ক্ষেত্র (Practice Area) পাতা — page-practice.php ─────────────── */

/* হিরোর নিচে বুকিং + ফোন বোতাম। */
.practice-hero__actions {
  display: flex; flex-wrap: wrap; gap: var(--s-3);
  margin-top: var(--s-5);
}

/* মালিকের লেখা এখনো নেই — ভদ্র "প্রস্তুত হচ্ছে" নোটিশ। */
.practice-content--empty .notice {
  margin: 0; padding: var(--s-5) var(--s-6);
  background: var(--c-brand-tint); color: var(--c-ink-soft);
  border: 1px solid var(--c-border); border-inline-start: 3px solid var(--c-brand);
  border-radius: var(--r-md); font-size: var(--t-sm); line-height: 1.7;
}

/* সম্পর্কিত সেবা — অভ্যন্তরীণ লিংকের সারি। */
.practice-related { background: var(--c-bg-alt); }
.practice-related__list {
  list-style: none; margin: var(--s-5) 0 0; padding: 0;
  display: grid; gap: var(--s-3);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
}
.practice-related__link {
  display: flex; align-items: center; gap: var(--s-3);
  padding: var(--s-4) var(--s-5);
  background: var(--c-bg); color: var(--c-heading);
  border: 1px solid var(--c-border); border-radius: var(--r-lg);
  text-decoration: none; font-weight: 600; font-size: var(--t-sm);
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.practice-related__link:hover,
.practice-related__link:focus-visible {
  border-color: var(--c-gold-hair); box-shadow: var(--sh-sm);
  transform: translateY(-1px);
}
.practice-related__ico { display: grid; place-items: center; color: var(--c-brand); flex: none; }
.practice-related__t { flex: 1 1 auto; min-width: 0; }
.practice-related__arw { color: var(--c-text-mute); flex: none; transition: transform .15s ease; }
.practice-related__link:hover .practice-related__arw { transform: translateX(3px); }

@media (prefers-reduced-motion: reduce) {
  .practice-related__link,
  .practice-related__arw { transition: none; }
  .practice-related__link:hover { transform: none; }
}

/* ═══ লেখকের বাক্স (Author & Legal Counsel Box) ═══════════════════════ */
.author-box,
.author-box--premium {
  display: block;
  margin-top: var(--s-8, 2.5rem);
  padding: 1.5rem 1.65rem;
  background: #ffffff;
  border: 1px solid var(--c-border-soft, #e6e2d8);
  border-inline-start: 4px solid var(--c-gold, #c5a059);
  border-radius: var(--r-lg, 10px);
  box-shadow: 0 4px 20px rgba(11, 38, 29, 0.05);
  max-width: 100%;
}
.author-box__inner {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}
@media (max-width: 640px) {
  .author-box__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
.author-box__photo {
  flex: 0 0 84px;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  overflow: hidden;
  border: 2.5px solid var(--c-gold, #c5a059);
  box-shadow: 0 3px 12px rgba(11, 38, 29, 0.12);
  background: #0e2a1e;
}
.author-box__photo img,
.author-box__avatar-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block;
  border-radius: 50%;
}
.author-box__body {
  flex: 1;
  min-width: 0;
}
.author-box__eyebrow {
  display: inline-block;
  font-family: var(--f-ui);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-gold-dark, #8b6b23);
  margin-bottom: 0.2rem;
}
.author-box__name {
  font-family: var(--f-head, Georgia, serif);
  font-size: 1.28rem;
  font-weight: 700;
  color: var(--c-brand, #0e2a1e);
  margin: 0 0 0.35rem;
  line-height: 1.25;
}
.author-box__credentials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--f-ui);
  font-size: 0.76rem;
  color: var(--c-brand-mid, #1a4d3b);
  font-weight: 600;
  margin-bottom: 0.75rem;
}
@media (max-width: 640px) {
  .author-box__credentials {
    justify-content: center;
  }
}
.author-box__cred-sep {
  color: var(--c-gold, #c5a059);
  opacity: 0.7;
}
.author-box__bio {
  font-size: 0.88rem;
  line-height: 1.65;
  color: var(--c-ink-soft, #444);
  margin: 0 0 1rem;
}
.author-box__areas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.15rem;
  padding-top: 0.65rem;
  border-top: 1px dashed var(--c-border-soft, #e8e4dc);
}
@media (max-width: 640px) {
  .author-box__areas {
    justify-content: center;
  }
}
.author-box__areas-label {
  font-family: var(--f-ui);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--c-text-mute, #777);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.author-box__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
@media (max-width: 640px) {
  .author-box__chips {
    justify-content: center;
  }
}
.author-box__chip {
  display: inline-block;
  font-family: var(--f-ui);
  font-size: 0.73rem;
  font-weight: 600;
  color: var(--c-brand, #0e2a1e);
  background: var(--c-brand-tint, #f0f6f2);
  border: 1px solid rgba(14, 42, 30, 0.12);
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}
.author-box__chip:hover {
  background: var(--c-brand, #0e2a1e);
  color: #ffffff;
  border-color: var(--c-brand, #0e2a1e);
}
.author-box__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
}
@media (max-width: 640px) {
  .author-box__actions {
    justify-content: center;
  }
}
.author-box__btn-book {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 700 !important;
  font-size: 0.84rem !important;
  padding: 0.55rem 1.1rem !important;
  border-radius: var(--r-sm, 6px) !important;
  box-shadow: 0 3px 10px rgba(197, 160, 89, 0.28);
}
.author-box__btn-wa {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: #25d366 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 0.84rem !important;
  padding: 0.55rem 1rem !important;
  border-radius: var(--r-sm, 6px) !important;
  border: none !important;
  text-decoration: none;
  transition: background 0.15s ease;
}
.author-box__btn-wa:hover {
  background: #1eb956 !important;
  color: #ffffff !important;
}
.author-box__btn-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: #f7f5f0 !important;
  color: var(--c-brand, #0e2a1e) !important;
  border: 1px solid var(--c-border, #ddd8ce) !important;
  font-weight: 600 !important;
  font-size: 0.84rem !important;
  padding: 0.55rem 0.95rem !important;
  border-radius: var(--r-sm, 6px) !important;
  text-decoration: none;
  transition: all 0.15s ease;
}
.author-box__btn-phone:hover {
  background: #ebe6dc !important;
  color: var(--c-brand, #0e2a1e) !important;
}

/* পোস্ট নেভিগেশন */
.post-nav {
  display: grid; gap: var(--s-4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  margin-top: var(--s-7);
  max-width: var(--w-prose);
}
.post-nav a {
  display: block; padding: var(--s-4) var(--s-5);
  border: 1px solid var(--c-border); border-radius: var(--r-md);
  text-decoration: none; background: #fff;
  transition: all var(--dur) var(--ease);
}
.post-nav a:hover { border-color: var(--c-brand); box-shadow: var(--sh-sm); }
.post-nav__dir { font-family: var(--f-ui); font-size: var(--t-xs); color: var(--c-text-mute); display: block; margin-bottom: .3em; }
.post-nav__title { font-family: var(--f-head); font-weight: 600; font-size: var(--t-sm); color: var(--c-ink); line-height: var(--lh-head); }
.post-nav__next { text-align: end; }

/* — ব্রেডক্রাম্ব — */
.breadcrumbs {
  font-family: var(--f-ui); font-size: var(--t-xs);
  color: var(--c-text-mute);
  padding-block: var(--s-4) 0;
}
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .45em; list-style: none; margin: 0; padding: 0; }
.breadcrumbs li { display: flex; align-items: center; gap: .45em; }
.breadcrumbs li + li::before { content: "›"; color: var(--c-border); }
.breadcrumbs a { color: var(--c-text-soft); text-decoration: none; }
.breadcrumbs a:hover { color: var(--c-brand-mid); text-decoration: underline; }
.breadcrumbs [aria-current="page"] { color: var(--c-ink); font-weight: 500; }

/* — পড়ার প্রগ্রেস বার — */
.read-progress {
  position: fixed; top: 0; inset-inline: 0; height: 3px; z-index: 150;
  background: var(--c-gold);
  transform: scaleX(0); transform-origin: 0 50%;
  will-change: transform;
}

/* ═══ ৯. সাইডবার ও ফ্লোটিং TOC ═════════════════════════════════════════ */

/* grid-template-columns না দিলে ইমপ্লিসিট কলামটা auto = max-content হয়ে
   ভেতরের উইজেটের প্রস্থে বেড়ে যায় (সূচিপত্রের লম্বা লাইন) — ৩১০px সাইডবার
   ছাপিয়ে কন্টেন্টের উপরে উঠে আসত। minmax(0,1fr) কলামকে কনটেইনারে বেঁধে রাখে। */
.sidebar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.85rem; align-content: start; }
/* খাঁটি স্টিকি সাইডবার — কোনো ভেতরের স্ক্রোলবার নেই */
@media (min-width: 1024px) {
  .sidebar {
    position: -webkit-sticky;
    position: sticky;
    align-self: start;
    top: calc(var(--header-h, 76px) + 1.25rem);
  }
  body.admin-bar .sidebar {
    top: calc(var(--header-h, 76px) + 32px + 1.25rem);
  }
}

.widget {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md, 8px);
  padding: 0.85rem 1rem;
}
.widget--accent { background: var(--c-ink); color: #e2ded3; border-color: transparent; }
.widget--accent :is(h2, h3) { color: #fff; }
.widget--accent a { color: #dcc48c; }
.widget__title {
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 700;
  color: var(--c-text-mute);
  margin-bottom: var(--s-4);
}
.widget--accent .widget__title { color: #7b827c; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li + li { margin-top: var(--s-3); padding-top: var(--s-3); border-top: 1px solid var(--c-border-soft); }
.widget a { font-family: var(--f-ui); font-size: var(--t-sm); text-decoration: none; line-height: 1.65; }
.widget .count { color: var(--c-text-mute); font-size: var(--t-xs); }

/* ═══ Chamber Sidebar (খাঁটি স্টিকি, নো-স্ক্রোলবার) ═════════════════════ */
.chamber-sidebar .widget {
  margin-bottom: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

/* ১. Lead Trial Advocate Profile Widget */
.widget--chamber-profile {
  background: linear-gradient(155deg, #0e2a1e 0%, #081a13 100%) !important;
  border: 1px solid rgba(184, 155, 94, 0.45) !important;
  color: #f3efe6 !important;
  padding: 0.95rem 1rem !important;
  border-radius: var(--r-md, 8px);
  box-shadow: 0 4px 16px rgba(10, 30, 20, 0.12);
}
.chamber-profile__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}
.chamber-profile__avatar {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--c-gold, #c5a059);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  background: #0a1f16;
}
.chamber-profile__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.chamber-profile__meta {
  flex: 1;
  min-width: 0;
}
.chamber-profile__badge {
  display: inline-block;
  font-family: var(--f-ui);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--c-gold, #c5a059);
  margin-bottom: 0.15rem;
}
.chamber-profile__name {
  font-family: var(--f-display, var(--f-serif));
  font-size: 0.98rem;
  font-weight: 700;
  color: #fff !important;
  margin: 0 0 0.15rem;
  line-height: 1.25;
}
.chamber-profile__court {
  font-family: var(--f-ui);
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
  line-height: 1.35;
}
.chamber-profile__enrollment {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.69rem;
  color: rgba(255, 255, 255, 0.9);
  padding: 0.35rem 0.55rem;
  background: rgba(255, 255, 255, 0.07);
  border-radius: var(--r-sm, 6px);
  margin-bottom: 0.7rem;
  border-inline-start: 3px solid var(--c-gold, #c5a059);
}
.chamber-profile__cta .btn--gold {
  font-weight: 700;
  padding: 0.5rem 0.85rem;
  font-size: 0.82rem;
  box-shadow: 0 3px 12px rgba(184, 155, 94, 0.35);
  letter-spacing: 0.02em;
}
.chamber-profile__quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
  margin-top: 0.45rem;
}
.chamber-profile__call-btn {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  padding: 0.42rem 0.3rem !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: var(--r-sm, 5px);
  text-align: center;
  justify-content: center;
}
.chamber-profile__call-btn:hover {
  background: rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
}
.chamber-profile__wa-btn {
  background: #25d366 !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  padding: 0.42rem 0.3rem !important;
  border: none !important;
  border-radius: var(--r-sm, 5px);
  text-align: center;
  justify-content: center;
}
.chamber-profile__wa-btn:hover {
  background: #20bd5a !important;
  color: #fff !important;
}

/* Chamber General Headings */
.chamber-widget__title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--f-ui);
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--c-brand, #0e2a1e);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 0.65rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--c-border-soft, #ece7de);
}
.chamber-widget__icon {
  font-size: 0.95rem;
}

/* ২. Chamber Locations & Hours (আমার চেম্বার দুইটি) */
.chamber-locations-list {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.chamber-location-item {
  padding: 0.55rem 0.65rem;
  background: var(--c-surface-2, #fbf9f5);
  border: 1px solid var(--c-border-soft, #ebe7df);
  border-radius: var(--r-md, 6px);
}
.chamber-location-item__title {
  font-size: 0.75rem;
  color: var(--c-brand, #0e2a1e);
  margin-bottom: 0.15rem;
}
.chamber-location-item__address {
  font-size: 0.72rem;
  line-height: 1.45;
  color: var(--c-ink-soft, #555);
  margin: 0 0 0.25rem;
}
.chamber-location-item__time {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--c-gold-dark, #8b6b23);
}

/* ৩. Practice Areas Quick Links */
.chamber-practice-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.chamber-practice-links li {
  margin: 0 !important;
  padding: 0 !important;
}
.chamber-practice-links li::before {
  content: none !important;
}
.chamber-practice-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.32rem 0.5rem;
  border-radius: var(--r-sm, 5px);
  color: var(--c-ink, #222);
  text-decoration: none;
  font-size: 0.75rem;
  font-weight: 500;
  transition: all 0.15s ease;
  border: 1px solid transparent;
}
.chamber-practice-links a:hover {
  background: var(--c-brand-tint, #f2f7f4);
  color: var(--c-brand, #0e2a1e);
  border-color: rgba(14, 42, 30, 0.12);
  padding-inline-start: 0.75rem;
}
.chamber-link-arrow {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--c-gold, #c5a059);
}
.chamber-practice-all {
  margin-top: 0.5rem;
  padding-top: 0.45rem;
  border-top: 1px dashed var(--c-border-soft, #ebe7df);
  text-align: center;
}
.chamber-practice-all a {
  font-size: 0.73rem;
  font-weight: 700;
  color: var(--c-brand, #0e2a1e);
  text-decoration: none;
}
.chamber-practice-all a:hover {
  color: var(--c-gold-dark, #8b6b23);
  text-decoration: underline;
}

/* ৪. Territorial Reach & Court Jurisdiction */
.chamber-jurisdiction-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.chamber-jurisdiction-item {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.chamber-j-badge {
  flex: 0 0 auto;
  font-size: 0.6rem;
  font-weight: 700;
  padding: 0.18rem 0.4rem;
  background: var(--c-brand-tint, #eef5f1);
  color: var(--c-brand, #0e2a1e);
  border: 1px solid rgba(14, 42, 30, 0.15);
  border-radius: 4px;
  white-space: nowrap;
  line-height: 1.2;
  margin-top: 0.1rem;
}
.chamber-j-desc {
  flex: 1;
  min-width: 0;
}
.chamber-j-desc strong {
  display: block;
  font-size: 0.74rem;
  color: var(--c-ink, #222);
  line-height: 1.3;
}
.chamber-j-desc p {
  font-size: 0.68rem;
  color: var(--c-ink-soft, #666);
  margin: 0.1rem 0 0;
  line-height: 1.35;
}

/* Dark Mode Overrides for Chamber Sidebar */
:root[data-theme="dark"] .widget--chamber-profile {
  background: linear-gradient(155deg, #0b2118 0%, #05100b 100%) !important;
  border-color: rgba(184, 155, 94, 0.3) !important;
}
:root[data-theme="dark"] .chamber-widget__title {
  color: #e5e0d4;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
:root[data-theme="dark"] .chamber-location-item {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}
:root[data-theme="dark"] .chamber-location-item__title {
  color: #e5e0d4;
}
:root[data-theme="dark"] .chamber-location-item__address {
  color: #a8a397;
}
:root[data-theme="dark"] .chamber-practice-links a {
  color: #dfdbd0;
}
:root[data-theme="dark"] .chamber-practice-links a:hover {
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
}
:root[data-theme="dark"] .chamber-j-badge {
  background: rgba(184, 155, 94, 0.15);
  color: #dcc48c;
  border-color: rgba(184, 155, 94, 0.25);
}
:root[data-theme="dark"] .chamber-j-desc strong {
  color: #e5e0d4;
}
:root[data-theme="dark"] .chamber-j-desc p {
  color: #a8a397;
}
:root[data-theme="dark"] .chamber-practice-links a {
  color: #dfdbd0;
}
:root[data-theme="dark"] .chamber-practice-links a:hover {
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
}
:root[data-theme="dark"] .chamber-j-badge {
  background: rgba(184, 155, 94, 0.15);
  color: #dcc48c;
  border-color: rgba(184, 155, 94, 0.25);
}
:root[data-theme="dark"] .chamber-j-desc strong {
  color: #e5e0d4;
}
:root[data-theme="dark"] .chamber-j-desc p {
  color: #a8a397;
}

/* ── সূচিপত্র — কন্টেন্টের ভেতরে, একপাশে sticky, ভাঁজ-করা (inc/toc.php) ──
   প্রথম প্যারাগ্রাফের পরে বসে; ভাঁজ অবস্থায় শুধু লেবেল-বোতাম দেখায়। ক্লিকে
   প্যানেল absolute হয়ে নিচে খোলে (লেখা ঠেলে সরায় না); স্ক্রোলে আবার ভাঁজ। */
.toc-inline {
  position: -webkit-sticky;
  position: sticky;
  top: calc(var(--header-h) + 12px);
  z-index: 90;
  width: max-content;
  max-width: min(360px, 100%);
  margin: var(--s-5) 0;
  margin-inline-end: auto; /* একপাশে (শুরুর দিকে) ঘেঁষা */
}
body.admin-bar .toc-inline {
  top: calc(var(--header-h) + 32px + 12px);
}
@media (max-width: 782px) {
  body.admin-bar .toc-inline {
    top: calc(var(--header-h) + 46px + 12px);
  }
}
.toc-inline[hidden] { display: none; }

/* স্মার্ট স্টিকি — কোনো সেকশন বা প্যারাগ্রাফ র্যাপার <div> এর সীমাবদ্ধতা ভেঙে আর্টিকেলে স্থির থাকে */
.toc-inline.is-stuck {
  position: fixed !important;
  top: calc(var(--header-h) + 12px) !important;
  left: var(--toc-left, var(--pad-x, 16px)) !important;
  z-index: 95 !important;
  margin: 0 !important;
  will-change: transform, opacity;
  transition: opacity .2s ease, transform .2s ease;
}
body.admin-bar .toc-inline.is-stuck {
  top: calc(var(--header-h) + 32px + 12px) !important;
}
@media (max-width: 782px) {
  body.admin-bar .toc-inline.is-stuck {
    top: calc(var(--header-h) + 46px + 12px) !important;
  }
}

/* আর্টিকেলের শেষ প্রান্ত পার হয়ে গেলে TOC স্মুথলি হাইড হবে (ফুটার/কমেন্ট্সে ওভারল্যাপ না করতে) */
.toc-inline.is-at-bottom {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-8px);
}

.toc-spacer {
  display: block;
}

.toc-inline__toggle {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .5rem .95rem;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 600;
  color: var(--c-text);
  background: #ffffff;
  border: 1.5px solid var(--c-gold);
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(11, 38, 29, 0.12);
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s, box-shadow .15s;
}
.toc-inline__toggle:hover {
  border-color: var(--c-brand);
  color: var(--c-brand);
  box-shadow: 0 6px 18px rgba(11, 38, 29, 0.18);
}
.toc-inline__toggle:focus-visible { outline: 2px solid var(--c-brand); outline-offset: 2px; }
.toc-inline__icon { width: 18px; height: 18px; flex: none; color: var(--c-gold); }
.toc-inline__label { line-height: 1; }
.toc-inline__chev { width: 15px; height: 15px; flex: none; transition: transform .2s; }
.toc-inline[data-open="true"] .toc-inline__chev { transform: rotate(180deg); }

.toc-inline__panel {
  position: absolute;
  top: calc(100% + .45rem);
  inset-inline-start: 0;
  min-width: 260px;
  max-width: min(380px, 86vw);
  max-height: min(64vh, 560px);
  overflow-y: auto;
  padding: var(--s-3);
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  box-shadow: 0 12px 32px rgba(11, 38, 29, 0.18);
  opacity: 0; visibility: hidden;
  transform: translateY(-.4rem);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  z-index: 95;
}
.toc-inline[data-open="true"] .toc-inline__panel {
  opacity: 1; visibility: visible; transform: none;
}

.toc-inline__panel ol { list-style: none; margin: 0; padding: 0; }
.toc-inline__panel li { margin: 0; }
.toc-inline__panel a {
  display: block; padding: .42em .6em;
  border-inline-start: 2px solid var(--c-border);
  color: var(--c-text-soft); font-size: var(--t-sm); line-height: 1.55;
  text-decoration: none;
}
.toc-inline__panel a:hover { background: var(--c-bg-alt); color: var(--c-brand); }
.toc-inline__panel .is-active a {
  border-inline-start-color: var(--c-gold);
  color: var(--c-brand); font-weight: 600;
  background: var(--c-brand-tint);
}
.toc-inline__panel .toc-h3 a { padding-inline-start: 1.5em; font-size: var(--t-xs); }

:root[data-theme="dark"] .toc-inline__toggle,
:root:not([data-theme="light"]) .toc-inline__toggle {
  background: var(--c-ink);
  color: #ffffff;
  border-color: var(--c-gold-bright);
}
:root[data-theme="dark"] .toc-inline__panel,
:root:not([data-theme="light"]) .toc-inline__panel {
  background: var(--c-ink);
  border-color: rgba(184, 155, 94, .3);
}

@media (prefers-reduced-motion: reduce) {
  .toc-inline__panel, .toc-inline__chev { transition: none; }
}

/* ═══ ১০. ফুটার ════════════════════════════════════════════════════════ */

.site-footer {
  background: var(--c-footer-bg, var(--c-ink, #0b261d));
  color: var(--c-footer-text, #f5f3ed);
  font-size: var(--t-sm);
  margin-top: var(--s-9);
}
.site-footer__top {
  display: grid; gap: var(--s-6);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  padding-block: clamp(2.5rem, 6vw, 4.5rem) var(--s-6);
}
.site-footer :is(h2, h3) {
  color: var(--c-footer-heading, var(--c-gold, #b89b5e));
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 700;
  margin-bottom: var(--s-4);
}
.site-footer a { color: var(--c-footer-text, #f5f3ed); text-decoration: none; }
.site-footer a:hover { color: var(--c-gold, #b89b5e); text-decoration: underline; }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
/* এলাকা-চিপ মেনুর মতো এক কলামে দাঁড়াবে না — পেজের বাকি অংশের মতোই
   অনুভূমিক সারি। নিচের রুলটি .site-footer ul-কে হারায় (spec: 0-2-0)। */
.site-footer .area-chips { display: flex; flex-wrap: wrap; }
.site-footer__brand .brand__name { color: #f5f3ed; }
.site-footer__brand .brand__tag { color: var(--c-gold); }
.site-footer__about { margin: var(--s-4) 0 0; line-height: 1.85; color: #e2ded3; max-width: 40ch; }

.footer-contact { display: grid; gap: var(--s-3); }
.footer-contact div { display: flex; gap: .6em; align-items: start; }
.footer-contact strong { color: var(--c-gold); font-weight: 500; }
.footer-contact svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: .18em; opacity: .9; color: var(--c-gold); }
.footer-contact address { font-style: normal; margin: 0; } /* <address>-এর ডিফল্ট ইটালিক বাদ */

.social { display: flex; gap: var(--s-2); margin-top: var(--s-4); }
.social a {
  display: grid; place-items: center; width: 38px; height: 38px;
  border: 1px solid rgba(184, 155, 94, .35); border-radius: var(--r-sm);
  color: var(--c-gold);
  transition: all var(--dur) var(--ease);
}
.social a:hover { background: var(--c-gold); border-color: var(--c-gold); color: #0b261d; }
.social svg { width: 17px; height: 17px; }

/* সেবার এলাকা — লেবেল ও চিপ এক সারিতে, ঠিক কোলামেনুর নীচে একটি
   আলাদা ফিতার মতো। আগে এখানে screen-reader লেবেল আর উপর-নিচে
   দাঁড়ানো চিপের লম্বা স্তূপ পড়ত, যা ফুটারের শেষ অংশকে ভাঙা দেখাত। */
.site-footer__areas {
  border-top: 1px solid rgba(184, 155, 94, .25);
  padding-block: var(--s-5);
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--s-3) var(--s-6);
}
.site-footer__areas .areas-label {
  margin: 0; flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: .5em;
  color: var(--c-gold); letter-spacing: 0;
}
.site-footer__areas .areas-label svg { opacity: .9; color: var(--c-gold); }
.site-footer__areas .area-chips { margin: 0; flex: 1 1 auto; }
.site-footer__areas .area-chips a { padding: .35em .9em; font-size: var(--t-xs); }

.site-footer__bottom {
  border-top: 1px solid rgba(184, 155, 94, .25);
  padding-block: var(--s-5);
  display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5);
  align-items: center; justify-content: space-between;
  font-size: var(--t-xs); color: #7b827c;
}
.site-footer__bottom a { color: #f5f3ed; }
.site-footer__bottom a:hover { color: var(--c-gold); }
.site-footer__bottom ul { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4); }
.site-footer__bottom p { margin: 0; }

.disclaimer {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(184, 155, 94, .2);
  border-radius: var(--r-md);
  padding: var(--s-4);
  font-size: var(--t-xs);
  line-height: 1.8;
  color: #7b827c;
  margin-top: var(--s-5);
}

/* — নিউজলেটার: site-footer__top-এর নিচে পুরো-চওড়া ফিতা — বাঁয়ে কথা,
   ডানে ফর্ম। কলাম-গ্রিডে ফেললে একা এক কলামে পড়ে খালি লাগত। ইনপুট
   ডার্ক-ভেরিয়েন্ট: কালির উপরে হালকা সাদা ঘর, সোনালি ফোকাস-রিং। ফর্মের
   গঠন inc/newsletter.php-এ; বার্তা ও নোট ফর্ম-গ্রিডে নিচে নামে। */
.site-footer__nl {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(184, 155, 94, .25);
  padding-top: var(--s-6);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 400px);
  gap: var(--s-3) var(--s-7);
  align-items: center;
}
.site-footer__nl h2 { margin-bottom: 0; }
.site-footer__nl p { margin: 0; line-height: 1.8; color: #7b827c; max-width: 52ch; }
.site-footer__nl .nl-form { grid-column: 2; grid-row: 1 / span 2; }
@media (max-width: 700px) {
  .site-footer__nl { grid-template-columns: 1fr; }
  .site-footer__nl .nl-form { grid-column: 1; grid-row: auto; }
}

.nl-form { display: grid; gap: var(--s-2); }
/* ইমেইল + সাবস্ক্রাইব এক লাইনে — ইনপুট প্রসারিত, বোতাম মাপমতো। খুব সরু
   পর্দায় বোতাম নিচে নেমে যায়, নইলে চাপাচাপি হতো। */
.nl-form__row { display: flex; gap: var(--s-2); align-items: stretch; }
.nl-form input[type="email"] {
  flex: 1 1 auto; min-width: 0; padding: .6em .9em;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.2); border-radius: var(--r-sm);
  /* iOS zooms on focus below 16px; max() keeps ≥16px yet scales up if --t-sm grows. */
  color: #fff; font: inherit; font-size: max(16px, var(--t-sm));
}
.nl-form input[type="email"]::placeholder { color: #8f9a8f; }
.nl-form input[type="email"]:focus {
  outline: 2px solid var(--c-gold); outline-offset: 1px; border-color: var(--c-gold);
}
.nl-form__row .btn { flex: none; white-space: nowrap; font-size: var(--t-xs); padding: .6em 1.3em; }
@media (max-width: 360px) { .nl-form__row { flex-wrap: wrap; } .nl-form__row .btn { width: 100%; } }
.nl-form__msg {
  margin: 0; padding: .5em .8em; font-size: var(--t-xs);
  background: rgba(201, 174, 116,.12);
  border: 1px solid rgba(201, 174, 116,.35); border-radius: var(--r-sm);
  color: #dcc48c;
}
.nl-form__note { margin: 0; font-size: var(--t-xs); color: #8f9a8f; }

/* ═══ ১১. আর্কাইভ · সার্চ · ৪০৪ ════════════════════════════════════════ */

.page-hero {
  background: var(--c-brand-tint);
  border-bottom: 1px solid var(--c-border);
  padding-block: clamp(2rem, 5vw, 3.5rem);
}
.page-hero h1 { margin-bottom: var(--s-3); }
.page-hero .lede { max-width: 62ch; }
.archive-count { font-family: var(--f-ui); font-size: var(--t-sm); color: var(--c-text-mute); }

.post-list { display: grid; gap: var(--s-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.post-list--rows { grid-template-columns: 1fr; }
.post-list--rows .card { flex-direction: row; align-items: start; gap: var(--s-5); }
.post-list--rows .card__thumb { flex: 0 0 clamp(90px, 22vw, 170px); }
.post-list--rows .card__thumb img { border-radius: var(--r-md); aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 560px) { .post-list--rows .card { flex-direction: column; } .post-list--rows .card__thumb { flex-basis: auto; } }

.pagination { margin-top: var(--s-7); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--s-2); justify-content: center; }
.pagination :is(a, span) {
  display: grid; place-items: center;
  min-width: 42px; height: 42px; padding-inline: .7em;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 600;
  border: 1px solid var(--c-border); border-radius: var(--r-md);
  color: var(--c-ink-soft); text-decoration: none; background: #fff;
}
.pagination a:hover { border-color: var(--c-brand); background: var(--c-brand-light); color: var(--c-brand); }
.pagination .current { background: var(--c-brand); border-color: var(--c-brand); color: #fff; }
.pagination .dots { border-color: transparent; background: none; }

.search-form { display: flex; gap: var(--s-2); }
.search-form label { flex: 1 1 auto; }
.search-form input[type="search"] {
  width: 100%;
  font-family: var(--f-body); font-size: var(--t-base);
  padding: .78em 1.1em;
  border: 1px solid var(--c-border); border-radius: var(--r-md);
  background: #fff; color: var(--c-text);
}
.search-form input[type="search"]:focus-visible { border-color: var(--c-brand); box-shadow: var(--sh-focus); outline: none; }
.search-form .btn { flex: 0 0 auto; }

.no-results { max-width: 62ch; }

/* — কমেন্ট / প্রশ্নোত্তর — */
.comments {
  max-width: var(--w-prose);
  margin-top: var(--s-8);
  padding-top: var(--s-6);
  border-top: 1px solid var(--c-border);
}
.comments__title { font-size: var(--t-xl); margin-bottom: var(--s-5); }
.comments__closed {
  font-family: var(--f-ui); font-size: var(--t-sm);
  color: var(--c-text-mute);
  background: var(--c-bg-alt); border-radius: var(--r-md);
  padding: var(--s-4);
}

.comment-list, .comment-list .children { list-style: none; margin: 0; padding: 0; }
.comment-list .children { padding-inline-start: clamp(.75rem, 4vw, 2.25rem); margin-top: var(--s-4); }
.comment-list li { margin-bottom: var(--s-5); }
.comment-body {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
}
.comment-author { display: flex; align-items: center; gap: var(--s-3); font-family: var(--f-ui); }
.comment-author img { border-radius: var(--r-full); }
.comment-author .fn { font-weight: 600; font-style: normal; color: var(--c-ink); }
.comment-author .says { display: none; }
.comment-metadata {
  font-family: var(--f-ui); font-size: var(--t-xs);
  color: var(--c-text-mute); margin-block: var(--s-2) var(--s-3);
}
.comment-metadata a { color: inherit; text-decoration: none; }
.comment-content > :last-child { margin-bottom: 0; }
.comment-content p { font-size: var(--t-sm); line-height: var(--lh-body); }
.reply { margin-top: var(--s-3); }
.reply a {
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 600;
  color: var(--c-brand-mid); text-decoration: none;
}
.reply a:hover { text-decoration: underline; }
.comment .comment-awaiting-moderation {
  display: block; font-family: var(--f-ui); font-size: var(--t-xs);
  color: var(--c-warn); background: var(--c-warn-bg);
  border-radius: var(--r-sm); padding: .4em .7em; margin-bottom: var(--s-3);
}
.bypostauthor > .comment-body { border-inline-start: 3px solid var(--c-gold); }

.comment-respond { margin-top: var(--s-7); }
.comment-reply-title { font-size: var(--t-lg); margin-bottom: var(--s-3); }
.comment-reply-title small { font-size: var(--t-xs); font-weight: 400; margin-inline-start: .5em; }
.comment-notes {
  font-family: var(--f-ui); font-size: var(--t-xs); line-height: 1.75;
  color: var(--c-text-soft);
  background: var(--c-gold-light); border: 1px solid #f1e7d0;
  border-radius: var(--r-md); padding: var(--s-4);
  margin-bottom: var(--s-5);
}
.comment-form { display: grid; gap: var(--s-4); }
.comment-form label {
  display: block; font-family: var(--f-ui); font-size: var(--t-sm);
  font-weight: 600; color: var(--c-ink-soft); margin-bottom: var(--s-2);
}
.comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
  width: 100%;
  font-family: var(--f-body); font-size: var(--t-base); line-height: var(--lh-body);
  color: var(--c-text); background: #fff;
  border: 1px solid var(--c-border); border-radius: var(--r-md);
  padding: .7em .9em;
}
.comment-form :is(input, textarea):focus-visible {
  border-color: var(--c-brand); box-shadow: var(--sh-focus); outline: none;
}
.comment-form textarea { resize: vertical; min-height: 8rem; }
.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: var(--s-2); }
.comment-form-cookies-consent label { font-weight: 400; font-size: var(--t-xs); margin: 0; }
.comment-form-cookies-consent input { margin-top: .3em; }
.form-submit { margin: 0; }
@media (min-width: 640px) {
  .comment-form {
    grid-template-columns: 1fr 1fr;
  }
  .comment-form :is(.comment-form-comment, .comment-notes, .comment-form-cookies-consent, .form-submit, .comment-form-url) {
    grid-column: 1 / -1;
  }
}

.error-404 { text-align: center; padding-block: var(--s-9); }
.error-404__code {
  font-family: var(--f-head); font-weight: 700;
  font-size: clamp(4rem, 16vw, 9rem); line-height: .9;
  color: var(--c-brand-light); letter-spacing: -.04em;
  margin-bottom: var(--s-4);
}
.error-404 .search-form { max-width: 460px; margin: var(--s-6) auto; }
.helpful-links { display: flex; flex-wrap: wrap; gap: var(--s-2); justify-content: center; list-style: none; padding: 0; }

/* ═══ ১২. অ্যাক্সেসিবিলিটি · প্রিন্ট · ডার্ক · আইকন ════════════════════ */

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  white-space: nowrap; word-wrap: normal;
}
.screen-reader-text:focus {
  position: static !important; width: auto; height: auto;
  clip: auto; clip-path: none;
  display: inline-block; padding: .6em 1em; background: #fff;
}

/* আইকন মাস্ক (SVG ইনলাইন — বাইরের রিকোয়েস্ট নেই) */
:root {
  --icon-link: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-1 1'/%3E%3Cpath d='M14 11a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l1-1'/%3E%3C/svg%3E");
  /* গ্লোব — ভাষা-সুইচের সামনে (মাস্ক হিসেবে বসে, তাই রঙ CSS থেকে আসে)। */
  --icon-globe: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.6 2.7 2.6 15.3 0 18M12 3c-2.6 2.7-2.6 15.3 0 18'/%3E%3C/svg%3E");
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .card:hover, .btn:hover { transform: none; }
}

@media print {
  .topbar, .site-header, .nav-drawer, .site-footer, .sidebar,
  .share, .post-nav, .read-progress, .related-reading, .breadcrumbs { display: none !important; }
  body { font-size: 11.5pt; line-height: 1.6; color: #000; background: #fff; }
  .entry-content { max-width: none; }
  .entry-content :is(h2, h3, h4) { page-break-after: avoid; }
  .entry-content :is(table, figure, .faq-item, blockquote) { page-break-inside: avoid; }
  .entry-content a::after { content: " (" attr(href) ")"; font-size: 9pt; color: #444; word-break: break-all; }
  .entry-content a[href^="#"]::after, .entry-content a[href^="javascript"]::after { content: ""; }
  .table-scroll { overflow: visible; border: 0; background: none; }
  details { open: open; }
  details > :not(summary) { display: block !important; }
}

/* ডার্ক মোড — সিস্টেম প্রেফারেন্স মেনে */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --c-text:        #e7ede9;
    --c-text-soft:   #aab4aa;
    --c-text-mute:   #8f9a8f;
    --c-heading:     #f5f3ed;
    --c-ink-soft:    #e7ede9;
    --c-bg:          #0b261d;
    --c-bg-alt:      #0f3025;
    --c-border:      #1d4a39;
    --c-border-soft: #153c2d;
    --c-brand-light: #123a2c;
    --c-brand-tint:  #0b261d;
    --c-brand-mid:   #c9ae74;
    --c-gold-deep:   #c9ae74;
    --c-focus:       #c9ae74;
  }
  :root:not([data-theme="light"]) .site-header { background: rgba(11, 38, 29, .9); }
  :root:not([data-theme="light"]) :is(.card, .widget, .faq-item, .sc-step,
    .entry-content details, .entry-content table, .post-nav a,
    .pagination :is(a, span), .area-chips a, .share a, .search-form input) {
    background: var(--c-bg-alt);
  }
  :root:not([data-theme="light"]) .entry-content th { background: #123a2c; }
  :root:not([data-theme="light"]) .entry-content tbody tr:nth-child(even) { background: #0b261d; }
  :root:not([data-theme="light"]) .related-reading {
    background: linear-gradient(160deg, #123a2c, var(--c-bg-alt) 70%);
  }
  :root:not([data-theme="light"]) .related-reading a:hover { background: #153c2d; }
  :root:not([data-theme="light"]) .table-scroll {
    background:
      linear-gradient(to right, var(--c-bg) 30%, rgba(11, 38, 29,0)) left / 40px 100% no-repeat,
      linear-gradient(to left,  var(--c-bg) 30%, rgba(11, 38, 29,0)) right / 40px 100% no-repeat;
    background-attachment: local, local;
  }
  :root:not([data-theme="light"]) :is(.comment-body, .comment-form input, .comment-form textarea) {
    background: var(--c-bg-alt);
  }
  :root:not([data-theme="light"]) .comment-notes {
    background: #1d1a10; border-color: #3a3118;
  }
  :root:not([data-theme="light"]) .toc-container {
    background: var(--c-bg-alt) !important;
  }
  :root:not([data-theme="light"]) .toc-container a { color: var(--c-text-soft) !important; }
  :root:not([data-theme="light"]) .nav-drawer__panel { background: var(--c-bg); }
}

/* ═══ ১৩. ইন্টারঅ্যাকটিভ ফিচার ══════════════════════════════════════════
   চারটি ফিচারই সম্পূর্ণ ক্লায়েন্ট-সাইড। কোনো সার্ভার, কোনো ডেটাবেস,
   কোনো তথ্য-সংরক্ষণ নেই — ব্যবহারকারীর দেওয়া তথ্য শুধু তার নিজের
   ব্রাউজারে থাকে, আর সে নিজে পাঠাতে চাইলে WhatsApp/ইমেইল খোলে।
   আইনজীবীর সাইটে গোপনীয়তার জন্য এটাই নিরাপদ কাঠামো।
   ১৩.১ কমান্ড প্যালেট (⌘K)      ১৩.৫ স্টিকি অ্যাকশন বার
   ১৩.২ মামলা-মূল্যায়ন উইজার্ড   ১৩.৬ স্ক্রল-রিভিল
   ১৩.৩ ক্যালকুলেটর              ১৩.৭ মেগা মেনু ও ভাষা সুইচ
   ১৩.৪ অ্যাপয়েন্টমেন্ট বুকিং     ১৩.৮ ডার্ক মোড সম্পূরক
   ═══════════════════════════════════════════════════════════════════════ */

/* ── ১৩.১ কমান্ড প্যালেট ──────────────────────────────────────────── */

/* গোল আইকন-বোতাম — থিম-টগলের সঙ্গে মানানসই, শুধু ম্যাগনিফাইং-গ্লাস। */
.cmdk-trigger {
  display: inline-grid; place-items: center;
  width: 34px; height: 34px; flex: 0 0 auto; padding: 0;
  background: transparent;
  border: 1px solid var(--c-border);
  border-radius: var(--r-full, 999px);
  color: var(--c-text-mute); cursor: pointer;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.cmdk-trigger:hover { border-color: var(--c-brand); color: var(--c-brand); background: var(--c-brand-tint); }
.cmdk-trigger:focus-visible { outline: 2px solid var(--c-brand); outline-offset: 2px; }
.cmdk-trigger svg { width: 18px; height: 18px; }

.cmdk[hidden] { display: none; }
.cmdk {
  position: fixed; inset: 0; z-index: 300;
  display: grid; align-items: start; justify-items: center;
  padding: clamp(1rem, 9vh, 7rem) var(--s-4) var(--s-4);
  background: rgba(11, 38, 29, .58);
  backdrop-filter: blur(3px);
  animation: sp-fade .18s var(--ease);
}
@keyframes sp-fade { from { opacity: 0; } }

.cmdk__dialog {
  width: min(100%, 620px);
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-lg);
  overflow: hidden;
  display: flex; flex-direction: column;
  max-height: min(70vh, 560px);
}
@media (prefers-reduced-motion: no-preference) {
  .cmdk__dialog { animation: sp-cmdk-pop .2s var(--ease); transform-origin: top center; }
  @keyframes sp-cmdk-pop { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
}
.cmdk__bar {
  display: flex; align-items: center; gap: var(--s-3);
  padding: var(--s-4) var(--s-5);
  border-bottom: 1px solid var(--c-border);
}
.cmdk__bar svg { width: 19px; height: 19px; color: var(--c-text-mute); flex: 0 0 auto; }
.cmdk__input {
  flex: 1 1 auto; border: 0; background: none; outline: none;
  font-family: var(--f-ui); font-size: var(--t-lg); color: var(--c-text);
}
.cmdk__input::placeholder { color: var(--c-text-mute); }
.cmdk__esc {
  font-family: var(--f-ui); font-size: .72rem; font-weight: 600;
  background: var(--c-bg-alt); border: 1px solid var(--c-border);
  border-radius: var(--r-sm); padding: .18em .5em; color: var(--c-text-mute);
  cursor: pointer;
}

.cmdk__results { overflow-y: auto; padding: var(--s-2); margin: 0; list-style: none; scroll-padding: var(--s-6) 0; }
.cmdk__group {
  display: flex; align-items: center; gap: .5em;
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 700;
  letter-spacing: .01em; text-transform: none;
  color: var(--c-text-mute);
  padding: var(--s-3) var(--s-3) var(--s-2);
}
.cmdk__group:not(:first-child) { margin-top: var(--s-2); }
.cmdk__count {
  font-weight: 600; font-size: .68rem;
  background: var(--c-bg-alt); color: var(--c-text-mute);
  border-radius: var(--r-full, 999px); padding: .05em .55em; line-height: 1.5;
}
.cmdk__item a {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center; gap: var(--s-3);
  padding: .5em .6em; border-radius: var(--r-md);
  text-decoration: none; color: var(--c-ink);
  font-family: var(--f-ui); font-size: var(--t-sm);
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
/* আইকন-ব্যাজ — নরম টিন্টেড বৃত্তে, তালিকাটা সাজানো ও প্রিমিয়াম দেখায়। */
.cmdk__ic {
  display: grid; place-items: center;
  width: 30px; height: 30px; flex: 0 0 auto;
  border-radius: var(--r-md);
  background: var(--c-brand-tint); color: var(--c-brand);
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.cmdk__ic .cmdk__ico { width: 16px; height: 16px; color: inherit; }
.cmdk__t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cmdk__go {
  width: 15px; height: 15px; color: var(--c-brand);
  opacity: 0; transform: translateX(-4px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.cmdk__item[aria-selected="true"] a,
.cmdk__item a:hover {
  background: var(--c-brand-light);
  color: var(--c-brand);
  box-shadow: inset 2px 0 0 var(--c-gold);
}
.cmdk__item[aria-selected="true"] .cmdk__ic,
.cmdk__item a:hover .cmdk__ic { background: var(--c-brand); color: #fff; }
.cmdk__item[aria-selected="true"] .cmdk__go { opacity: 1; transform: none; }
.cmdk__item mark { background: var(--c-gold-light); color: var(--c-gold-deep); border-radius: 2px; padding: 0 .1em; font-weight: 700; }
.cmdk__kind {
  font-size: var(--t-xs); color: var(--c-text-mute);
  border: 1px solid var(--c-border); border-radius: var(--r-sm); padding: .08em .45em;
  white-space: nowrap;
}
.cmdk__ico { width: 17px; height: 17px; color: var(--c-text-mute); }
.cmdk__empty { padding: var(--s-6) var(--s-5); text-align: center; color: var(--c-text-mute); font-size: var(--t-sm); }
.cmdk__empty-msg { margin: 0; }
.cmdk__all {
  display: inline-flex; align-items: center; gap: .4em;
  margin-top: var(--s-4);
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 600;
  color: var(--c-brand); text-decoration: none;
  border: 1px solid var(--c-border); border-radius: var(--r-full, 999px);
  padding: .4em 1em;
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.cmdk__all:hover { border-color: var(--c-brand); background: var(--c-brand-tint); }
/* ফল আসার সময় মৃদু উঠে আসা — শুধু motion চালু থাকলে। */
@media (prefers-reduced-motion: no-preference) {
  .cmdk__item { animation: sp-cmdk-in .22s var(--ease) both; }
  @keyframes sp-cmdk-in { from { opacity: 0; transform: translateY(3px); } }
}
.cmdk__foot {
  border-top: 1px solid var(--c-border);
  padding: .55rem var(--s-5);
  display: flex; flex-wrap: wrap; gap: var(--s-4);
  font-family: var(--f-ui); font-size: var(--t-xs); color: var(--c-text-mute);
}
.cmdk__foot kbd {
  font-family: inherit; background: var(--c-bg-alt);
  border: 1px solid var(--c-border); border-radius: var(--r-sm);
  padding: .05em .35em; margin-inline-end: .3em;
}

/* ── ১৩.২ মামলা-মূল্যায়ন উইজার্ড ─────────────────────────────────── */

.intake {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-sm);
}
.intake__head {
  padding: var(--s-5) clamp(1.25rem, 3vw, 2rem) var(--s-4);
  border-bottom: 1px solid var(--c-border);
}
.intake__head h2 { font-size: var(--t-xl); margin: 0 0 .3rem; }
.intake__head p { font-size: var(--t-sm); color: var(--c-text-soft); margin: 0; }

.intake__progress { display: flex; gap: .3rem; margin-top: var(--s-4); }
.intake__progress span {
  flex: 1 1 0; height: 3px; border-radius: 2px;
  background: var(--c-border);
  transition: background-color .3s var(--ease);
}
.intake__progress span.is-done { background: var(--c-gold); }

.intake__body { padding: clamp(1.25rem, 3vw, 2rem); }
.intake__step[hidden] { display: none; }
/* JS আসার আগে সব ধাপ একসঙ্গে দেখায় (লম্বা একটি সাধারণ ফর্ম) — .is-stepped
   আসার পরই ধাপে ভাগ হয়। তাই নির্বাচিত ধাপ ছাড়া বাকিগুলো লুকায়। */
.intake.is-stepped .intake__step[hidden] { display: none; }
.intake.is-stepped .intake__step:not([hidden]) { display: block; }
/* স্ক্রিপ্ট বন্ধ থাকলে সারসংক্ষেপ নিজে তৈরি হবে না — সেই বার্তাটি তখনই দেখায়। */
.intake__nojs { display: none; }
.intake:not(.is-stepped) .intake__nojs { display: block; }
.intake__q { font-family: var(--f-display); font-size: var(--t-lg); font-weight: 700; margin: 0 0 var(--s-4); color: var(--c-ink); }

.intake__opts { display: grid; gap: var(--s-3); border: 0; margin: 0; padding: 0; }
@media (min-width: 620px) { .intake__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.intake__opts legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.intake__opt { position: relative; display: block; cursor: pointer; }
.intake__opt input {
  position: absolute; opacity: 0; width: 1px; height: 1px;
}
.intake__opt span {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-3);
  align-items: center;
  padding: .85em 1em;
  border: 1px solid var(--c-border); border-radius: var(--r-md);
  font-family: var(--f-ui); font-size: var(--t-sm); color: var(--c-ink-soft);
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.intake__opt span::before {
  content: ""; width: 1.05em; height: 1.05em; flex: 0 0 auto;
  border: 1.5px solid var(--c-border); border-radius: 50%;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.intake__opt:hover span { border-color: var(--c-brand-light); background: var(--c-brand-tint); }
.intake__opt input:checked + span {
  border-color: var(--c-gold); background: var(--c-gold-light); color: var(--c-gold-deep); font-weight: 600;
}
.intake__opt input:checked + span::before {
  border-color: var(--c-gold); box-shadow: inset 0 0 0 3.5px var(--c-gold);
}
.intake__opt input:focus-visible + span { outline: 2px solid var(--c-focus); outline-offset: 2px; }

.intake__field { display: grid; gap: var(--s-2); }
.intake__field label { font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 600; color: var(--c-ink-soft); }
.intake__field :is(input, textarea, select) {
  width: 100%;
  font-family: var(--f-body); font-size: var(--t-base); line-height: var(--lh-body);
  color: var(--c-text); background: var(--c-bg);
  border: 1px solid var(--c-border); border-radius: var(--r-md);
  padding: .68em .9em;
}
.intake__field :is(input, textarea, select):focus-visible {
  border-color: var(--c-brand); box-shadow: var(--sh-focus); outline: none;
}
.intake__field textarea { resize: vertical; min-height: 6.5rem; }
.intake__hint { font-family: var(--f-ui); font-size: var(--t-xs); color: var(--c-text-mute); margin: 0; }

/* সারসংক্ষেপ — পাঠানোর আগে ব্যবহারকারী নিজে দেখে নেয় */
.intake__review { margin: 0; display: grid; gap: 0; }
.intake__review div {
  display: grid; grid-template-columns: minmax(7rem, auto) minmax(0, 1fr);
  gap: var(--s-4); padding-block: .6rem;
  border-bottom: 1px dashed var(--c-border);
  font-size: var(--t-sm);
}
.intake__review dt {
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 600;
  color: var(--c-text-mute);
}
.intake__review dd { margin: 0; color: var(--c-ink-soft); }

.intake__nav {
  display: flex; flex-wrap: wrap; gap: var(--s-3);
  align-items: center; justify-content: space-between;
  margin-top: var(--s-6);
}
.intake__back {
  background: none; border: 0; cursor: pointer;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 600;
  color: var(--c-text-mute); padding: .5em .2em;
}
.intake__back:hover { color: var(--c-brand); }
.intake__back[hidden] { display: none; }

.intake__privacy {
  display: flex; gap: var(--s-3); align-items: flex-start;
  background: var(--c-bg-alt);
  border-inline-start: 3px solid var(--c-gold);
  padding: var(--s-4);
  margin-top: var(--s-5);
  font-family: var(--f-ui); font-size: var(--t-xs); line-height: 1.8;
  color: var(--c-text-soft);
}
.intake__privacy svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--c-gold-deep); margin-top: .15em; }

/* ── ১৩.৩ ক্যালকুলেটর ────────────────────────────────────────────── */

.calc { border: 1px solid var(--c-border); border-radius: var(--r-xl); overflow: hidden; background: var(--c-bg); }
.calc__tabs { display: flex; border-bottom: 1px solid var(--c-border); background: var(--c-bg-alt); }
.calc__tab {
  flex: 1 1 0;
  background: none; border: 0; cursor: pointer;
  padding: .95em .8em;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 600;
  color: var(--c-text-mute);
  border-bottom: 2px solid transparent;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.calc__tab[aria-selected="true"] {
  color: var(--c-brand); background: var(--c-bg);
  border-bottom-color: var(--c-gold);
}
.calc__panel { padding: clamp(1.25rem, 3vw, 2rem); }
.calc__panel[hidden] { display: none; }
/* JS আসার আগে দুটো ট্যাবই ঝুলে থাকলে বিভ্রান্তি হয় — .is-live আসার পরই
   শুধু নির্বাচিত প্যানেলটি দেখায়। */
.calc:not(.is-live) .calc__panel[hidden] { display: block; }
.calc:not(.is-live) .calc__tabs { display: none; }
/* .is-live আসার পর ট্যাব হাতেই বদলানোর সুযোগ থাকে, তাই সব প্যানেল
   বন্ধই থাকে — নির্বাচিতটি JS-ই খোলে। */
.calc.is-live .calc__panel[hidden] { display: none; }
.calc__grid { display: grid; gap: var(--s-4); }
@media (min-width: 640px) { .calc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.calc__out {
  margin-top: var(--s-5);
  background: var(--c-ink); color: #e2ded3;
  border-radius: var(--r-lg);
  padding: var(--s-5);
}
.calc__out dl { margin: 0; display: grid; gap: var(--s-3); }
.calc__out div { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: baseline; justify-content: space-between; }
.calc__out dt { font-family: var(--f-ui); font-size: var(--t-sm); color: #8a938a; }
.calc__out dd {
  margin: 0; font-family: var(--f-display); font-weight: 700;
  font-size: var(--t-lg); color: #fff;
}
.calc__out div.is-total { border-top: 1px solid rgba(255,255,255,.16); padding-top: var(--s-3); }
.calc__out div.is-total dd { font-size: var(--t-2xl); color: var(--c-gold-bright); }
.calc__out--warn { background: #7a2d2b; }
.calc__out--warn dt { color: #e8cfce; }

.calc__note {
  display: flex; gap: var(--s-3); align-items: flex-start;
  margin-top: var(--s-5);
  background: var(--c-warn-bg);
  border: 1px solid #f1e7d0;
  border-radius: var(--r-md);
  padding: var(--s-4);
  font-family: var(--f-ui); font-size: var(--t-xs); line-height: 1.8;
  color: var(--c-warn);
}
.calc__note svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: .15em; }
.calc__note b { display: block; color: var(--c-ink); }

/* শর্টকোড দিয়ে বসালে the_content ফিল্টার ইনলাইন style ছেঁটে দেয়
   (spark_strip_inline_styles), তাই ফাঁক-ফাঁকা সব কিছুই ক্লাসে। */
.calc__from { margin-top: var(--s-3); }
.calc__from:empty { display: none; }
.calc__off-title { font-family: var(--f-head); font-size: var(--t-lg); font-weight: 600; color: var(--c-ink); margin: 0 0 var(--s-3); }
.calc__off-text { font-size: var(--t-sm); color: var(--c-text-soft); margin: 0 0 var(--s-5); max-width: 58ch; }

.intake__field--block { margin-bottom: var(--s-4); }
.intake__send { margin-top: var(--s-6); }

/* ── স্মার্ট ইনটেক ২.০ এনহ্যান্সমেন্ট ── */
.intake__opts--grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-3);
}
@media (min-width: 640px) {
  .intake__opts--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.intake__opt--card span {
  padding: 1.05em 1.15em;
  border-radius: var(--r-lg);
  display: flex;
  align-items: center;
  gap: var(--s-3);
  font-size: var(--t-sm);
  background: var(--c-bg);
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.intake__opt--card b {
  font-family: var(--f-ui);
  font-weight: 600;
  color: var(--c-ink);
}
.intake__opt--urgent span {
  border-color: rgba(169, 68, 66, .35);
}
.intake__opt--urgent input:checked + span {
  border-color: var(--c-danger);
  background: var(--c-danger-bg);
  color: var(--c-danger);
}

/* স্মার্ট রিকমেন্ডেড ডকুমেন্টস চেকলিস্ট */
.intake__docs-preview {
  margin-top: var(--s-5);
  background: var(--c-brand-tint);
  border: 1px solid var(--c-brand-light);
  border-inline-start: 4px solid var(--c-brand-mid);
  border-radius: var(--r-md);
  padding: var(--s-4) var(--s-5);
  animation: sparkFadeIn .25s ease-out;
}
.intake__docs-head {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--f-ui);
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--c-brand-mid);
  margin-bottom: var(--s-3);
}
.intake__docs-head svg {
  width: 18px;
  height: 18px;
  color: var(--c-brand-mid);
}
.intake__docs-list {
  margin: 0 0 var(--s-3);
  padding: 0 0 0 1.25rem;
  display: grid;
  gap: .45rem;
  font-size: var(--t-xs);
  color: var(--c-text);
  line-height: 1.6;
}
.intake__doc-item strong {
  color: var(--c-ink);
}
.intake__doc-note {
  color: var(--c-text-mute);
}
.intake__docs-note {
  margin: 0;
  font-size: var(--t-xs);
  color: var(--c-text-soft);
  font-style: italic;
}

/* জরুরি মাত্রা ও জামিন হটলাইন ব্যানার */
.intake__emergency-box {
  margin-top: var(--s-5);
  background: #fdf2f2;
  border: 1.5px solid #f8b4b4;
  border-radius: var(--r-lg);
  padding: var(--s-4) var(--s-5);
  display: grid;
  gap: var(--s-3);
  animation: sparkShake .35s ease-out;
}
.intake__emergency-head {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--f-ui);
  font-size: var(--t-base);
  font-weight: 700;
  color: #9b1c1c;
}
.intake__emergency-head svg {
  width: 20px;
  height: 20px;
  color: #c81e1e;
}
.intake__emergency-box p {
  margin: 0;
  font-size: var(--t-xs);
  line-height: 1.6;
  color: #771d1d;
}

/* আইনি কেস ব্রিফ কার্ড ও অ্যাকশন বার */
.intake__brief-card {
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  margin-bottom: var(--s-5);
}
.intake__brief-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  padding: .3em .85em;
  background: var(--c-brand-light);
  color: var(--c-brand-mid);
  border-radius: var(--r-pill);
  font-family: var(--f-ui);
  font-size: var(--t-xs);
  font-weight: 700;
  margin-bottom: var(--s-4);
}
.intake__brief-badge svg {
  width: 14px;
  height: 14px;
}
.intake__brief-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  align-items: center;
}

/* ── স্মার্ট ক্যালকুলেটর ৩.০ প্রিমিয়াম এনহ্যান্সমেন্ট ── */
.calc--premium {
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  background: var(--c-bg);
  box-shadow: 0 10px 30px -5px rgba(0,0,0,0.06);
  overflow: hidden;
}

/* প্রিমিয়াম সেগমেন্টেড ট্যাব হেডার */
.calc__tabs {
  display: flex;
  background: linear-gradient(180deg, var(--c-surface) 0%, var(--c-bg-alt) 100%);
  border-bottom: 2px solid var(--c-border);
}
.calc__tab {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: 1.1rem 1.4rem;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  text-align: left;
  transition: all var(--dur) var(--ease);
}
.calc__tab:hover {
  background: rgba(184, 155, 94, 0.05);
}
.calc__tab[aria-selected="true"],
.calc__tab.is-active {
  background: var(--c-bg);
  border-bottom-color: var(--c-gold);
}
.calc__tab-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-lg);
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  color: var(--c-brand);
  flex-shrink: 0;
  transition: all var(--dur) var(--ease);
}
.calc__tab[aria-selected="true"] .calc__tab-icon {
  background: var(--c-brand);
  color: var(--c-gold-bright);
  border-color: var(--c-gold);
  box-shadow: 0 4px 12px rgba(10, 25, 47, 0.2);
}
.calc__tab-icon svg {
  width: 20px;
  height: 20px;
}
.calc__tab-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.calc__tab-title {
  font-family: var(--f-ui);
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--c-ink);
}
.calc__tab[aria-selected="true"] .calc__tab-title {
  color: var(--c-brand);
}
.calc__tab-sub {
  font-size: 11px;
  color: var(--c-text-mute);
}

/* ইনপুট ও প্যারামিটার কনটেইনার কার্ড */
.calc__inputs-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: clamp(1.2rem, 2.5vw, 1.75rem);
  margin-bottom: var(--s-5);
  box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
.calc__card-head {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  margin-bottom: var(--s-4);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--c-border);
}
.calc__card-step-badge {
  width: 28px;
  height: 28px;
  border-radius: var(--r-pill);
  background: var(--c-brand);
  color: var(--c-gold-bright);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--f-ui);
  font-weight: 800;
  font-size: 13px;
  flex-shrink: 0;
  border: 1px solid var(--c-gold);
}
.calc__card-title {
  font-family: var(--f-ui);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 2px;
}
.calc__card-subtitle {
  font-size: 12px;
  color: var(--c-text-mute);
  margin: 0;
}

/* কুইক ফিল্টার চিপস */
.calc__pills-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
  margin-bottom: var(--s-4);
  padding: var(--s-3);
  background: var(--c-bg-alt);
  border-radius: var(--r-lg);
  border: 1px solid var(--c-border);
}
.calc__pills-label {
  font-family: var(--f-ui);
  font-size: 12px;
  font-weight: 600;
  color: var(--c-text);
  margin-right: 4px;
}
.calc__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.calc__pill {
  padding: 4px 12px;
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-pill);
  font-family: var(--f-ui);
  font-size: 12px;
  font-weight: 500;
  color: var(--c-text);
  cursor: pointer;
  transition: all var(--dur) var(--ease);
}
.calc__pill:hover {
  border-color: var(--c-gold);
  color: var(--c-ink);
}
.calc__pill.is-active {
  background: var(--c-brand);
  color: #ffffff;
  border-color: var(--c-brand);
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(10, 25, 47, 0.15);
}

/* ইনপুট ফিল্ড ও গ্রিড */
.calc__fields-box {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}
.calc__label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--f-ui);
  font-size: 13px;
  font-weight: 700;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.calc__label svg {
  width: 16px;
  height: 16px;
  color: var(--c-gold-deep);
}
.calc__select-wrap {
  position: relative;
}
.calc__select {
  width: 100%;
  padding: 10px 14px;
  background: var(--c-bg);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  font-family: var(--f-ui);
  font-size: var(--t-sm);
  color: var(--c-ink);
  font-weight: 600;
  cursor: pointer;
  transition: border-color var(--dur) var(--ease);
}
.calc__select:focus-visible {
  border-color: var(--c-gold);
  outline: none;
  box-shadow: 0 0 0 3px rgba(184, 155, 94, 0.15);
}
.calc__suit-desc {
  margin-top: 6px;
  font-size: 12px;
  color: var(--c-text-mute);
  line-height: 1.6;
}

/* প্যারামিটার ২ কলাম গ্রিড */
.calc__params-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-4);
}
@media (min-width: 640px) {
  .calc__params-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.calc__param-card {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-4);
}
.calc__param-card--full {
  margin-top: var(--s-2);
}

/* স্টিপার ইনপুট */
.calc__stepper {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}
.calc__step-btn {
  width: 38px;
  height: 38px;
  border-radius: var(--r-md);
  border: 1px solid var(--c-border);
  background: var(--c-bg-alt);
  color: var(--c-ink);
  font-family: var(--f-ui);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--dur) var(--ease);
}
.calc__step-btn:hover {
  background: var(--c-gold-light);
  border-color: var(--c-gold);
  color: var(--c-brand);
}
.calc__input-step {
  flex: 1;
  text-align: center;
  padding: 8px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  font-family: var(--f-ui);
  font-size: 16px;
  font-weight: 700;
  color: var(--c-ink);
  background: var(--c-bg);
}
.calc__input-step:focus-visible {
  border-color: var(--c-gold);
  outline: none;
}

/* কুইক প্রিসেট চিপস */
.calc__preset-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
}
.calc__preset-chips--dates {
  margin-top: 10px;
}
.calc__chips-prefix {
  font-size: 12px;
  color: var(--c-text-mute);
  font-weight: 500;
}
.calc__chip {
  padding: 3px 10px;
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: var(--r-sm);
  font-family: var(--f-ui);
  font-size: 11px;
  font-weight: 600;
  color: var(--c-text);
  cursor: pointer;
  transition: all var(--dur) var(--ease);
}
.calc__chip:hover {
  border-color: var(--c-gold);
  color: var(--c-ink);
}
.calc__chip.is-active {
  background: var(--c-gold-light);
  border-color: var(--c-gold);
  color: var(--c-brand);
}
.calc__field-hint {
  font-size: 11px;
  color: var(--c-text-soft);
  margin: 6px 0 0;
  line-height: 1.5;
}

/* কারেন্সি ইনপুট */
.calc__currency-wrap {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-bg);
  overflow: hidden;
}
.calc__currency-sign {
  padding: 8px 12px;
  background: var(--c-bg-alt);
  font-weight: 800;
  color: var(--c-gold-deep);
  border-right: 1px solid var(--c-border);
}
.calc__currency-input {
  flex: 1;
  border: none;
  padding: 9px 12px;
  font-size: 15px;
  font-weight: 700;
  color: var(--c-ink);
  outline: none;
}
.calc__date-input-wrap {
  position: relative;
}
.calc__date-input {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-md);
  font-family: var(--f-ui);
  font-size: var(--t-sm);
  color: var(--c-ink);
  background: var(--c-bg);
}

/* ─── আউটপুট সেকশন: দৃষ্টিনন্দন আইটেমাইজড ব্রেকডাউন টেবিল ─── */
.calc__out--premium {
  background: radial-gradient(circle at top right, #1a2a40 0%, #0d1b2a 100%);
  color: #e2ded3;
  border-radius: var(--r-xl);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(184, 155, 94, 0.35);
  box-shadow: 0 16px 40px rgba(0,0,0,0.18);
  margin-top: var(--s-5);
}
.calc__out-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-3);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid rgba(255,255,255,0.12);
  margin-bottom: var(--s-4);
}
.calc__out-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.calc__table-badge {
  display: inline-block;
  align-self: flex-start;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--c-gold-bright);
}
.calc__out-title {
  font-family: var(--f-ui);
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}
.calc__out-sub {
  font-size: 12px;
  color: #94a3b8;
}
.calc__badge-cite {
  display: inline-block;
  padding: 4px 12px;
  background: rgba(184, 155, 94, 0.2);
  border: 1px solid rgba(184, 155, 94, 0.4);
  color: var(--c-gold-bright);
  font-family: var(--f-ui);
  font-size: 12px;
  font-weight: 600;
  border-radius: var(--r-pill);
}

/* রেসপনসিভ টেবিল ও স্টাইলিং */
.calc__table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-block: var(--s-2) var(--s-4);
}
.calc__breakdown-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-family: var(--f-ui);
  font-size: 13px;
  line-height: 1.5;
}
.calc__breakdown-table thead th {
  padding: 10px 14px;
  background: rgba(255,255,255,0.06);
  font-size: 12px;
  font-weight: 700;
  color: var(--c-gold-bright);
  border-bottom: 2px solid rgba(184, 155, 94, 0.4);
  text-align: left;
}
.calc__breakdown-table thead th.th-amt {
  text-align: right;
}
.calc__breakdown-table tbody td,
.calc__breakdown-table tbody th {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  color: #cbd5e1;
  vertical-align: middle;
}
.calc__breakdown-table tbody tr:hover {
  background: rgba(255,255,255,0.03);
}
.calc__breakdown-table .td-sl {
  width: 48px;
  font-weight: 700;
  color: #64748b;
  font-size: 12px;
}
.calc__breakdown-table .td-head strong {
  display: block;
  color: #ffffff;
  font-weight: 600;
  font-size: 13px;
}
.calc__breakdown-table .td-head .td-note {
  display: block;
  font-size: 11px;
  color: #94a3b8;
  margin-top: 2px;
}
.calc__breakdown-table .td-basis {
  font-size: 12px;
  color: #a0aec0;
}
.calc__breakdown-table .td-amt {
  text-align: right;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
}
.calc__breakdown-table tfoot .tr-total td {
  padding: 16px 14px;
  background: rgba(184, 155, 94, 0.12);
  border-top: 2px solid var(--c-gold);
  border-bottom: none;
}
.calc__total-title-wrap {
  display: flex;
  flex-direction: column;
}
.calc__total-main {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--c-gold-bright);
}
.calc__total-sub {
  font-size: 11px;
  color: #cbd5e1;
}
.calc__grand-total {
  font-size: 1.35rem;
  font-weight: 800;
  color: #ffffff;
  background: linear-gradient(135deg, rgba(184, 155, 94, 0.45) 0%, rgba(184, 155, 94, 0.2) 100%);
  padding: 5px 14px;
  border-radius: var(--r-md);
  border: 1.5px solid var(--c-gold);
  display: inline-block;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/* ─── তামাদি ড্যাশবোর্ড ও মিটার ─── */
.calc__out--limit-board {
  background: radial-gradient(circle at top right, #1a2a40 0%, #0d1b2a 100%);
  color: #e2ded3;
  border-radius: var(--r-xl);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(184, 155, 94, 0.35);
  box-shadow: 0 16px 40px rgba(0,0,0,0.18);
  margin-top: var(--s-5);
}
.calc__meter-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r-lg);
  padding: var(--s-4);
  margin-bottom: var(--s-4);
}
.calc__meter-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-2);
  margin-bottom: var(--s-2);
}
.calc__meter-badge {
  font-family: var(--f-ui);
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--r-pill);
}
.calc__meter-badge--safe {
  background: rgba(34, 197, 94, 0.2);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.4);
}
.calc__meter-badge--warn {
  background: rgba(234, 179, 8, 0.2);
  color: #facc15;
  border: 1px solid rgba(234, 179, 8, 0.4);
}
.calc__meter-badge--urgent {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.4);
}
.calc__meter-badge--expired {
  background: rgba(185, 28, 28, 0.3);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.5);
}
.calc__meter-cite {
  font-size: 11px;
  color: #94a3b8;
}
.calc__meter-val {
  font-family: var(--f-ui);
  font-size: clamp(1.35rem, 3.5vw, 2.1rem);
  font-weight: 800;
  color: #ffffff;
  margin: var(--s-2) 0 4px;
}
.calc__meter-hint {
  font-size: 12px;
  color: #cbd5e1;
  margin: 0 0 10px;
}
.calc__progress-track {
  height: 8px;
  background: rgba(255,255,255,0.12);
  border-radius: var(--r-pill);
  overflow: hidden;
}
.calc__progress-fill {
  height: 100%;
  background: var(--c-gold);
  border-radius: var(--r-pill);
  transition: width 0.4s ease, background 0.4s ease;
}

/* তামাদি ২ কলাম টেবিল */
.calc__breakdown-table--limit th {
  text-align: left;
  color: #e2ded3;
  font-weight: 600;
  background: rgba(255,255,255,0.03);
}
.calc__breakdown-table--limit td {
  color: #f1f5f9;
}

/* ৫ ধারা অ্যাডভাইজরি বক্স */
.calc__sec5-advisory {
  margin-top: var(--s-4);
  background: rgba(120, 78, 0, .25);
  border: 1.5px solid rgba(201, 174, 116, .5);
  border-radius: var(--r-lg);
  padding: var(--s-4);
  color: #f1e7d0;
  font-size: var(--t-xs);
  line-height: 1.7;
}
.calc__sec5-badge {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--f-ui);
  font-weight: 700;
  color: var(--c-gold-bright);
  margin-bottom: var(--s-2);
  font-size: 13px;
}
.calc__sec5-badge svg {
  width: 18px;
  height: 18px;
  color: var(--c-gold-bright);
}
.calc__sec5-advisory p {
  margin: 0;
  color: #e8ded2;
}

/* অ্যাকশন বার */
.calc__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  align-items: center;
  margin-top: var(--s-5);
  padding-top: var(--s-4);
  border-top: 1px solid rgba(255,255,255,.14);
}

/* প্রিন্ট মেমো ফরম্যাটিং */
@media print {
  .calc__tabs,
  .calc__pills-wrap,
  .calc__preset-chips,
  .calc__stepper button,
  .calc__actions,
  .calc__note,
  .site-header,
  .site-footer,
  .cta-band {
    display: none !important;
  }
  .calc {
    border: none !important;
    box-shadow: none !important;
    background: #ffffff !important;
  }
  .calc__inputs-card {
    border: 1px solid #ddd !important;
    background: #fdfdfd !important;
  }
  .calc__out--premium,
  .calc__out--limit-board {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    box-shadow: none !important;
  }
  .calc__out-title {
    color: #000000 !important;
  }
  .calc__breakdown-table thead th {
    background: #f0f0f0 !important;
    color: #000000 !important;
    border-bottom: 2px solid #000000 !important;
  }
  .calc__breakdown-table tbody td,
  .calc__breakdown-table tbody th {
    color: #000000 !important;
    border-bottom: 1px solid #ddd !important;
  }
  .calc__grand-total {
    background: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
  }
}

/* ── স্মার্ট লিগ্যাল গ্লসারি টুলটিপ ও ফ্ল্যাশকার্ড ── */
.spark-term-tooltip {
  cursor: help;
  border-bottom: 1.5px dashed var(--c-gold-deep);
  color: var(--c-brand-mid);
  font-weight: 600;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
  border-radius: 2px;
  padding: 0 2px;
}
.spark-term-tooltip:hover,
.spark-term-tooltip:focus-visible {
  color: var(--c-gold-deep);
  border-bottom-style: solid;
  background: var(--c-gold-light);
  outline: none;
}

.spark-term-card {
  position: absolute;
  z-index: 99999;
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-top: 3px solid var(--c-brand);
  border-radius: var(--r-lg);
  box-shadow: 0 14px 32px -6px rgba(11, 38, 29, .24), 0 4px 12px rgba(0, 0, 0, .08);
  padding: var(--s-4) var(--s-5);
  font-family: var(--f-body);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .18s var(--ease), transform .18s var(--ease);
  pointer-events: auto;
  max-width: calc(100vw - 32px);
}
.spark-term-card.is-above {
  transform: translateY(-6px);
}
.spark-term-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.spark-term-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s-2);
  margin-bottom: var(--s-2);
  padding-bottom: var(--s-2);
  border-bottom: 1px solid var(--c-border-soft);
}
.spark-term-card__titles {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s-2);
}
.spark-term-card__title {
  font-family: var(--f-display);
  font-size: var(--t-base);
  font-weight: 700;
  color: var(--c-ink);
}
.spark-term-card__en {
  font-family: var(--f-ui);
  font-size: 0.72rem;
  padding: .15em .55em;
  background: var(--c-bg-alt);
  color: var(--c-text-mute);
  border-radius: var(--r-pill);
}
.spark-term-card__close {
  background: none;
  border: 0;
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
  color: var(--c-text-mute);
  padding: 0 .2rem;
}
.spark-term-card__close:hover {
  color: var(--c-ink);
}
.spark-term-card__def {
  font-size: var(--t-xs);
  line-height: 1.7;
  color: var(--c-text);
  margin: 0 0 var(--s-3);
}
.spark-term-card__cite {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--f-ui);
  font-size: 0.75rem;
  color: var(--c-gold-deep);
  font-weight: 600;
  padding-top: var(--s-2);
  border-top: 1px dashed var(--c-border-soft);
}
.spark-term-card__cite svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.spark-term-card__footer {
  margin-top: var(--s-3);
  padding-top: var(--s-2);
  border-top: 1px solid var(--c-border-soft);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.spark-term-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--f-ui);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--c-brand);
  text-decoration: none;
  transition: color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.spark-term-card__link:hover {
  color: var(--c-gold-deep);
  text-decoration: underline;
}
.spark-term-card__link svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  transition: transform var(--dur) var(--ease);
}
.spark-term-card__link:hover svg {
  transform: translateX(3px);
}

/* ── শব্দকোষ পেজ ও শর্টকোড স্টাইল (.glossary) ── */
.glossary {
  margin-top: var(--s-6);
}
.glossary__nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
  padding: var(--s-3) var(--s-4);
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  margin-bottom: var(--s-6);
  position: sticky;
  top: 72px;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .04);
}
.glossary__navlink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 var(--s-2);
  border-radius: var(--r-sm);
  font-family: var(--f-display);
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--c-brand);
  text-decoration: none;
  background: var(--c-bg);
  border: 1px solid var(--c-border-soft);
  transition: all var(--dur) var(--ease);
}
.glossary__navlink:hover {
  background: var(--c-brand);
  color: #fff;
  border-color: var(--c-brand);
}
.glossary__group {
  margin-bottom: var(--s-8);
  scroll-margin-top: 120px;
}
.glossary__letter {
  display: inline-block;
  font-family: var(--f-display);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--c-brand-deep);
  border-bottom: 3px solid var(--c-gold);
  padding-bottom: var(--s-1);
  margin-bottom: var(--s-4);
}
.glossary__list {
  display: grid;
  gap: var(--s-4);
  margin: 0;
  padding: 0;
}
.glossary__term {
  scroll-margin-top: 130px;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--s-2);
  font-family: var(--f-display);
  font-size: var(--t-lg);
  font-weight: 700;
  color: var(--c-ink);
  margin-top: var(--s-3);
  padding-top: var(--s-2);
}
.glossary__term:target,
.glossary__term:target + .glossary__def {
  animation: sparkTermFlash 2.5s ease-out;
}
@keyframes sparkTermFlash {
  0% { background: rgba(201, 174, 116, .35); border-radius: var(--r-md); }
  100% { background: transparent; }
}
.glossary__term .glossary__t {
  color: var(--c-brand-deep);
}
.glossary__term .glossary__en {
  font-family: var(--f-ui);
  font-size: 0.8rem;
  color: var(--c-text-mute);
  font-weight: normal;
  background: var(--c-bg-alt);
  padding: 0.1em 0.5em;
  border-radius: var(--r-pill);
}
.glossary__def {
  margin: 0 0 var(--s-4);
  padding: var(--s-3) var(--s-4);
  background: var(--c-bg-alt);
  border-left: 3px solid var(--c-gold);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  font-size: var(--t-sm);
  line-height: 1.75;
}
.glossary__cite {
  font-family: var(--f-ui);
  font-size: 0.78rem;
  color: var(--c-gold-deep);
  font-weight: 600;
  margin: var(--s-2) 0 0;
}
.glossary__see {
  font-family: var(--f-ui);
  font-size: 0.78rem;
  color: var(--c-text-mute);
  margin: var(--s-2) 0 0;
}
.glossary__see a {
  color: var(--c-brand);
  text-decoration: underline;
}

@keyframes sparkFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes sparkShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

/* ── ১৩.৪ অ্যাপয়েন্টমেন্ট বুকিং ───────────────────────────────────── */

.booking { display: grid; gap: var(--s-5); }
@media (min-width: 820px) { .booking { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); } }

.booking__days {
  display: grid; gap: var(--s-2);
  grid-template-columns: repeat(auto-fit, minmax(4.6rem, 1fr));
  margin: 0; padding: 0; border: 0;
}
.booking__days legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.booking__day { position: relative; }
.booking__day input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.booking__day span {
  display: grid; gap: .1rem; justify-items: center;
  padding: .6em .3em;
  border: 1px solid var(--c-border); border-radius: var(--r-md);
  font-family: var(--f-ui); font-size: var(--t-xs);
  color: var(--c-text-soft); cursor: pointer;
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.booking__day b { font-family: var(--f-display); font-size: var(--t-lg); font-weight: 700; color: var(--c-ink); line-height: 1.1; }
.booking__day input:checked + span { border-color: var(--c-gold); background: var(--c-gold-light); }
.booking__day input:checked + span b { color: var(--c-gold-deep); }
.booking__day input:disabled + span { opacity: .38; cursor: not-allowed; }
.booking__day input:focus-visible + span { outline: 2px solid var(--c-focus); outline-offset: 2px; }

.booking__slots { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: 0; padding: 0; border: 0; }
.booking__slots legend {
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 700;
  color: var(--c-text-mute);
  margin-bottom: var(--s-3); padding: 0;
}
.booking__slot { position: relative; }
.booking__slot input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.booking__slot span {
  display: inline-block; padding: .48em .95em;
  border: 1px solid var(--c-border); border-radius: var(--r-sm);
  font-family: var(--f-ui); font-size: var(--t-sm); color: var(--c-ink-soft);
  cursor: pointer;
}
.booking__slot input:checked + span { border-color: var(--c-gold); background: var(--c-gold-light); color: var(--c-gold-deep); font-weight: 600; }
.booking__slot input:focus-visible + span { outline: 2px solid var(--c-focus); outline-offset: 2px; }

.booking__side {
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  align-self: start;
}
.booking__side h3 {
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 700;
  color: var(--c-text-mute);
  margin-bottom: var(--s-4);
}
.booking__summary { margin: 0 0 var(--s-5); display: grid; gap: var(--s-3); }
.booking__summary div { display: flex; gap: var(--s-3); justify-content: space-between; align-items: baseline; font-size: var(--t-sm); }
.booking__summary dt { font-family: var(--f-ui); font-size: var(--t-xs); color: var(--c-text-mute); }
.booking__summary dd { margin: 0; color: var(--c-ink); font-weight: 600; text-align: end; }
.booking__closed {
  font-family: var(--f-ui); font-size: var(--t-sm);
  color: var(--c-danger); background: var(--c-danger-bg);
  border-radius: var(--r-sm); padding: .6em .8em; margin: 0 0 var(--s-4);
}

/* বুকিং ফর্মের স্বাভাবিক স্তর — দিন, সময়, নাম-ফোন, বিষয়। */
.booking__main > * + * { margin-top: var(--s-5); }
.booking__side .intake__privacy { margin-top: var(--s-4); }

/* ── ১৩.৫ স্টিকি অ্যাকশন বার (মোবাইল) ─────────────────────────────── */

.actionbar {
  position: fixed; inset-inline: 0; bottom: 0; z-index: 90;
  display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
  background: rgba(11, 38, 29, .97);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255, 255, 255, .12);
  padding-bottom: env(safe-area-inset-bottom, 0);
  /* মোবাইলে সব সময় দেখা যায় — বুকিং ও হোয়াটসঅ্যাপ যেন সবসময় নাগালে। */
  transform: none;
  transition: transform .28s var(--ease);
}
@media (min-width: 900px) { .actionbar { display: none; } }
.actionbar a {
  display: grid; justify-items: center; gap: .14rem;
  padding: .42rem .3rem .48rem;
  font-family: var(--f-ui); font-size: .6rem; font-weight: 600;
  color: #cdd4cb; text-decoration: none;
  border-inline-start: 1px solid rgba(255, 255, 255, .1);
}
.actionbar a:first-child { border-inline-start: 0; }
.actionbar a:active { background: rgba(255, 255, 255, .07); }
.actionbar svg { width: 17px; height: 17px; }
.actionbar .is-primary { color: var(--c-gold-bright); }
/* বার দেখালে ফুটার যেন ঢাকা না পড়ে */
/* অ্যাকশন বার সবসময় থাকে, তাই ফুটারের নিচে সবসময় জায়গা ছাড়ি (JS-নিরপেক্ষ)। */
@media (max-width: 899px) { .site-footer__bottom { padding-bottom: 3.9rem; } }

/* ── ১৩.৬ স্ক্রল-রিভিল ────────────────────────────────────────────── */

/* JS না চললে কিছুই লুকোবে না — তাই ক্লাসটি JS নিজেই <html>-এ বসায় */
.js-reveal [data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.js-reveal [data-reveal].is-in { opacity: 1; transform: none; }

/* ── ১৩.৭ মেগা মেনু ও ভাষা সুইচ ───────────────────────────────────── */

.nav-primary .menu-item-mega { position: static; }
.megamenu {
  position: absolute; inset-inline: 0; top: 100%;
  background: var(--c-bg);
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
  box-shadow: var(--sh-lg);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);
}
.menu-item-mega:hover > .megamenu,
.menu-item-mega:focus-within > .megamenu { opacity: 1; visibility: visible; transform: none; }
.megamenu__in {
  display: grid; gap: var(--s-6);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  padding-block: var(--s-6);
}
.megamenu__col h3 {
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 700;
  color: var(--c-gold-deep);
  margin-bottom: var(--s-3); padding-bottom: var(--s-2);
  border-bottom: 1px solid var(--c-gold-hair);
}
.megamenu ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.megamenu a { display: block; padding: .42em .5em; border-radius: var(--r-sm); font-size: var(--t-sm); }
.megamenu__promo {
  background: var(--c-brand-tint);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
}
.megamenu__promo p { font-size: var(--t-sm); color: var(--c-text-soft); margin: 0 0 var(--s-4); }

/* ভাষা-সুইচ — চলতি ভাষা <span aria-current>, অন্যটি <a>। দুটিতেই একই
   পরিমাপ, নয়তো ঘরটি এলোমেলো দেখায়। */
/* ভাষা-সুইচ — সেগমেন্টেড পিল, চলতি ভাষা হাইলাইট করা। সামনে গ্লোব আইকন যেন
   এটি মেনু-লিংক নয়, "ভাষা বদল" বোঝা যায়। চলতি ভাষা <span aria-current>,
   অন্যটি <a> — দুটিতেই একই মাপ। */
.langswitch {
  display: inline-flex; align-items: center; gap: 2px;
  padding: 3px; padding-inline-start: 9px;
  border: 1px solid var(--c-border); border-radius: var(--r-full);
  background: var(--c-bg-alt);
  line-height: 1;
}
.langswitch::before {
  content: ""; flex: none; width: 15px; height: 15px; margin-inline-end: 4px;
  background: var(--c-gold-deep);
  -webkit-mask: var(--icon-globe) center / contain no-repeat;
          mask: var(--icon-globe) center / contain no-repeat;
}
.langswitch > a,
.langswitch > span {
  padding: .32em .66em; border-radius: var(--r-full);
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 700; letter-spacing: .01em;
  line-height: 1.25;
  color: var(--c-text-mute); text-decoration: none;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.langswitch > [aria-current="true"] { background: var(--c-brand); color: #fff; box-shadow: 0 1px 3px rgba(18, 55, 42, .3); }
.langswitch > a:hover { background: var(--c-brand-light); color: var(--c-brand); }
/* টপবারে (গাঢ় পট) থাকলে — সোনালি হাইলাইট। */
.topbar .langswitch { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.06); }
.topbar .langswitch::before { background: var(--c-gold-bright); }
.topbar .langswitch > a,
.topbar .langswitch > span { color: #8a938a; }
.topbar .langswitch > [aria-current="true"] { background: var(--c-gold); color: #0b261d; box-shadow: none; }
.topbar .langswitch > a:hover { background: rgba(255,255,255,.1); color: #dcc48c; }
/* সুইচটি টপবারের ডানে — সামাজিক আইকনগুলোও এর সঙ্গে ডানে চলে যায়। */
.topbar__lang { margin-left: auto; }
/* হেডারে মেনুর পরে একটু ফাঁক, যেন আলাদা করে চোখে পড়ে। */
.site-header__in > .langswitch { margin-inline-start: var(--s-2); }

/* ── ভাষার সূচনা-পট্টি ─────────────────────────────────────────────────
   দেশ জানা না গেলে অনুমান করে ভাষা বদলাই না — একটি বাক্যে জিজ্ঞেস করি।
   `hidden` অবস্থায় আসে, JS খোলে (inc/i18n.php)। */
.lang-hint {
  background: var(--c-brand-tint);
  border-bottom: 1px solid var(--c-border);
  font-family: var(--f-ui); font-size: var(--t-xs);
}
.lang-hint[hidden] { display: none; }
.lang-hint__in {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: var(--s-2) var(--s-4);
  margin: 0; padding: var(--s-2) 0;
  color: var(--c-text-soft);
}
.lang-hint__go {
  font-weight: 600; color: var(--c-brand);
  text-decoration: underline; text-underline-offset: .18em;
}
.lang-hint__go:hover { color: var(--c-ink); }
.lang-hint__x {
  margin-left: auto;
  padding: 0 .4em; border: 0; background: none;
  font-size: 1.15rem; line-height: 1; cursor: pointer;
  color: var(--c-text-mute);
}
.lang-hint__x:hover { color: var(--c-ink); }

/* ── ১৩.৮ ডার্ক মোড ও মোশন সম্পূরক ────────────────────────────────── */

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) :is(.cmdk__dialog, .intake, .calc, .quote,
    .booking__side, .megamenu, .intake__field input, .intake__field textarea,
    .intake__field select, .cmdk-trigger) {
    background: var(--c-bg-alt);
  }
  :root:not([data-theme="light"]) .calc__tabs { background: #0b261d; }
  :root:not([data-theme="light"]) .calc__tab[aria-selected="true"] { background: var(--c-bg-alt); }
  :root:not([data-theme="light"]) .calc__note { background: #1d1a10; border-color: #3a3118; color: #c9ae74; }
  :root:not([data-theme="light"]) .calc__note b { color: #fff; }
  :root:not([data-theme="light"]) .intake__privacy { background: #0b261d; }
  :root:not([data-theme="light"]) :is(.intake__opt input:checked + span,
    .booking__day input:checked + span, .booking__slot input:checked + span) {
    background: rgba(201, 174, 116, .14);
  }
  :root:not([data-theme="light"]) .pindex__link:hover { background: #0b261d; }
  :root:not([data-theme="light"]) .pindex__num { color: var(--c-border); }
}

/* ── জোর-করা ডার্ক (ভিজিটর টগল) ─────────────────────────────────────────
   উপরের ব্লকগুলো prefers-color-scheme দেখে চলে (JS ছাড়াও কাজ করে)। কিন্তু
   হালকা-পছন্দের ডিভাইসে পাঠক টগল দিয়ে ডার্ক চাইলে ওই মিডিয়া-কোয়েরি চলে
   না। তাই একই ঘোষণাগুলো এখানে `:root[data-theme="dark"]`-এ — বুট-স্ক্রিপ্ট
   কার্যকর থিম "dark" হলে <html>-এ এই অ্যাট্রিবিউট বসায়, ফলে যেকোনো ডিভাইসে
   ডার্ক দেখায়। JS বন্ধ থাকলে উপরের মিডিয়া-কোয়েরিই যথেষ্ট।             */
:root[data-theme="dark"] {
  --c-text:        #e7ede9;
  --c-text-soft:   #aab4aa;
  --c-text-mute:   #8f9a8f;
  --c-heading:     #f5f3ed;
  --c-ink-soft:    #e7ede9;
  --c-bg:          #0b261d;
  --c-bg-alt:      #0f3025;
  --c-border:      #1d4a39;
  --c-border-soft: #153c2d;
  --c-brand-light: #123a2c;
  --c-brand-tint:  #0b261d;
  --c-brand-mid:   #c9ae74;
  --c-gold-deep:   #c9ae74;
  --c-focus:       #c9ae74;
}
:root[data-theme="dark"] .parea > a:hover,
:root[data-theme="dark"] .parea > a:focus-visible { background: #0b261d; }
:root[data-theme="dark"] .parea__name { color: #eaf0ec; }
:root[data-theme="dark"] .parea__icon { color: var(--c-gold-bright); }
:root[data-theme="dark"] .site-header { background: rgba(11, 38, 29, .9); }
:root[data-theme="dark"] :is(.card, .widget, .faq-item, .sc-step,
  .entry-content details, .entry-content table, .post-nav a,
  .pagination :is(a, span), .area-chips a, .share a, .search-form input) {
  background: var(--c-bg-alt);
}
:root[data-theme="dark"] .entry-content th { background: #123a2c; }
:root[data-theme="dark"] .entry-content tbody tr:nth-child(even) { background: #0b261d; }
:root[data-theme="dark"] .related-reading {
  background: linear-gradient(160deg, #123a2c, var(--c-bg-alt) 70%);
}
:root[data-theme="dark"] .related-reading a:hover { background: #153c2d; }
:root[data-theme="dark"] :is(.comment-body, .comment-form input, .comment-form textarea) {
  background: var(--c-bg-alt);
}
:root[data-theme="dark"] .comment-notes { background: #1d1a10; border-color: #3a3118; }
:root[data-theme="dark"] .toc-container { background: var(--c-bg-alt) !important; }
:root[data-theme="dark"] .toc-container a { color: var(--c-text-soft) !important; }
:root[data-theme="dark"] .nav-drawer__panel { background: var(--c-bg); }
:root[data-theme="dark"] :is(.cmdk__dialog, .intake, .calc, .quote,
  .booking__side, .megamenu, .intake__field input, .intake__field textarea,
  .intake__field select, .cmdk-trigger) { background: var(--c-bg-alt); }
:root[data-theme="dark"] .calc__tabs { background: #0b261d; }
:root[data-theme="dark"] .calc__tab[aria-selected="true"] { background: var(--c-bg-alt); }
:root[data-theme="dark"] .calc__note { background: #1d1a10; border-color: #3a3118; color: #c9ae74; }
:root[data-theme="dark"] .calc__note b { color: #fff; }
:root[data-theme="dark"] .intake__privacy { background: #0b261d; }
:root[data-theme="dark"] :is(.intake__opt input:checked + span,
  .booking__day input:checked + span, .booking__slot input:checked + span) {
  background: rgba(201, 174, 116, .14);
}
:root[data-theme="dark"] :is(.spark-term-card, .intake__brief-card) {
  background: var(--c-bg-alt);
  border-color: var(--c-border);
}
:root[data-theme="dark"] .spark-term-card {
  box-shadow: 0 16px 36px -6px rgba(0, 0, 0, .5);
}
:root[data-theme="dark"] .spark-term-card__title {
  color: var(--c-heading);
}
:root[data-theme="dark"] .spark-term-card__def {
  color: var(--c-text);
}
:root[data-theme="dark"] .spark-term-card__en {
  background: #123a2c;
  color: var(--c-gold-bright);
}
:root[data-theme="dark"] .spark-term-card__link {
  color: var(--c-gold-bright);
}
:root[data-theme="dark"] .spark-term-card__link:hover {
  color: #fff;
}
:root[data-theme="dark"] .glossary__nav {
  background: var(--c-bg-alt);
  border-color: var(--c-border);
}
:root[data-theme="dark"] .glossary__navlink {
  background: var(--c-bg);
  color: var(--c-gold-bright);
  border-color: var(--c-border);
}
:root[data-theme="dark"] .glossary__navlink:hover {
  background: var(--c-gold);
  color: #0b261d;
}
:root[data-theme="dark"] .glossary__def {
  background: rgba(255, 255, 255, .03);
}
:root[data-theme="dark"] .intake__docs-preview {
  background: #0d2c21;
  border-color: #1a4d3b;
  border-inline-start-color: var(--c-gold-bright);
}
:root[data-theme="dark"] .intake__docs-head {
  color: var(--c-gold-bright);
}
:root[data-theme="dark"] .intake__emergency-box {
  background: #2a1111;
  border-color: #632323;
}
:root[data-theme="dark"] .intake__emergency-head {
  color: #f87171;
}
:root[data-theme="dark"] .intake__emergency-box p {
  color: #fca5a5;
}
:root[data-theme="dark"] .intake__opt--card span {
  background: var(--c-bg-alt);
}
:root[data-theme="dark"] .intake__opt--card b {
  color: var(--c-heading);
}
:root[data-theme="dark"] .pindex__link:hover { background: #0b261d; }
:root[data-theme="dark"] .pindex__num { color: var(--c-border); }

/* আলো/আঁধার বোতাম (হেডারে) */
.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; padding: 0;
  background: transparent; border: 1px solid var(--c-border); border-radius: var(--r-full);
  color: var(--c-text-mute); cursor: pointer;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.theme-toggle:hover { color: var(--c-brand); border-color: var(--c-brand); }
.theme-toggle svg { width: 18px; height: 18px; }
.theme-toggle .theme-toggle__moon { display: none; }
:root[data-theme="dark"] .theme-toggle .theme-toggle__sun { display: none; }
:root[data-theme="dark"] .theme-toggle .theme-toggle__moon { display: inline; }

@media (prefers-reduced-motion: reduce) {
  .js-reveal [data-reveal] { opacity: 1; transform: none; }
  .hours-dot[data-open="true"]::before { animation: none; }
  .pindex__link:hover { padding-inline-start: 0; }
}

@media print {
  .cmdk, .cmdk-trigger, .actionbar, .intake__nav, .calc__tabs, .megamenu,
  .calc__actions, .intake__brief-actions, .spark-term-card, .intake__emergency-box,
  [data-intake-copy-brief] { display: none !important; }
  .calc__panel[hidden] { display: block !important; }
  .calc__out { background: none !important; color: #000 !important; border: 1px solid #999; }
  .calc__out :is(dt, dd) { color: #000 !important; }
}

/* ── ১৩.৯ ভাসমান হোয়াটসঅ্যাপ ও উপরে-ফেরা ──────────────────────────────────
   দুটোই ডেস্কটপ-সহায়ক: ৯০০px-এর নিচে নিচের ধার অ্যাকশন বারের (§১৩.৫),
   তাই সেখানে এদের দেখানোর মানে নেই। মার্কআপ footer.php-এ, .site-এর
   বাইরে — fixed অবস্থান ancestor transform-এ আটকাবে না। */

.booking-float,
.wa-float {
  position: fixed; inset-block-end: var(--s-6); inset-inline-end: var(--s-6);
  z-index: 60;
  display: grid; place-items: center;
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(145deg, var(--c-brand), var(--c-ink));
  color: var(--c-gold);
  border: 1.5px solid var(--c-gold);
  box-shadow: 0 8px 24px rgba(11, 38, 29, .32);
  cursor: pointer;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
              background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.booking-float svg,
.wa-float svg { width: 26px; height: 26px; display: block; }
.booking-float:hover,
.wa-float:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 12px 32px rgba(11, 38, 29, .42);
  background: var(--c-gold);
  color: var(--c-ink);
  border-color: var(--c-gold-bright);
}
/* লোডের পর দুবার সোনালি ঢেউ — দৃষ্টি আকর্ষণ */
.booking-float::after,
.wa-float::after {
  content: ""; position: absolute; inset: -1.5px; border-radius: 50%;
  border: 2px solid var(--c-gold);
  animation: booking-ping 2.6s var(--ease) 1.2s 2 both;
  pointer-events: none;
}
@keyframes booking-ping {
  0%        { transform: scale(1); opacity: .75; }
  70%, 100% { transform: scale(1.55); opacity: 0; }
}

/* ডেস্কটপে হোভার করলে মার্জিত টুলটিপ */
.booking-float::before {
  content: attr(data-tooltip);
  position: absolute;
  inset-inline-end: calc(100% + 12px);
  white-space: nowrap;
  padding: .4rem .8rem;
  background: var(--c-ink);
  color: #ffffff;
  font-family: var(--f-ui);
  font-size: var(--t-xs);
  font-weight: 600;
  border-radius: var(--r-md);
  border: 1px solid rgba(184, 155, 94, .45);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
  opacity: 0;
  visibility: hidden;
  transform: translateX(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  pointer-events: none;
}
.booking-float:hover::before {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.totop {
  position: fixed; inset-block-end: var(--s-6); inset-inline-start: var(--s-5);
  z-index: 60;
  display: grid; place-items: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--c-ink); color: #dcc48c;
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .24);
  cursor: pointer;
  opacity: 0; transform: translateY(8px); pointer-events: none;
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease),
              background-color var(--dur) var(--ease);
}
.totop svg { transform: rotate(-90deg); } /* arrow ডানমুখো — ঘুরিয়ে উপরমুখো */
.totop:hover { background: #081e17; }
.totop.is-on { opacity: 1; transform: none; pointer-events: auto; }
.totop:focus-visible { outline: 2px solid var(--c-gold); outline-offset: 2px; }

@media (max-width: 900px) {
  .booking-float, .wa-float, .totop { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .booking-float, .wa-float { transition: none; }
  .booking-float::after, .wa-float::after { animation: none; }
  .totop { transition: none; }
}

@media print {
  .booking-float, .wa-float, .totop { display: none !important; }
}

/* ═══ ১৪. হোমের লোকাল SEO ব্লক ═══════════════════════════════════════════
   হালকা হিরো, ভরসা-স্ট্রিপ, সেবার প্রোজ, এলাকা-কার্ড, বুকিং ব্যান্ড আর
   চেম্বার-মানচিত্র — এই ছয়টি ব্লক হোমপেজকে একটি এলাকার (নীলফামারী)
   আইনি সেবার প্রধান পাতা হিসেবে গড়ে। ফাইলের শেষে ইচ্ছা করেই: এদের
   বেশিরভাগই ৬.x-এর সাধারণ নিয়মকে সরু করে (যেমন .hero--light), তাই
   আগে এলে ক্যাসকেড উল্টে যেত। রঙ-ফন্ট সবই টোকেন থেকে; নতুন টাইপফেস নেই।
   ========================================================================== */

/* ── ১৪.১ হালকা হিরো — উষ্ণ কাগুজে পট, নেভি শিরোনাম ─────────────────────
   গাঢ় হিরো গাম্ভীর্য দেয় ঠিকই, কিন্তু আইনজীবীর মুখ দেখাতে চাইলে
   আলো দরকার — ছবি গাঢ় পটে ডুবে যায়। তাই কাগজের রঙ, আর গাম্ভীর্য
   আসে নেভি শিরোনাম ও সোনালি সরু রেখা থেকে। */

.hero--light {
  background: var(--c-paper);
  color: var(--c-text);
  border-block-end: 1px solid var(--c-gold-hair);
}
.hero--light::before {
  background:
    radial-gradient(ellipse 58% 52% at 84% -6%, rgba(184, 155, 94, .16), transparent 66%),
    radial-gradient(ellipse 90% 80% at -4% 108%, rgba(18, 55, 42, .08), transparent 70%);
}
.hero--light::after {
  background: repeating-linear-gradient(
    to right, transparent 0 calc(12.5% - 1px),
    rgba(11, 38, 29, .045) calc(12.5% - 1px) 12.5%);
}
.hero--light h1 {
  color: var(--c-brand);
  max-width: 24ch;
  letter-spacing: normal;
  text-wrap: balance;
  font-size: clamp(1.95rem, 1.35rem + 2.6vw, 3.4rem);
}
.hero--light h1[lang="en"] { letter-spacing: -.012em; }
.hero--light .hero__lede {
  color: var(--c-text-soft);
  font-size: var(--t-lg);
  line-height: 1.82;
  max-width: 54ch;
}
.hero--light .hero__lede[lang="en"] { line-height: 1.72; }
.hero--light .hero__kicker { color: var(--c-gold-deep); font-size: var(--t-xs); }
/* ছোট হরফে ফাঁকা শুধু ইংরেজি লেবেলে — বাংলায় letter-spacing যুক্তাক্ষরের
   গাঁথুনি ভাঙে, তাই সেখানে normal-ই থাকে।                            */
.hero--light .hero__kicker[lang="en"] { text-transform: uppercase; letter-spacing: .16em; }
.hero--light .hero__note { color: var(--c-text-mute); }
.hero--light .hero__figure::before { border-color: var(--c-gold-hair); }
.hero--light .hero__figure img { max-width: min(100%, 34rem); }
.hero--light .hero__emblem {
  border-color: var(--c-gold-hair);
  background: radial-gradient(circle at 50% 40%, rgba(184, 155, 94, .14), transparent 64%);
  color: var(--c-gold-deep);
}
.hero--light .hero__emblem::before { border-color: rgba(184, 155, 94, .26); }

/* হোয়াটসঅ্যাপ লাইন — বাটন নয়, তাই ওজনে হালকা; সবুজ শুধু চেনার জন্য */
.hero__wa { margin: 0 0 var(--s-5); font-size: var(--t-sm); }
.hero__wa a {
  display: inline-flex; align-items: center; gap: .5em;
  color: var(--c-success); text-decoration: none;
  border-block-end: 1px solid rgba(53, 107, 75, .35);
  padding-block-end: 2px;
}
.hero__wa a:hover { border-block-end-color: currentColor; }
.hero__wa svg { width: 1.25em; height: 1.25em; }

/* হালকা পটের দ্বিতীয় বাটন — নেভি রেখা, ভেতর ফাঁকা */
.btn--outline-dark {
  --btn-bg: transparent; --btn-fg: var(--c-brand);
  border-color: rgba(18, 55, 42, .42);
}
.btn--outline-dark:hover { background: var(--c-brand); --btn-fg: #fff; border-color: var(--c-brand); }
.btn--outline-dark::after { background: var(--c-gold); }

/* ── ১৪.২ ভরসা-স্ট্রিপ — হিরোর ঠিক নিচে গাঢ় ব্যান্ড ────────────────────
   চার ঘর, চারটিই যাচাইযোগ্য তথ্য (আদালত, চেম্বার, পরামর্শ, প্রতিনিধিত্ব)।
   হালকা হিরোর পরে গাঢ় ব্যান্ড পাতাকে স্তরে ভাগ করে — আর মোবাইলে ঘরগুলো
   এক কলামে নামে, তখন ভাজ-রেখা বাদ (সেটি তখন অর্থহীন)।            */

.trustbar {
  background: var(--c-ink);
  border-block-end: 1px solid rgba(201, 174, 116, .28);
  color: #cdd4cb;
}
.trustbar__list {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--s-2) var(--s-5);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
.trustbar__list li {
  display: grid; grid-template-columns: auto minmax(0, 1fr);
  gap: var(--s-2) var(--s-3); align-items: start;
  padding-block: clamp(1.1rem, 2.4vw, 1.6rem);
}
@media (min-width: 760px) {
  .trustbar__list li + li {
    border-inline-start: 1px solid rgba(255, 255, 255, .1);
    padding-inline-start: var(--s-5);
  }
}
.trustbar__icon { grid-row: span 2; color: var(--c-gold-bright); margin-top: .15em; }
.trustbar__icon svg { width: 1.5rem; height: 1.5rem; stroke-width: 1.4; }
.trustbar__k { color: #fff; font-size: var(--t-base); line-height: 1.35; }
.trustbar__v { font-size: var(--t-xs); color: #9fadc4; line-height: 1.65; }

/* ── ১৪.৩ SEO প্রোজ — শিরোনামের নিচের বর্ণনা-অংশ ───────────────────────
   .lede-র চেয়ে গাঢ় রঙ ও স্বাভাবিক মাপ: এটি স্লোগান নয়, তথ্য —
   ১২০–১৮০ শব্দের পড়া যায় এমন অনুচ্ছেদ। */

/* ৭৮ch রিডিং-কলাম .wrap--wide-এ বাঁ-দিকে বসলে ডান পাশে বড় ফাঁক দেখায়
   (নিচের full-width .pareas গ্রিডের সাথে বেমানান) — কলামটি কেন্দ্রে বসাই,
   ভেতরের eyebrow/h2/অনুচ্ছেদ বাঁ-অ্যালাইনডই থাকে। */
.section-head--narrow { max-width: 78ch; margin-inline: auto; }
.prose-seo {
  margin-top: var(--s-4);
  max-width: var(--w-prose);
  color: var(--c-text-soft);
  font-size: var(--t-base);
  line-height: var(--lh-body);
}
.prose-seo[lang="en"] { line-height: 1.78; }
.prose-seo > :first-child { margin-top: 0; }
.prose-seo > :last-child { margin-bottom: 0; }
.prose-seo p + p { margin-top: var(--s-4); }

/* ── ১৪.৩.১ ডান প্রান্ত সমান — শুধু দীর্ঘ পড়ার অনুচ্ছেদে ─────────────────
   বাঁ-রাগেড বাংলা/ইংরেজি অনুচ্ছেদে ডান ধার করাতের মতো দেখায়; দুই-এক
   লাইনের লেখায় justify অর্থহীন ফাঁক তৈরি করে, তাই কার্ড, লেড বা UI-তে
   নয় — শুধু পড়ার অনুচ্ছেদে। শেষ লাইন বাঁয়েই থাকে (ডিফল্ট)।        */
.prose-seo,
.entry-content > p,
.location__intro {
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
}

/* ── ১৪.৩.২ এলাকা-পাতা (spark_location) ──────────────────────────────────
   তথ্যভিত্তিক পাতা: প্রতিটি সেকশন একটি করে হেয়ারলাইন-বর্ডার ব্লক, শিরোনামে
   সোনালি অ্যাকসেন্ট। সেবা-ক্ষেত্র ও উপ-বিষয় চিপ, আশপাশের এলাকা internal
   link — সবই এক সুরে, হোমপেজের কার্ড-ভাষার সাথে মিলিয়ে।             */

.location__intro {
  font-size: var(--t-lg);
  line-height: 1.85;
  color: var(--c-text);
  margin: 0 0 var(--s-6);
}

.location__block {
  margin: 0 0 var(--s-6);
  padding: var(--s-5) 0 0;
  border-block-start: 1px solid var(--c-gold-hair);
}
.location__block > h2 {
  font-size: var(--t-xl);
  line-height: 1.35;
  margin: 0 0 var(--s-4);
  padding-inline-start: var(--s-4);
  border-inline-start: 3px solid var(--c-gold);
}
.location__block > p { margin: 0 0 var(--s-3); line-height: 1.85; }
.location__block > p:last-child { margin-bottom: 0; }

.location__list { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--s-3); }
.location__list > li {
  padding: var(--s-4);
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  line-height: 1.7;
}
.location__addr { display: block; margin-block-start: 4px; font-size: var(--t-sm); color: var(--c-text-mute); }

/* এলাকার ম্যাপ — রেসপন্সিভ ১৬:৯ ফ্রেম (location-admin.php থেকে এম্বেড)। */
.location__map-frame {
  position: relative; aspect-ratio: 16 / 9;
  border: 1px solid var(--c-border); border-radius: var(--r-lg);
  overflow: hidden; box-shadow: var(--sh-sm);
}
.location__map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.location__steps { margin: 0; padding-inline-start: 1.4em; display: grid; gap: var(--s-3); line-height: 1.8; }

/* সেবা-ক্ষেত্র — নাম + উপ-বিষয়ের চিপ (নেভিগেশন) */
.location__svc {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--s-3);
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 640px)  { .location__svc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .location__svc { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.location__svc-item {
  padding: var(--s-4);
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  transition: border-color var(--dur) var(--ease);
}
.location__svc-item:hover { border-color: var(--c-gold); }
.location__svc-name { display: block; font-weight: 600; margin: 0 0 var(--s-3); }
.location__svc-name a { color: var(--c-text); text-decoration: none; border-block-end: 1px solid var(--c-gold-hair); }
.location__svc-name a:hover { color: var(--c-brand); border-block-end-color: var(--c-brand); }
.location__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.location__chip {
  font-size: var(--t-xs, .78rem); line-height: 1.4;
  padding: 3px 10px;
  background: var(--c-gold-light);
  color: var(--c-gold-deep);
  border-radius: 999px;
}

/* মামলা কে দেখবেন — আইনজীবী পরিচিতি (সংক্ষিপ্ত) */
.location__profile p { line-height: 1.85; }
.location__profile a { color: var(--c-gold-deep); text-decoration: none; font-weight: 600; border-block-end: 1px solid var(--c-gold-hair); }
.location__profile a:hover { color: var(--c-brand); border-block-end-color: var(--c-brand); }

/* আশপাশের এলাকা — internal link সারি */
.location__near-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-3); }
.location__near-list a {
  display: inline-flex; align-items: center;
  padding: var(--s-3) var(--s-4);
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  color: var(--c-text); text-decoration: none; font-size: var(--t-sm);
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.location__near-list a:hover { border-color: var(--c-gold); background: var(--c-gold-light); }

.location__updated { margin: var(--s-5) 0 0; font-size: var(--t-sm); color: var(--c-text-mute); font-style: italic; }
.location__pending {
  margin: var(--s-5) 0 0; padding: var(--s-4);
  background: var(--c-gold-light); border-radius: var(--r-lg);
  font-size: var(--t-sm); color: var(--c-gold-deep);
}

/* [spark_location_list] — সব এলাকার সূচি */
.location-list {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--s-3);
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 560px) { .location-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .location-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.location-list a {
  display: block; padding: var(--s-4);
  background: var(--c-bg); border: 1px solid var(--c-border); border-radius: var(--r-lg);
  color: var(--c-text); text-decoration: none;
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.location-list a:hover { border-color: var(--c-gold); background: var(--c-gold-light); }

.seo-more { margin: var(--s-5) 0 0; }.seo-more a {
  display: inline-flex; align-items: center; gap: .5em;
  font-size: var(--t-sm); font-weight: 600;
  color: var(--c-gold-deep); text-decoration: none;
  border-block-end: 1px solid var(--c-gold-hair); padding-block-end: 3px;
}
.seo-more a:hover { color: var(--c-brand); border-block-end-color: var(--c-brand); }
.seo-more svg { width: 1.1em; height: 1.1em; transition: transform var(--dur) var(--ease); }
.seo-more a:hover svg { transform: translateX(.25rem); }

/* ── ১৪.৪ দশ সেবাক্ষেত্রের সংক্ষিপ্ত তালিকা ──────────────────────────────
   উপরের .pareas কার্ডগুলো বিস্তারিত; এটি সূচি — এক নজরে সব ক্ষেত্র,
   প্রতিটি লিংক নিজের পাতায়।                                        */

.pacompact {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--s-3);
  grid-template-columns: minmax(0, 1fr);
}
/* দশটি ক্ষেত্র — ডেস্কটপে ৫+৫ দুই সারি, যাতে শেষ সারি এতিম থাকে না */
@media (min-width: 560px)  { .pacompact { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 760px)  { .pacompact { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pacompact { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.pacompact a {
  display: flex; align-items: center; gap: var(--s-3);
  height: 100%; padding: var(--s-4);
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  color: var(--c-text); text-decoration: none;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.pacompact a::before {
  content: "";
  position: absolute;
  inset-inline-start: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--c-gold);
  opacity: 0;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
}
.pacompact a:hover, .pacompact a:focus-visible {
  border-color: var(--c-gold);
  background: var(--c-gold-light);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px -4px rgba(18, 55, 42, .08);
}
.pacompact a:hover::before, .pacompact a:focus-visible::before {
  opacity: 1;
  transform: scaleY(1);
}
.pacompact__icon { color: var(--c-gold-deep); flex: 0 0 auto; }
.pacompact__icon svg { width: 1.35rem; height: 1.35rem; stroke-width: 1.5; transition: transform var(--dur) var(--ease), color var(--dur) var(--ease); }
.pacompact a:hover .pacompact__icon svg { transform: scale(1.1); color: var(--c-brand); }
.pacompact__name { flex: 1 1 auto; font-size: var(--t-sm); line-height: 1.45; }
.pacompact__go { color: var(--c-text-mute); flex: 0 0 auto; }
.pacompact__go svg { width: 1rem; height: 1rem; transition: transform var(--dur) var(--ease); }
.pacompact a:hover .pacompact__go { color: var(--c-brand); }
.pacompact a:hover .pacompact__go svg { transform: translateX(.2rem); }

/* ── ১৪.৫ চেম্বার পরিচিতি (About) — ছবি বাঁয়ে, তথ্য ডানে ────────────────
   ছবি না দিলে .about--solo: লেখা তখন পূর্ণ প্রস্থে, ফাঁকা ঘর রেখে নয়। */

.about { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.75rem, 4vw, 3.5rem); align-items: center; }
@media (min-width: 900px) {
  .about { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .about--solo { grid-template-columns: minmax(0, 1fr); max-width: 78ch; }
}
.about__figure { position: relative; isolation: isolate; margin: 0; }
.about__figure img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
  border: 1px solid var(--c-border); border-radius: var(--r-lg);
  box-shadow: var(--sh-md);
}
.about__figure::before {
  content: ""; position: absolute; z-index: -1;
  inset-inline-start: -12px; inset-block: 14% 12%;
  border-block-start: 1px solid var(--c-gold-hair);
  border-inline-start: 1px solid var(--c-gold-hair);
}
.about__figure figcaption {
  font-size: var(--t-xs); color: var(--c-text-mute); margin-top: var(--s-3);
}
.about__body h2 { margin-bottom: var(--s-4); }
.about__facts { list-style: none; margin: var(--s-5) 0 var(--s-6); padding: 0; }
.about__facts li {
  display: grid; grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr);
  gap: var(--s-4); padding-block: var(--s-3);
  border-block-start: 1px solid var(--c-border-soft);
}
.about__facts li:last-child { border-block-end: 1px solid var(--c-border-soft); }
.about__k { font-size: var(--t-xs); color: var(--c-text-mute); }
.about__v { font-size: var(--t-sm); color: var(--c-ink-soft); line-height: 1.7; }

/* ── ১৪.৬ এলাকার কার্ড — গাঢ় পটে, প্রতিটি নিজের পাতায় যায় ─────────── */

.loccards {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--s-4);
  grid-template-columns: minmax(0, 1fr);
}
/* ৮টি ঘর (৭ এলাকা + “তালিকার বাইরে”) — ডেস্কটপে ৪+, এতিম ঘর থাকে না */
@media (min-width: 560px)  { .loccards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 820px)  { .loccards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .loccards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.loccard a {
  display: grid; grid-template-columns: auto minmax(0, 1fr);
  /* শেষ সারি (লিংক-লেখা) সব কার্ডে নিচে বসে — ব্লার্ব ছোট-বড় যেমনই হোক */
  grid-template-rows: auto 1fr auto;
  gap: var(--s-3) var(--s-4); align-items: start;
  height: 100%; padding: var(--s-5);
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--r-lg);
  text-decoration: none;
  transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.loccard a:hover, .loccard a:focus-visible {
  background: rgba(201, 174, 116, .1);
  border-color: rgba(201, 174, 116, .55);
}
.loccard__pin { grid-row: span 2; color: var(--c-gold-bright); margin-top: .2em; }
.loccard__pin svg { width: 1.3rem; height: 1.3rem; stroke-width: 1.5; }
.loccard__body { display: grid; gap: .15rem; min-width: 0; }
.loccard__bn { color: #fff; font-size: var(--t-lg); line-height: 1.3; }
.loccard__en { font-size: var(--t-xs); color: #9fadc4; }
.loccard__blurb { font-size: var(--t-sm); color: #c7cfc4; line-height: 1.7; margin-top: var(--s-2); }
.loccard__go {
  grid-column: 1 / -1;
  display: flex; align-items: center; gap: .45em;
  margin-top: var(--s-4); padding-top: var(--s-3);
  border-block-start: 1px solid rgba(255, 255, 255, .12);
  font-size: var(--t-xs); font-weight: 600;
  color: var(--c-gold-bright);
}
.loccard__go svg { width: 1em; height: 1em; transition: transform var(--dur) var(--ease); }
.loccard a:hover .loccard__go svg { transform: translateX(.25rem); }

/* ── ১৪.৭ বুকিং ব্যান্ড — সময় নেওয়ার আহ্বান ও চেম্বারের সময় ─────────── */

.section--book {
  background:
    radial-gradient(ellipse 70% 90% at 12% 0%, rgba(29, 74, 57, .55), transparent 62%),
    var(--c-ink);
  color: #e2ded3;
}
.section--book :is(h2, h3) { color: #fff; }
.section--book .eyebrow { color: #c9ae74; }
.bookband { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.5rem, 3.5vw, 3rem); align-items: center; }
@media (min-width: 900px) {
  .bookband { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
}
.bookband__body > p {
  color: #b0bab0; max-width: 56ch; line-height: 1.8;
  margin: 0 0 var(--s-5);
}
.bookband__body > p[lang="en"] { line-height: 1.72; }
.bookband__hours {
  margin: 0; padding: var(--s-5);
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--r-lg);
}
.bookband__hours dt {
  font-size: var(--t-xs); color: var(--c-gold-bright);
  margin-top: var(--s-4);
}
.bookband__hours dt:first-child { margin-top: 0; }
.bookband__hours dd { margin: .2rem 0 0; font-size: var(--t-sm); color: #e2ded3; }

/* ── ১৪.৮ Visit Spark Advocates — NAP ও মানচিত্র ─────────────────────────
   নাম-ঠিকানা-ফোন spark_nap() থেকেই, তাই স্কিমা ও ফুটারের সঙ্গে হুবহু
   মেলে। মানচিত্র কী-ছাড়া এমবেড — পাবলিক সাইটে API key রাখা হয় না।
   মানচিত্রটি হালকা গ্রে-টোনে: পাতার রঙের সঙ্গে মেলে, আর এটি তথ্য,
   অলংকার নয়।                                                        */

.visit { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.75rem, 4vw, 3.25rem); align-items: stretch; }
@media (min-width: 980px) {
  .visit { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
.visit__body > p { color: var(--c-text-soft); max-width: 56ch; line-height: 1.8; }
.visit__nap { margin: var(--s-5) 0 var(--s-6); }
.visit__nap dt { font-size: var(--t-xs); color: var(--c-text-mute); margin-top: var(--s-4); }
.visit__nap dt:first-child { margin-top: 0; }
.visit__nap dd {
  margin: .25rem 0 0; padding-bottom: var(--s-3);
  border-block-end: 1px solid var(--c-border-soft);
  font-size: var(--t-sm); color: var(--c-ink-soft); line-height: 1.7;
}
.visit__nap a { color: var(--c-brand); }
.visit__map { display: flex; }
.visit__map iframe {
  display: block; width: 100%; height: 100%; min-height: 26rem;
  border: 1px solid var(--c-border); border-radius: var(--r-lg);
  box-shadow: var(--sh-sm);
  filter: grayscale(.2) contrast(1.03);
}

/* ── ১৪.৯ প্রিন্ট ও মোশন ─────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .seo-more svg, .pacompact__go svg, .loccard__go svg { transition: none; }
}

@media print {
  .hero--light { background: #fff; }
  .visit__map { display: none !important; }
}

/* ── সম্মতি-ব্যানার (GA4/Pixel গেট, inc/privacy.php) ──
   ফুটারে সরু বার — নিচে সেঁটে থাকে, পড়া-বাধা দেয় না। */
.spark-consent {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 9998;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.25rem;
  justify-content: center;
  padding: .9rem 1.25rem;
  background: var(--c-ink, #0b261d);
  color: #f4f1ea;
  box-shadow: 0 -8px 30px -18px rgba(0, 0, 0, .6);
  font-size: .92rem;
  line-height: 1.6;
}
.spark-consent__text { margin: 0; max-width: 60ch; }
.spark-consent__text a { color: var(--c-gold-bright, #c9ae74); text-underline-offset: 3px; }
.spark-consent__btns { display: flex; gap: .6rem; flex: 0 0 auto; }
.spark-consent .spark-consent__decline { color: #f4f1ea; border-color: rgba(244, 241, 234, .4); }
@media (prefers-reduced-motion: reduce) {
  .spark-consent { box-shadow: none; }
}

/* ═══════════════════════════════════════════════════════════════════════
   ১৩. ব্লগ প্রিমিয়াম উন্নতি (single + archive + sidebar) — যোগ-only
   বিদ্যমান .entry-*, .card, .widget, .author-box নিয়ম অপরিবর্তিত; এগুলো
   নতুন ক্লাস বা বিদ্যমানের পরিপূরক নিয়ম মাত্র।
   ═══════════════════════════════════════════════════════════════════════ */

/* — single: সংক্ষিপ্ত ভূমিকা — */
.entry-intro {
  font-family: var(--f-head);
  font-size: var(--t-lg);
  line-height: 1.7;
  color: var(--c-ink-soft);
  max-width: 60ch;
  margin: 0 0 var(--s-4);
}

/* — entry-meta: লেখক আইকন — */
.entry-meta__ic { width: 1em; height: 1em; }
.entry-meta__author { font-weight: 600; color: var(--c-ink-soft); }

/* — share: native-share বোতাম কার্সর — */
.share .js-native-share { cursor: pointer; }

/* ── author-box প্রিমিয়াম (navy/gold) ─────────────────────────────────── */
.author-box--premium {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--s-5);
  align-items: start;
  background: linear-gradient(155deg, var(--c-ink) 0%, var(--c-brand) 100%);
  border: 1px solid transparent;
  border-top: 3px solid var(--c-gold);
  color: #eaf0f8;
  padding: var(--s-6);
}
.author-box--premium .author-box__photo img {
  width: 96px; height: 96px;
  border-radius: var(--r-full);
  object-fit: cover;
  border: 2px solid rgba(201, 174, 116, .55);
}
.author-box--premium .author-box__eyebrow {
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: #7b827c;
}
.author-box--premium .author-box__name {
  font-size: var(--t-xl); color: #fff; margin: .2em 0 .1em;
}
.author-box--premium .author-box__role {
  display: block;
  font-family: var(--f-ui); font-size: var(--t-sm); font-weight: 600;
  color: #c9ae74;
}
.author-box--premium .author-box__bio {
  font-size: var(--t-sm); line-height: 1.8; color: #cdd7e6;
  margin: var(--s-3) 0 0; max-width: 62ch;
}
.author-box--premium .author-box__areas {
  display: flex; flex-wrap: wrap; gap: .5rem; margin-top: var(--s-4);
}
.author-box--premium .author-box__chip {
  font-family: var(--f-ui); font-size: var(--t-xs); font-weight: 600;
  text-decoration: none; color: #eaf0f8;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--r-full);
  padding: .32em .9em;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.author-box--premium .author-box__chip:hover {
  background: rgba(201, 174, 116, .22);
  border-color: rgba(201, 174, 116, .5);
}
.author-box--premium .author-box__actions {
  display: flex; flex-wrap: wrap; gap: .6rem; margin-top: var(--s-5);
}
.author-box--premium .btn--ghost {
  color: #fff; border-color: rgba(255, 255, 255, .4);
}
@media (max-width: 640px) {
  .author-box--premium { grid-template-columns: 1fr; text-align: center; }
  .author-box--premium .author-box__photo img { margin-inline: auto; }
  .author-box--premium .author-box__areas,
  .author-box--premium .author-box__actions { justify-content: center; }
  .author-box--premium .author-box__bio { text-align: start; }
}

/* ── sidebar: search উইজেট ─────────────────────────────────────────────── */
.widget--search .search-form { display: flex; gap: .4rem; }
.widget--search .search-form input[type="search"] { flex: 1 1 auto; min-width: 0; }

/* ── sidebar: mini-post তালিকা (নির্বাচিত/সর্বশেষ) ─────────────────────── */
.mini-posts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-4); }
.widget .mini-posts li + li { margin-top: 0; padding-top: 0; border-top: 0; }
.mini-post__link {
  display: grid; grid-template-columns: 64px 1fr; gap: var(--s-3);
  align-items: center; text-decoration: none;
}
.mini-post__link:has(> .mini-post__body:only-child) { grid-template-columns: 1fr; }
.mini-post__thumb {
  display: block; width: 64px; height: 64px; overflow: hidden;
  border-radius: var(--r-md); background: var(--c-brand-tint);
}
.mini-post__thumb img { width: 100%; height: 100%; object-fit: cover; }
.mini-post__title {
  display: block;
  font-family: var(--f-head); font-weight: 600; font-size: var(--t-sm);
  line-height: 1.45; color: var(--c-ink);
}
.mini-post__link:hover .mini-post__title { color: var(--c-brand-mid); }
.mini-post__meta {
  display: flex; flex-wrap: wrap; gap: .3em .7em; margin-top: .35em;
  font-family: var(--f-ui); font-size: var(--t-xs); color: var(--c-text-mute);
}
.mini-post__cat { color: var(--c-gold-deep); font-weight: 600; }

/* ── sidebar: প্র্যাকটিস এরিয়া লিংক ────────────────────────────────────── */
.area-links { list-style: none; margin: 0; padding: 0; }
.widget .area-links li + li { margin-top: 0; padding-top: 0; border-top: 0; }
.area-links a {
  display: flex; align-items: center; gap: .6em;
  padding: .5em 0; text-decoration: none;
  border-bottom: 1px solid var(--c-border-soft);
}
.area-links li:last-child a { border-bottom: 0; }
.area-links__dot {
  flex: 0 0 auto; width: .42em; height: .42em; border-radius: 50%;
  background: var(--c-gold);
}
.area-links a:hover { color: var(--c-brand-mid); }

/* ── sidebar: নিউজলেটার উইজেট ──────────────────────────────────────────── */
.widget--news .widget-news__lede {
  font-size: var(--t-sm); line-height: 1.7; color: var(--c-text-soft);
  margin: 0 0 var(--s-4);
}

/* ── কন্টেন্ট callout (হাইলাইট বক্স + ইনলাইন সতর্কতা — মালিক চাইলে বসাবেন) ─
   ব্যবহার: .entry-content-এ div.sp-callout বা div.sp-callout.sp-callout--warn
   — স্বয়ংক্রিয় নয়। */
.entry-content .sp-callout {
  margin: var(--s-6) 0;
  padding: var(--s-5) var(--s-5) var(--s-5) calc(var(--s-5) + .5rem);
  background: var(--c-brand-tint);
  border-inline-start: 4px solid var(--c-brand);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.entry-content .sp-callout > :last-child { margin-bottom: 0; }
.entry-content .sp-callout--warn {
  background: rgba(201, 174, 116, .1);
  border-inline-start-color: var(--c-gold-deep);
}

/* ── archive: গ্রিড + নির্বাচিত বড় কার্ড ───────────────────────────────── */
.post-grid {
  display: grid; gap: var(--s-5);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}
.card--featured { grid-column: 1 / -1; }
@media (min-width: 720px) {
  .card--featured {
    display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: var(--s-6); align-items: center; padding: 0; overflow: hidden;
  }
}
.card--featured__thumb { overflow: hidden; background: var(--c-brand-tint); }
.card--featured__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 719px) {
  .card--featured__thumb { border-radius: var(--r-lg) var(--r-lg) 0 0; max-height: 240px; }
}
.card--featured__body { display: flex; flex-direction: column; gap: var(--s-3); }
@media (min-width: 720px) { .card--featured__body { padding: var(--s-6); } }
@media (max-width: 719px) { .card--featured__body { padding: var(--s-5); } }
.card--featured__title { font-size: var(--t-xl); line-height: var(--lh-head); margin: 0; }
.card--featured__title a { text-decoration: none; color: inherit; }
.card--featured__title a:hover { color: var(--c-brand-mid); }
.card--featured__more {
  display: inline-flex; align-items: center; gap: .4em; align-self: start;
  font-family: var(--f-ui); font-weight: 600; font-size: var(--t-sm);
  text-decoration: none; color: var(--c-brand); margin-top: auto;
}
.card--featured__more svg { width: 1.1em; height: 1.1em; transition: transform var(--dur) var(--ease); }
.card--featured__more:hover svg { transform: translateX(3px); }
.card__author { font-weight: 600; }

/* ==========================================================================
   ১৪. বড় লোগো — নেভবারের চেয়ে লম্বা, কিন্তু হেডারের উচ্চতা অপরিবর্তিত
   --------------------------------------------------------------------------
   হেডার-সারি এখনো --header-h (৭৬px) উঁচু; শুধু লোগো-মার্ক বড় করে ঋণাত্মক
   margin দিয়ে সারির বাইরে বার করা হয় — তাই মেনু, স্পেসিং, টাইপোগ্রাফি,
   লেআউট সব অক্ষত। overflow দৃশ্যমান, z-index বাড়ানো — লোগো কাটা পড়ে না
   ও দরকারে অন্য উপাদানের ওপরে থাকে। ব্র্যান্ডিং/রং বদলায় না।
   ========================================================================== */

/* ডেস্কটপ: ~৯৬px মার্ক = ৭৬px সারির চেয়ে ~২৬% লম্বা; সারির দুই পাশে ~১০px
   করে উপচে পড়ে, তবু সারির min-height ৭৬px-ই থাকে (margin height বাড়ায় না)। */
.brand--logo-only .brand__mark {
  width: 96px; height: 96px;
  margin-block: -10px;         /* সারির উচ্চতা না বাড়িয়ে উপর-নিচে উপচে পড়ে */
  position: relative; z-index: 2;
  overflow: visible;           /* লোগো যেন কখনো কাটা না পড়ে */
  /* আসল (ট্রান্সপারেন্ট) লোগো বসলে মনোগ্রাম-ফলব্যাকের রঙিন প্লেট চাই না —
     নইলে ট্রান্সপারেন্ট অংশ দিয়ে gradient (লাল/নেভি) দেখা যায়। */
  background: none !important;
  border: none !important;
  border-radius: 0;
  box-shadow: none !important;
}
.brand--logo-only .brand__mark img { border-radius: 0; }

/* ট্যাবলেট (≤১০২৩px, নেভ toggle-এ): সামান্য ছোট, তবু সারির চেয়ে লম্বা। */
@media (max-width: 1023px) {
  .brand--logo-only .brand__mark {
    width: 84px; height: 84px;
    margin-block: -8px;
  }
}

/* মোবাইল (≤600px): আরও ছোট — পাশের toggle/CTA-র সঙ্গে ঠিক স্পেসিং,
   কোনো ওভারল্যাপ নয়; সারির ভেতরেই সুন্দরভাবে বসে। */
@media (max-width: 600px) {
  .brand--logo-only .brand__mark {
    width: 60px; height: 60px;
    margin-block: -6px;
  }
}
@media (max-width: 380px) {
  .brand--logo-only .brand__mark {
    width: 52px; height: 52px;
    margin-block: -5px;
  }
}

/* ==========================================================================
   ১৫. গাঢ় সেকশনে বোতামের টেক্সট-রং ঠিক করা (CTA ব্যান্ড ইত্যাদি)
   --------------------------------------------------------------------------
   `.section--deep a { color:#dcc48c }` (টেক্সট-লিংকের জন্য) specificity-তে
   `.btn { color: var(--btn-fg) }`-কে হারিয়ে দিচ্ছিল — ফলে গাঢ় সেকশনের
   বোতামগুলো ফ্যাকাশে-সোনালি টেক্সট পাচ্ছিল: "অ্যাপয়েন্টমেন্ট নিন" সোনালির
   ওপর সোনালি, "হোয়াটসঅ্যাপ" সাদার ওপর সোনালি (প্রায় অদৃশ্য)। বোতাম তো
   টেক্সট-লিংক নয় — তাই বোতামকে তার নিজের --btn-fg ফেরত দিই। এতে বোতামের
   ডিজাইন/রং অপরিবর্তিত, শুধু টেক্সট-রঙের বিরোধ মেটে। hover আগেই ঠিক ছিল।
   ========================================================================== */
.section--deep .btn { color: var(--btn-fg); }

/* ==========================================================================
   ১৬. পেজ-এনহ্যান্স — Elementor-পরবর্তী কাঁচা পেজ-কন্টেন্টের নকশা
   ==========================================================================
   আমদানি করা পেজে Elementor-এর লেআউট নেই; কন্টেন্ট কাঁচা <section>/<h*>/<ul>
   হিসেবে আসে। inc/page-enhance.php সেগুলোয় ক্লাস বসায় (pe-section, pe-hero,
   pe-feat), CTA-লিংককে .btn করে। এখানে সেই ক্লাসগুলোর নকশা — সব থিম-টোকেনে।
   ভাগ করা ব্যান্ড-ছন্দ: জোড়/বিজোড় সেকশনে সূক্ষ্ম পটভূমি-পরিবর্তন।       */

.entry-content .pe-section {
  margin: 0 0 var(--s-8);
  padding-top: var(--s-2);
}
.entry-content .pe-section:last-child { margin-bottom: 0; }

/* হিরো — প্রথম সেকশন: উষ্ণ কাগুজে পটে কার্ড, বাঁয়ে লেখা + ডানে সেবা-তালিকা */
.entry-content .pe-hero {
  background: var(--c-paper);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: clamp(var(--s-5), 4vw, var(--s-8));
  margin-bottom: var(--s-8);
  display: grid;
  gap: var(--s-5) var(--s-7);
  grid-template-columns: 1fr;
}
@media (min-width: 860px) {
  .entry-content .pe-hero { grid-template-columns: 1.5fr 1fr; align-items: start; }
}
.entry-content .pe-hero h1 {
  font-size: var(--t-3xl); line-height: var(--lh-tight);
  margin: var(--s-2) 0 var(--s-4);
}
.entry-content .pe-hero > h3 {
  margin-top: 0; padding-bottom: var(--s-3);
  border-bottom: 2px solid var(--c-gold-hair);
  color: var(--c-brand);
}
/* হিরোর ভেতরের সেবা-তালিকা কার্ড-ঘেঁষা */
.entry-content .pe-hero ul { margin-bottom: var(--s-4); }

/* CTA বোতাম-গুচ্ছ — সেকশনের সরাসরি লিংকগুলো পাশাপাশি বসে */
.entry-content .pe-section > .btn { margin: var(--s-2) var(--s-2) var(--s-4) 0; }
.entry-content .pe-hero > .btn { margin-top: var(--s-2); }

/* ফিচার-আইটেম ("✔ …") — টিক-আইকন + দুই-কলাম গ্রিড */
.entry-content ul:has(> li.pe-feat) {
  list-style: none;
  padding-inline-start: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: var(--s-2) var(--s-5);
}
.entry-content li.pe-feat {
  position: relative;
  padding-inline-start: 1.75em;
  margin-bottom: var(--s-2);
}
.entry-content li.pe-feat::before {
  content: "✓";
  position: absolute; inset-inline-start: 0; top: 0;
  width: 1.25em; height: 1.25em; line-height: 1.25em;
  text-align: center;
  font-size: .78em; font-weight: 700;
  color: var(--c-gold-deep);
  background: var(--c-gold-light);
  border-radius: var(--r-full);
}
/* pe-feat থাকলে থিমের সাধারণ গোল-বুলেট নিষ্ক্রিয় */
.entry-content li.pe-feat::marker { content: none; }

/* Practice Areas আইকন-গ্রিড: <a><img 100x100></a> + <h3><a>…</a></h3> —
   ছোট আইকন-ছবিওয়ালা লিংককে কার্ড-কেন্দ্রে সাজাই */
.entry-content a > img[width="100"] {
  display: block; margin: 0 auto var(--s-2);
  width: 72px; height: 72px; object-fit: contain;
}

/* কেন্দ্রায়িত লিগ্যাসি হেডিং (style="text-align:center") — বড় পরিসরে ঠিক দেখায় */
.entry-content h1[style*="center"],
.entry-content h2[style*="center"] { max-width: none; }

/* ══════════════════════════════════════════════════════════════════════
   ১৪. লাইভ প্রিভিউ ভাসমান ব্যাজ (Live Template Preview Pill)
   ══════════════════════════════════════════════════════════════════════ */
.spark-live-preview-pill {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  background: rgba(11, 38, 29, 0.94);
  color: #f1f5f9;
  border: 1.5px solid var(--c-gold);
  border-radius: 9999px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  font-family: var(--f-ui);
  font-size: var(--t-xs);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.spark-live-preview-pill--footer {
  bottom: 84px;
}
.spark-live-preview-pill .spark-dot-pulse {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35);
}
.spark-live-preview-pill strong {
  color: var(--c-gold);
  font-weight: 700;
}
.spark-live-preview-pill__close {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  text-decoration: none;
  font-size: 15px;
  line-height: 1;
  margin-inline-start: 6px;
  transition: background 0.15s ease;
}
.spark-live-preview-pill__close:hover {
  background: #ef4444;
}

/* ══════════════════════════════════════════════════════════════════════
   ১৫. নতুন হেডার প্রিসেটস (New Header Presets 2.0)
   ══════════════════════════════════════════════════════════════════════ */

/* ১. কর্পোরেট চেম্বার ও ডিরেক্ট কল */
.site-header--corporate_chambers {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 2px solid var(--c-gold);
}
.site-header--corporate_chambers .brand {
  gap: var(--s-3);
}
.site-header--corporate_chambers .header-phone-pill {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border-soft);
  border-radius: 9999px;
  font-family: var(--f-ui);
  font-size: var(--t-xs);
}
@media (min-width: 1100px) {
  .site-header--corporate_chambers .header-phone-pill { display: inline-flex; }
}
.site-header--corporate_chambers .header-phone-pill a {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--c-ink);
  text-decoration: none;
}
.site-header--corporate_chambers .header-phone-pill strong {
  color: var(--c-brand);
}

/* ২. ফ্লোটিং পিল ও আইল্যান্ড বার */
.site-header--floating_pill {
  position: sticky;
  top: 14px;
  margin: 12px auto 0;
  max-width: calc(var(--wrap-wide) - 32px);
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.88);
  border: 1.5px solid rgba(197, 160, 89, 0.35);
  box-shadow: 0 10px 32px rgba(11, 38, 29, 0.08);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header--floating_pill .site-header__in {
  min-height: 58px;
  padding-inline: var(--s-4);
}
.site-header--floating_pill .header-cta {
  border-radius: 9999px;
  box-shadow: 0 4px 14px rgba(197, 160, 89, 0.35);
}
:root[data-theme="dark"] .site-header--floating_pill {
  background: rgba(11, 38, 29, 0.88);
  border-color: rgba(197, 160, 89, 0.45);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
}

/* ৩. স্প্লিট মেগা-শোকেস ও কুইক-সার্চ বার */
.site-header--mega_nav .header-search-bar {
  display: none;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  color: var(--c-text-mute);
  font-family: var(--f-ui);
  font-size: var(--t-xs);
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 240px;
}
@media (min-width: 1024px) {
  .site-header--mega_nav .header-search-bar { display: inline-flex; }
}
.site-header--mega_nav .header-search-bar:hover {
  border-color: var(--c-gold);
  background: #ffffff;
  color: var(--c-ink);
}
.site-header--mega_nav .header-search-bar__kbd {
  margin-inline-start: auto;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.08);
}

/* ══════════════════════════════════════════════════════════════════════
   ১৬. নতুন ফুটার প্রিসেটস (New Footer Presets 2.0)
   ══════════════════════════════════════════════════════════════════════ */

/* ১. মডার্ন চেম্বার গ্রিড ও ট্রাস্ট ব্যান্ড */
.site-footer--modern_chambers {
  background: linear-gradient(180deg, #071712 0%, #040e0b 100%);
  color: #e2e8f0;
}
.site-footer__trust-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
  padding: var(--s-6) 0 var(--s-5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: var(--s-6);
}
.trust-band__brand {
  display: flex;
  align-items: center;
  gap: var(--s-4);
}
.trust-band__name {
  margin: 0 0 4px;
  font-family: var(--f-head);
  font-size: 1.35rem;
  color: #ffffff;
}
.trust-band__tagline {
  margin: 0;
  font-size: var(--t-sm);
  color: #94a3b8;
  max-width: 480px;
}
.trust-band__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3);
}
.trust-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(197, 160, 89, 0.3);
  border-radius: var(--r-md);
  font-size: var(--t-xs);
}
.trust-badge__icon {
  font-size: 22px;
  color: var(--c-gold);
}
.trust-badge strong {
  display: block;
  color: #ffffff;
}
.trust-badge span {
  color: #94a3b8;
}
.trust-badge--hotline {
  background: rgba(197, 160, 89, 0.12);
}
.trust-badge--hotline a {
  color: var(--c-gold);
  text-decoration: none;
}
.site-footer__top--modern {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: var(--s-6);
}
.footer-book-btn {
  margin-top: var(--s-3);
  display: inline-block;
}

/* ২. মিনিমালিস্ট ও লিগ্যাল ডিসক্লেইমার */
.site-footer--minimal_legal {
  background: #060e0b;
  text-align: center;
  padding-block: var(--s-7) var(--s-4);
}
.site-footer__minimal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-4);
  max-width: 800px;
  margin: 0 auto var(--s-5);
}
.minimal-brand h2 {
  margin: var(--s-2) 0 4px;
  font-size: 1.4rem;
  color: #ffffff;
}
.minimal-brand p {
  margin: 0;
  font-size: var(--t-sm);
  color: #94a3b8;
}
.minimal-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--s-4);
  padding: 0;
  list-style: none;
  margin: 0;
}
.minimal-nav a {
  color: #cbd5e1;
  text-decoration: none;
  font-size: var(--t-sm);
}
.minimal-nav a:hover {
  color: var(--c-gold);
}
.minimal-disclaimer {
  background: rgba(197, 160, 89, 0.06);
  border: 1px solid rgba(197, 160, 89, 0.25);
  border-radius: var(--r-md);
  padding: 12px 20px;
  font-size: var(--t-xs);
  color: #94a3b8;
  line-height: 1.55;
  text-align: justify;
}
.minimal-disclaimer strong {
  color: var(--c-gold);
}

/* ৩. স্প্লিট ব্র্যান্ড ও ডিরেক্ট কেস অ্যাকশন */
.site-footer--split_action {
  background: #091a13;
}
.site-footer__split {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
  padding-block: var(--s-6);
}
@media (min-width: 900px) {
  .site-footer__split {
    grid-template-columns: 1fr 1.2fr;
    align-items: center;
  }
}
.split-action-box {
  background: linear-gradient(145deg, #0e3024, #0b261d);
  border: 1.5px solid rgba(197, 160, 89, 0.4);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}
.split-action-box h2 {
  margin: 6px 0 10px;
  font-size: 1.45rem;
  color: #ffffff;
}
.split-action-box p {
  color: #cbd5e1;
  font-size: var(--t-sm);
  margin-bottom: var(--s-4);
}
.split-action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}
.split-info-box .split-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-5);
}
.split-info-box h3 {
  color: #ffffff;
  font-size: 1.05rem;
  margin-bottom: 12px;
}
.split-social {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}
.split-social a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
.split-social svg { width: 16px; height: 16px; }

/* ══════════════════════════════════════════════════════════════════════
   ১৭. নতুন ব্লগ ক্যাটাগরি ও আর্কাইভ লেআউটস (Archive Layouts)
   ══════════════════════════════════════════════════════════════════════ */

/* এডিটোরিয়াল কেস-ল রো */
.post-list--editorial {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.post-list--editorial .card--row {
  border-left: 4px solid var(--c-gold);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  transition: all 0.2s ease;
}
.post-list--editorial .card--row:hover {
  transform: translateX(4px);
  border-left-color: var(--c-brand);
}

/* মডার্ন ৩-কলাম মিনিমাল কার্ডস */
.post-grid--compact {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: var(--s-4);
}
.post-grid--compact .card {
  box-shadow: var(--sh-sm);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.post-grid--compact .card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-md);
}

/* লিগ্যাল ম্যাগাজিন স্প্লিট */
.post-grid--magazine {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-4);
}
@media (min-width: 860px) {
  .post-grid--magazine {
    grid-template-columns: 1.3fr 1fr;
  }
  .post-grid--magazine > .card--featured {
    grid-row: span 3;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   ১৮. নতুন পেজ টেমপ্লেটস (New Page Templates)
   ══════════════════════════════════════════════════════════════════════ */

/* ── ১. আইনজীবী প্রোফাইল পেজ (attorney-profile.php) ─────────────── */
.attorney-hero {
  padding-block: var(--s-6) var(--s-7);
  background: linear-gradient(135deg, var(--c-bg-alt) 0%, rgba(197, 160, 89, 0.08) 100%);
  border-bottom: 1px solid var(--c-border);
}
.attorney-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
  align-items: center;
}
@media (min-width: 840px) {
  .attorney-hero__grid { grid-template-columns: 320px 1fr; }
}
.attorney-hero__media {
  position: relative;
  text-align: center;
}
.attorney-hero__img {
  width: 100%;
  max-width: 320px;
  height: 380px;
  object-fit: cover;
  border-radius: var(--r-lg);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
  border: 4px solid #ffffff;
}
.attorney-hero__avatar-placeholder {
  width: 100%;
  max-width: 320px;
  height: 380px;
  border-radius: var(--r-lg);
  background: linear-gradient(135deg, var(--c-brand), var(--c-ink));
  display: grid;
  place-items: center;
}
.attorney-hero__monogram {
  font-size: 5rem;
  font-family: var(--f-head);
  color: var(--c-gold);
  font-weight: 700;
}
.attorney-hero__experience-badge {
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--c-gold);
  color: #0b261d;
  padding: 8px 18px;
  border-radius: 9999px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.attorney-hero__experience-badge .badge-num { font-size: 1.3rem; font-weight: 900; }
.attorney-hero__experience-badge .badge-lbl { font-size: 0.8rem; font-weight: 700; }

.attorney-hero__eyebrow-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: var(--s-2);
}
.attorney-hero__name {
  margin: 0 0 6px;
  font-size: clamp(1.8rem, 2.4vw, 2.6rem);
}
.attorney-hero__designation {
  font-size: var(--t-md);
  color: var(--c-brand);
  font-weight: 600;
  margin-bottom: 4px;
}
.attorney-hero__assoc {
  font-size: var(--t-sm);
  color: var(--c-text-mute);
  margin-bottom: var(--s-3);
}
.attorney-hero__quote {
  font-family: var(--f-head);
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--c-ink);
  background: rgba(255, 255, 255, 0.7);
  padding: 14px 20px;
  border-left: 4px solid var(--c-gold);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  margin: 0 0 var(--s-4);
}
.attorney-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}

.attorney-body-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
  padding-block: var(--s-7);
}
@media (min-width: 960px) {
  .attorney-body-layout { grid-template-columns: 1fr 340px; }
}
.attorney-card-block {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  margin-bottom: var(--s-5);
  box-shadow: var(--sh-sm);
}
.attorney-block-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.3rem;
  margin-bottom: var(--s-4);
  color: var(--c-ink);
}
.attorney-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  position: relative;
  padding-left: var(--s-4);
  border-left: 2px solid var(--c-gold-light);
}
.timeline-step {
  position: relative;
}
.timeline-step__year {
  display: inline-block;
  background: var(--c-brand);
  color: #ffffff;
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: var(--t-xs);
  font-weight: 700;
  margin-bottom: 6px;
}
.timeline-step h4 { margin: 0 0 4px; font-size: 1.05rem; }
.timeline-step p { margin: 0; color: var(--c-text-mute); font-size: var(--t-sm); }

.attorney-cases-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--s-3);
}
.case-highlight-card {
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border-soft);
  border-radius: var(--r-md);
  padding: 16px;
}
.case-highlight-card .case-cat {
  font-size: 11px;
  font-weight: 700;
  color: var(--c-gold-deep);
  text-transform: uppercase;
}
.case-highlight-card h4 {
  margin: 6px 0 8px;
  font-size: 0.95rem;
}
.case-highlight-card p {
  margin: 0;
  font-size: var(--t-xs);
  color: var(--c-text);
  line-height: 1.5;
}

.attorney-side-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  margin-bottom: var(--s-4);
  box-shadow: var(--sh-sm);
}
.attorney-side-card h3 { margin: 0 0 var(--s-3); font-size: 1.15rem; }
.attorney-specialties-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.attorney-specialties-list li {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-border-soft);
}
.attorney-specialties-list strong { display: block; color: var(--c-ink); font-size: var(--t-sm); }
.attorney-specialties-list span { font-size: var(--t-xs); color: var(--c-text-mute); }
.attorney-side-card--cta {
  background: linear-gradient(145deg, var(--c-brand), var(--c-ink));
  color: #ffffff;
  border: none;
}
.attorney-side-card--cta h3 { color: var(--c-gold); }
.attorney-side-card--cta p { color: #cbd5e1; font-size: var(--t-xs); }
.side-nap { margin: var(--s-3) 0; font-size: var(--t-xs); color: #cbd5e1; }
.side-nap p { margin-bottom: 4px; }

/* ── ২. মামলার রায় ও নজির পেজ (case-study.php) ────────────────────── */
.case-header {
  padding-block: var(--s-6);
  background: var(--c-bg-alt);
  border-bottom: 1px solid var(--c-border);
}
.case-header__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--s-3);
}
.case-header__title {
  margin: 0 0 var(--s-4);
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
}
.case-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  background: #ffffff;
  padding: 18px;
  border-radius: var(--r-md);
  border: 1px solid var(--c-border);
}
.case-meta-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--c-text-mute);
  margin-bottom: 2px;
}
.case-meta-value {
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--c-ink);
}
.case-body-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
  padding-block: var(--s-6);
}
@media (min-width: 900px) {
  .case-body-layout { grid-template-columns: 1fr 320px; }
}
.case-section-box {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--s-5);
  margin-bottom: var(--s-4);
}
.case-section-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.25rem;
  margin-bottom: var(--s-3);
  color: var(--c-ink);
}
.case-section-heading .step-num {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c-gold);
  color: #0b261d;
  font-size: 14px;
  font-weight: 800;
}
.case-issues-list {
  padding-left: var(--s-4);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.case-ratio-quote {
  font-family: var(--f-head);
  font-style: italic;
  font-size: 1.05rem;
  background: rgba(197, 160, 89, 0.08);
  border-left: 4px solid var(--c-gold);
  padding: 16px 20px;
  border-radius: 0 var(--r-md) var(--r-md) 0;
  margin: var(--s-3) 0 0;
}
.outcome-pill-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #f0fdf4;
  border: 1.5px solid #86efac;
  border-radius: var(--r-md);
  padding: 18px;
}
.outcome-icon { font-size: 2rem; line-height: 1; }
.outcome-pill-card h4 { margin: 0 0 6px; color: #166534; font-size: 1.1rem; }
.outcome-pill-card p { margin: 0; color: #15803d; font-size: var(--t-sm); }
.case-card-cta {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  box-shadow: var(--sh-sm);
}
.case-prep-docs {
  list-style: none;
  padding: 0;
  margin: var(--s-3) 0 var(--s-4);
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: var(--t-xs);
  color: var(--c-text);
}
.case-prep-docs li {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ── ৩. প্র্যাকটিস শোকেস পেজ (practice-showcase.php) ──────────────── */
.practice-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: var(--s-5);
  margin-block: var(--s-6);
}
.practice-feature-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: var(--sh-sm);
}
.practice-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-md);
  border-color: var(--c-gold);
}
.practice-feature-card__head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: var(--s-3);
}
.practice-icon { font-size: 2rem; line-height: 1; }
.practice-feature-card h3 { margin: 0 0 4px; font-size: 1.2rem; }
.statute-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: var(--c-gold-deep);
  background: var(--c-gold-light);
  padding: 2px 8px;
  border-radius: 4px;
}
.practice-feature-card__desc {
  font-size: var(--t-sm);
  color: var(--c-text);
  line-height: 1.6;
  margin-bottom: var(--s-3);
}
.practice-points {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--s-4);
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: var(--t-xs);
  color: var(--c-text-mute);
  flex: 1;
}
.practice-points li {
  position: relative;
  padding-left: 16px;
}
.practice-points li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--c-gold);
  font-weight: bold;
}
.card-action-link {
  font-weight: 700;
  font-size: var(--t-sm);
  color: var(--c-brand);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.card-action-link:hover { color: var(--c-gold-deep); }
.card-action-link--urgent { color: #dc2626; }

.litigation-steps-section {
  padding-block: var(--s-6) var(--s-7);
  border-top: 1px solid var(--c-border);
  margin-top: var(--s-6);
}
.steps-flow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--s-4);
  margin-top: var(--s-5);
}
.flow-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--s-4);
  position: relative;
  box-shadow: var(--sh-sm);
}
.flow-badge {
  display: inline-block;
  background: var(--c-brand);
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 9999px;
  margin-bottom: 10px;
}
.flow-card h4 { margin: 0 0 8px; font-size: 1.05rem; }
.flow-card p { margin: 0; font-size: var(--t-xs); color: var(--c-text-mute); line-height: 1.5; }

/* ══════════════════════════════════════════════════════════════════════
   ১৬. প্রিমিয়াম চেম্বার হোমপেজ ও লোকাল এসইও হাব (homepage-premium.php)
   ══════════════════════════════════════════════════════════════════════ */
.prem-home-layout {
  overflow-x: hidden;
}

/* ১. ফ্ল্যাগশিপ হিরো সেকশন */
.prem-hero {
  background: linear-gradient(135deg, #0b261d 0%, #12372a 60%, #1d4a39 100%);
  color: #f5f3ed;
  padding-block: var(--s-6) var(--s-7);
  position: relative;
  border-bottom: 2px solid var(--c-gold);
}
.prem-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(184, 155, 94, 0.15) 0%, transparent 60%);
  pointer-events: none;
}
.prem-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
  align-items: center;
}
@media (min-width: 1024px) {
  .prem-hero__grid { grid-template-columns: 1.25fr 0.95fr; }
}
.prem-badge-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: var(--s-4);
}
.prem-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 9999px;
  font-family: var(--f-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.prem-badge--gold {
  background: rgba(184, 155, 94, 0.18);
  border: 1px solid var(--c-gold);
  color: var(--c-gold);
}
.prem-badge--glass {
  background: rgba(245, 243, 237, 0.1);
  border: 1px solid rgba(184, 155, 94, 0.25);
  color: #f5f3ed;
}
.prem-hero__title {
  margin: 0 0 var(--s-4);
  line-height: 1.25;
}
.prem-hero__title .en-line {
  display: block;
  font-family: var(--f-head);
  font-size: clamp(2.1rem, 3.8vw, 3.4rem);
  font-weight: 800;
  color: var(--c-gold);
  letter-spacing: -0.02em;
}
.prem-hero__title .bn-line {
  display: block;
  font-size: clamp(1.2rem, 2vw, 1.7rem);
  font-weight: 600;
  color: #f5f3ed;
  margin-top: 8px;
}
.prem-hero__desc {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #e2ded3;
  margin-bottom: var(--s-5);
  max-width: 680px;
}
.prem-hero__desc strong {
  color: #f5f3ed;
}
.prem-hero__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: var(--s-6);
}
.btn--wa-pill {
  background: #25d366;
  color: #ffffff !important;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--r-md);
  padding: .65em 1.25em;
  transition: transform 0.2s ease, background 0.2s ease;
  text-decoration: none;
}
.btn--wa-pill:hover {
  background: #20bd5a;
  transform: translateY(-2px);
}
.prem-hero__metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  padding-top: var(--s-5);
  border-top: 1px solid rgba(184, 155, 94, 0.25);
}
@media (min-width: 640px) {
  .prem-hero__metrics { grid-template-columns: repeat(4, 1fr); }
}
.metric-item {
  display: flex;
  flex-direction: column;
}
.metric-val {
  font-family: var(--f-head);
  font-size: 1.9rem;
  font-weight: 800;
  color: var(--c-gold);
  line-height: 1;
  margin-bottom: 4px;
}
.metric-lbl {
  font-size: 11px;
  color: #e2ded3;
  font-family: var(--f-ui);
}

/* হিরো রাইট কলাম — লিড অ্যাটর্নি ডক */
.prem-lead-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(184, 155, 94, 0.35);
  border-radius: var(--r-xl);
  padding: var(--s-5);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.lead-card-header {
  display: flex;
  align-items: center;
  gap: var(--s-4);
  padding-bottom: var(--s-4);
  border-bottom: 1px solid rgba(184, 155, 94, 0.2);
  margin-bottom: var(--s-4);
}
.lead-card-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--c-gold);
  flex-shrink: 0;
  background: var(--c-brand);
  display: grid;
  place-items: center;
}
.lead-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lead-card-titles .kicker {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--c-gold);
  letter-spacing: 0.05em;
  display: block;
}
.lead-card-titles h3 {
  margin: 2px 0 2px;
  font-size: 1.25rem;
  color: #f5f3ed;
}
.lead-card-titles p {
  margin: 0;
  font-size: var(--t-xs);
  color: #e2ded3;
}
.lead-credentials-list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--s-4);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lead-credentials-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--t-sm);
  color: #f5f3ed;
}
.lead-credentials-list svg {
  color: var(--c-gold);
  flex-shrink: 0;
}
.quick-intake-banner {
  background: rgba(11, 38, 29, 0.85);
  border: 1px solid rgba(184, 155, 94, 0.35);
  border-radius: var(--r-md);
  padding: 16px;
  text-align: center;
}
.quick-intake-banner h4 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  color: var(--c-gold);
}
.quick-intake-banner p {
  margin: 0 0 12px;
  font-size: var(--t-xs);
  color: #e2ded3;
  line-height: 1.5;
}
.btn--block {
  width: 100%;
  justify-content: center;
}

/* সেকশন জেনারেল হেড */
.prem-section {
  padding-block: var(--s-7);
}
.prem-section-head {
  text-align: center;
  max-width: 780px;
  margin: 0 auto var(--s-6);
}
.prem-section-kicker {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-gold-deep);
  display: block;
  margin-bottom: 6px;
}
.prem-section-title {
  margin: 0 0 var(--s-3);
  font-size: clamp(1.6rem, 2.4vw, 2.3rem);
  color: var(--c-ink);
}
.prem-section-subtitle {
  margin: 0;
  font-size: 1rem;
  color: var(--c-text);
  line-height: 1.6;
}

/* ২. আঞ্চলিক সমন্বিত জুরিসডিকশন গ্রিড */
.prem-jurisdiction-section {
  background: var(--c-bg-alt);
  border-bottom: 1px solid var(--c-border);
}
.prem-upazila-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: var(--s-4);
}
.prem-upazila-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  box-shadow: var(--sh-sm);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.prem-upazila-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-md);
  border-color: var(--c-gold);
}
.prem-upazila-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.prem-upazila-badge {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 8px;
  background: var(--c-brand-light);
  color: var(--c-brand);
  border-radius: 9999px;
  margin-bottom: 4px;
}
.prem-upazila-name {
  margin: 0;
  font-size: 1.25rem;
  color: var(--c-ink);
}
.prem-upazila-en {
  font-size: 11px;
  color: var(--c-text-mute);
  display: block;
}
.prem-upazila-dist {
  font-size: 11px;
  font-weight: 600;
  color: var(--c-gold-deep);
  background: rgba(197, 160, 89, 0.1);
  padding: 4px 8px;
  border-radius: var(--r-sm);
  white-space: nowrap;
}
.prem-upazila-tagline {
  margin: 0 0 10px;
  font-size: var(--t-xs);
  color: var(--c-brand);
  font-weight: 600;
}
.prem-upazila-focus {
  margin: 0 0 var(--s-4);
  font-size: var(--t-xs);
  color: var(--c-text);
  line-height: 1.5;
  flex-grow: 1;
}
.prem-upazila-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--c-border-soft);
  font-size: 11.5px;
}
.prem-upazila-court {
  color: var(--c-text-mute);
  max-width: 60%;
}
.prem-upazila-link {
  color: var(--c-gold-deep);
  font-weight: 700;
  text-decoration: none;
}
.prem-upazila-link:hover {
  text-decoration: underline;
}

/* ৩. প্র্যাকটিস এরিয়া শোকেস */
.prem-practices-section {
  background: #ffffff;
}
.prem-practice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--s-5);
}
.prem-practice-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  box-shadow: var(--sh-sm);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.prem-practice-card:hover {
  transform: translateY(-3px);
  border-color: var(--c-gold);
}
.prem-practice-card__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--s-3);
}
.prem-practice-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--r-md);
  background: var(--c-brand-light);
  color: var(--c-brand);
  display: grid;
  place-items: center;
}
.prem-practice-act {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--c-gold-deep);
  background: rgba(197, 160, 89, 0.12);
  padding: 4px 10px;
  border-radius: 9999px;
  text-align: right;
  max-width: 60%;
}
.prem-practice-title {
  margin: 0 0 2px;
  font-size: 1.25rem;
  color: var(--c-ink);
}
.prem-practice-en {
  font-size: 11px;
  color: var(--c-text-mute);
  display: block;
  margin-bottom: 12px;
}
.prem-practice-desc {
  margin: 0 0 var(--s-4);
  font-size: var(--t-xs);
  color: var(--c-text);
  line-height: 1.6;
}
.prem-practice-points {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--s-4);
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-grow: 1;
}
.prem-practice-points li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--t-xs);
  color: var(--c-ink-soft);
}
.prem-practice-points svg {
  color: #16a34a;
  flex-shrink: 0;
}
.prem-practice-card__action {
  padding-top: 12px;
  border-top: 1px solid var(--c-border-soft);
}

/* ৪. স্মার্ট লিগ্যাল-টেক টুলস ব্যানার */
.prem-tools-section {
  padding-block: var(--s-6);
  background: var(--c-bg-alt);
}
.prem-tools-card {
  background: linear-gradient(135deg, var(--c-brand) 0%, var(--c-ink) 100%);
  color: #ffffff;
  border-radius: var(--r-xl);
  padding: var(--s-6);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
  align-items: center;
  border: 1px solid rgba(197, 160, 89, 0.3);
  box-shadow: var(--sh-lg);
}
@media (min-width: 900px) {
  .prem-tools-card { grid-template-columns: 1.4fr 1fr; }
}
.prem-tools-card__text h2 {
  color: #ffffff;
  margin: 12px 0 10px;
  font-size: clamp(1.4rem, 2vw, 1.9rem);
}
.prem-tools-card__text p {
  color: #cbd5e1;
  font-size: var(--t-sm);
  line-height: 1.6;
  margin-bottom: var(--s-4);
}
.prem-tools-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.prem-tools-card__stat {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.stat-box {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(197, 160, 89, 0.3);
  border-radius: var(--r-md);
  padding: 18px;
}
.stat-number {
  display: block;
  font-family: var(--f-head);
  font-size: 1.7rem;
  font-weight: 800;
  color: var(--c-gold);
  line-height: 1.1;
  margin-bottom: 4px;
}
.stat-label {
  font-size: var(--t-xs);
  color: #cbd5e1;
  line-height: 1.4;
  display: block;
}

/* ৫. প্রধান আইনজীবী পরিচিতি ও বায়ো */
.prem-attorney-section {
  background: #ffffff;
}
.prem-attorney-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
  align-items: center;
}
@media (min-width: 900px) {
  .prem-attorney-grid { grid-template-columns: 380px 1fr; }
}
.prem-attorney-frame {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-lg);
  border: 2px solid var(--c-gold);
  background: var(--c-brand);
}
.prem-attorney-photo {
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.prem-attorney-avatar-alt {
  height: 420px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--c-brand), var(--c-ink));
  color: var(--c-gold);
}
.monogram-big {
  font-family: var(--f-head);
  font-size: 3.5rem;
  font-weight: 800;
}
.experience-card-floating {
  position: absolute;
  bottom: 20px;
  right: 20px;
  background: rgba(7, 22, 17, 0.9);
  backdrop-filter: blur(10px);
  border: 1px solid var(--c-gold);
  border-radius: var(--r-md);
  padding: 10px 16px;
  color: #ffffff;
}
.experience-card-floating .exp-val {
  display: block;
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--c-gold);
}
.experience-card-floating .exp-text {
  font-size: 11px;
  color: #cbd5e1;
}
.prem-attorney-role {
  margin: 0 0 var(--s-3);
  font-size: var(--t-sm);
  color: var(--c-gold-deep);
  font-weight: 600;
}
.prem-attorney-quote {
  font-family: var(--f-head);
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--c-ink);
  background: rgba(197, 160, 89, 0.08);
  border-left: 4px solid var(--c-gold);
  padding: 16px 20px;
  border-radius: 0 var(--r-md) var(--r-md) 0;
  margin: 0 0 var(--s-4);
}
.prem-attorney-bio p {
  font-size: var(--t-sm);
  line-height: 1.65;
  color: var(--c-text);
  margin-bottom: 12px;
}
.prem-credentials-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: var(--s-5);
}
.badge-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--c-ink);
  background: var(--c-bg-alt);
  padding: 8px 12px;
  border-radius: var(--r-sm);
  border: 1px solid var(--c-border-soft);
}
.badge-item svg {
  color: var(--c-gold-deep);
  flex-shrink: 0;
}
.prem-attorney-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* ৬. মামলার সাফল্য ও নজির */
.prem-success-section {
  background: var(--c-bg-alt);
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}
.prem-milestones-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--s-5);
}
.prem-milestone-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  box-shadow: var(--sh-sm);
}
.milestone-cat {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--c-gold-deep);
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 6px;
}
.prem-milestone-card h3 {
  margin: 0 0 10px;
  font-size: 1.15rem;
  color: var(--c-ink);
}
.prem-milestone-card p {
  margin: 0 0 14px;
  font-size: var(--t-xs);
  color: var(--c-text);
  line-height: 1.6;
}
.milestone-stat {
  font-size: 11px;
  font-weight: 600;
  color: var(--c-brand);
  background: var(--c-brand-light);
  padding: 4px 10px;
  border-radius: 9999px;
  display: inline-block;
}

/* ৭. ক্লায়েন্ট রিভিউ ও গুগল সোশ্যাল প্রুফ */
.prem-reviews-section {
  background: #ffffff;
}
.prem-reviews-banner {
  background: linear-gradient(135deg, var(--c-brand) 0%, var(--c-brand-mid) 100%);
  color: #ffffff;
  border-radius: var(--r-xl);
  padding: var(--s-5) var(--s-6);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-5);
  margin-bottom: var(--s-6);
  border: 1px solid rgba(197, 160, 89, 0.3);
}
.rating-badge-large {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(0, 0, 0, 0.25);
  padding: 16px 24px;
  border-radius: var(--r-lg);
  border: 1px solid var(--c-gold);
}
.rating-num {
  font-family: var(--f-head);
  font-size: 2.8rem;
  font-weight: 800;
  color: var(--c-gold-bright);
  line-height: 1;
}
.stars-gold {
  color: #f59e0b;
  font-size: 1.2rem;
  margin: 4px 0;
}
.reviews-count {
  font-size: 11px;
  color: #e2e8f0;
}
.rating-text h3 {
  margin: 0 0 6px;
  font-size: 1.35rem;
  color: #ffffff;
}
.rating-text p {
  margin: 0;
  font-size: var(--t-sm);
  color: #cbd5e1;
  max-width: 600px;
}
.prem-reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: var(--s-5);
}
.prem-review-card {
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  display: flex;
  flex-direction: column;
}
.review-stars {
  color: #f59e0b;
  font-size: 1rem;
  margin-bottom: 10px;
}
.review-quote {
  margin: 0 0 var(--s-4);
  font-size: var(--t-xs);
  color: var(--c-ink-soft);
  line-height: 1.65;
  font-style: italic;
  flex-grow: 1;
}
.reviewer-meta strong {
  display: block;
  font-size: var(--t-sm);
  color: var(--c-ink);
}
.reviewer-meta span {
  font-size: 11px;
  color: var(--c-text-mute);
}

/* ৮. চেম্বারের ঠিকানা ও যাতায়াত নির্দেশিকা */
.prem-location-section {
  background: var(--c-bg-alt);
  border-top: 1px solid var(--c-border);
}
.prem-location-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
}
@media (min-width: 900px) {
  .prem-location-grid { grid-template-columns: 1.2fr 1fr; }
}

/* ৮. চেম্বারের ঠিকানা ও যাতায়াত নির্দেশিকা — সুষম ২ কলাম ও বটম ব্যানার */
.prem-chambers-row-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-5);
  margin-bottom: var(--s-6);
}
@media (min-width: 860px) {
  .prem-chambers-row-grid {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
}
.prem-chambers-row-grid .chamber-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  margin: 0;
}
.chamber-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed var(--c-border);
}
.prem-chambers-bottom-bar {
  width: 100%;
}
.prem-full-advisory-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-top: 4px solid var(--c-brand);
  border-radius: var(--r-xl);
  padding: var(--s-6);
  box-shadow: var(--sh-md);
}
.advisory-header {
  margin-bottom: var(--s-5);
}
.advisory-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--c-gold-deep);
  background: var(--c-gold-light);
  padding: 3px 10px;
  border-radius: var(--r-pill);
  margin-bottom: 6px;
}
.advisory-header h3 {
  margin: 0 0 6px;
  font-size: 1.35rem;
  color: var(--c-ink);
}
.advisory-lead {
  margin: 0;
  font-size: var(--t-xs);
  color: var(--c-text-mute);
}
.advisory-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-4);
  margin-bottom: var(--s-5);
}
@media (min-width: 680px) {
  .advisory-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.advisory-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: var(--c-bg-alt);
  padding: var(--s-4);
  border-radius: var(--r-md);
  border: 1px solid var(--c-border);
}
.advisory-icon {
  color: var(--c-gold-deep);
  flex-shrink: 0;
  margin-top: 2px;
}
.advisory-item strong {
  display: block;
  font-size: var(--t-xs);
  color: var(--c-ink);
  margin-bottom: 3px;
}
.advisory-item p {
  margin: 0;
  font-size: 12px;
  color: var(--c-text-soft);
  line-height: 1.5;
}
.advisory-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4);
  padding-top: var(--s-4);
  border-top: 1px solid var(--c-border);
}
.advisory-payment-note {
  font-size: var(--t-xs);
  color: var(--c-brand);
  font-weight: 600;
}
.advisory-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.chambers-cards-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  margin: var(--s-5) 0;
}
.chamber-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  box-shadow: var(--sh-sm);
}
.chamber-card--evening {
  border-left: 4px solid var(--c-gold);
}
.chamber-card--day {
  border-left: 4px solid var(--c-brand);
}
.chamber-card__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: var(--c-gold-deep);
  margin-bottom: 6px;
}
.chamber-card h3 {
  margin: 0 0 10px;
  font-size: 1.2rem;
  color: var(--c-ink);
}
.chamber-card address {
  font-style: normal;
  font-size: var(--t-xs);
  color: var(--c-text);
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
}
.chamber-card address svg {
  color: var(--c-gold-deep);
  flex-shrink: 0;
  margin-top: 2px;
}
.chamber-hours {
  font-size: var(--t-xs);
  color: var(--c-brand);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.chamber-landmark {
  margin: 0;
  font-size: 11px;
  color: var(--c-text-mute);
  line-height: 1.4;
}
.chamber-direct-contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.map-embed-wrapper {
  margin-top: 14px;
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--c-border);
  aspect-ratio: 16 / 9;
  max-height: 240px;
  background: var(--c-bg-alt);
}
.map-embed-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.chambers-contact-box {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: var(--s-5);
  box-shadow: var(--sh-md);
}
.chambers-contact-box h3 {
  margin: 0 0 8px;
  font-size: 1.25rem;
  color: var(--c-ink);
}
.chambers-contact-box p {
  margin: 0 0 14px;
  font-size: var(--t-xs);
  color: var(--c-text-mute);
}
.checklist-items {
  padding-left: 20px;
  margin: 0 0 var(--s-4);
  font-size: var(--t-xs);
  color: var(--c-ink-soft);
  line-height: 1.6;
}
.intake-callout-box {
  background: var(--c-brand-light);
  border-radius: var(--r-md);
  padding: 16px;
  border: 1px solid rgba(11, 38, 29, 0.1);
}
.intake-callout-box span {
  font-weight: 700;
  color: var(--c-brand);
  font-size: var(--t-xs);
  display: block;
  margin-bottom: 4px;
}
.intake-callout-box p {
  margin: 0 0 10px;
  font-size: 11.5px;
  color: var(--c-ink-soft);
}

/* ৯. লোকাল আইনি প্রশ্নোত্তর (FAQ) */
.prem-faq-section {
  background: #ffffff;
}
.prem-faq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--s-4);
}
.prem-faq-item {
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border-soft);
  border-radius: var(--r-lg);
  padding: var(--s-5);
}
.faq-q {
  margin: 0 0 10px;
  font-size: 1.05rem;
  color: var(--c-ink);
  line-height: 1.4;
}
.faq-a {
  margin: 0;
  font-size: var(--t-xs);
  color: var(--c-text);
  line-height: 1.65;
}

/* ১০. ফাইনাল কনভার্শন স্ট্রিপ */
.prem-final-cta {
  background: linear-gradient(135deg, #071611 0%, #0b261d 100%);
  color: #ffffff;
  padding-block: var(--s-7);
  text-align: center;
  border-top: 2px solid var(--c-gold);
}
.prem-final-cta__in {
  max-width: 760px;
}
.prem-final-cta h2 {
  color: #ffffff;
  margin: 0 0 10px;
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
}
.prem-final-cta p {
  color: #cbd5e1;
  font-size: 1.05rem;
  margin: 0 0 var(--s-5);
}
.cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

/* ==========================================================================
   ১১. প্র্যাকটিস এরিয়া ও আইনি সেবা পেজ কম্পোনেন্টস (Practice Pages)
   ========================================================================== */
.practice-page {
  background: #ffffff;
}
.practice-hero {
  background: linear-gradient(135deg, #071611 0%, #0b261d 85%, #081d15 100%);
  color: #ffffff;
  padding-block: var(--s-6) var(--s-7);
  border-bottom: 2px solid var(--c-gold);
}
.practice-hero .eyebrow {
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-gold);
  margin-bottom: var(--s-2);
  background: rgba(197, 160, 89, 0.15);
  padding: 4px 12px;
  border-radius: var(--r-full);
  border: 1px solid rgba(197, 160, 89, 0.3);
}
.practice-hero h1 {
  color: #ffffff;
  font-size: clamp(1.85rem, 3.2vw, 2.75rem);
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 var(--s-3);
  max-width: 900px;
}
.practice-hero .lede {
  color: #cbd5e1;
  font-size: clamp(1.05rem, 1.35vw, 1.2rem);
  line-height: 1.6;
  max-width: 820px;
  margin: 0 0 var(--s-5);
}
.practice-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}
.practice-hero__actions .btn--ghost {
  color: #ffffff;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.06);
}
.practice-hero__actions .btn--ghost:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: #ffffff;
}

/* স্ট্যাটিউট বা আইন নির্দেশক বার */
.practice-statute-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: var(--s-5) 0 var(--s-6);
  padding: 14px 18px;
  background: #f8faf9;
  border-radius: var(--r-lg);
  border: 1px solid #e2e8f0;
  border-left: 4px solid var(--c-brand);
}
.practice-statute-label {
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--c-brand);
  display: flex;
  align-items: center;
  gap: 6px;
}
.statute-pill {
  display: inline-flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(11, 38, 29, 0.15);
  color: var(--c-ink);
  font-size: 0.82rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: var(--r-full);
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}

/* প্র্যাকটিস গ্রিড ও সার্ভিস কার্ড */
.practice-grid-2col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--s-5);
  margin-block: var(--s-5);
}
.practice-card-premium {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: var(--s-5);
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
  display: flex;
  flex-direction: column;
}
.practice-card-premium:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(11, 38, 29, 0.08);
  border-color: var(--c-gold);
}
.practice-card-premium h3 {
  margin: 0 0 10px;
  font-size: 1.25rem;
  color: var(--c-ink);
  display: flex;
  align-items: center;
  gap: 10px;
}
.practice-card-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(197, 160, 89, 0.15);
  color: var(--c-gold-deep);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.practice-card-premium p {
  font-size: 0.95rem;
  color: var(--c-text);
  line-height: 1.65;
  margin: 0 0 14px;
}
.practice-card-list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--s-4);
  font-size: 0.88rem;
  color: var(--c-ink-soft);
}
.practice-card-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 7px;
  line-height: 1.5;
}
.practice-card-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--c-gold-deep);
  font-size: 0.8rem;
  font-weight: bold;
}

/* কোর্ট ও এখতিয়ার কলআউট বক্স */
.practice-court-box {
  background: linear-gradient(135deg, rgba(11, 38, 29, 0.03) 0%, rgba(197, 160, 89, 0.08) 100%);
  border: 1.5px solid rgba(197, 160, 89, 0.35);
  border-radius: var(--r-xl);
  padding: var(--s-5);
  margin: var(--s-6) 0;
}
.practice-court-box h3 {
  margin: 0 0 8px;
  color: var(--c-brand);
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
.practice-court-box p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--c-ink-soft);
  line-height: 1.65;
}

/* মামলার আইনি প্রক্রিয়া টাইমলাইন (Litigation Timeline) */
.practice-process-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--s-4);
  margin: var(--s-5) 0 var(--s-6);
}
.process-step-item {
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border-soft);
  border-radius: var(--r-lg);
  padding: var(--s-4);
  position: relative;
}
.process-step-num {
  width: 32px;
  height: 32px;
  border-radius: var(--r-full);
  background: var(--c-brand);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 10px;
}
.process-step-item h4 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  color: var(--c-ink);
}
.process-step-item p {
  margin: 0;
  font-size: 0.85rem;
  color: var(--c-text);
  line-height: 1.5;
}

/* ইন্টারেক্টিভ এফএকিউ অ্যাকর্ডিয়ন (FAQ Accordion) */
.practice-faq-accordion {
  margin: var(--s-6) 0;
}
.practice-faq-accordion h3.faq-title {
  margin: 0 0 var(--s-4);
  font-size: 1.45rem;
  color: var(--c-brand);
}
.practice-faq-item {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  margin-bottom: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.02);
  transition: border-color 0.2s;
}
.practice-faq-item[open] {
  border-color: var(--c-gold);
}
.practice-faq-summary {
  padding: 16px 20px;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--c-ink);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  background: #ffffff;
}
.practice-faq-summary::-webkit-details-marker {
  display: none;
}
.practice-faq-summary::after {
  content: "+";
  font-size: 1.35rem;
  color: var(--c-gold-deep);
  font-weight: bold;
  transition: transform 0.2s ease;
}
.practice-faq-item[open] .practice-faq-summary::after {
  content: "−";
}
.practice-faq-body {
  padding: 0 20px 18px 20px;
  font-size: 0.95rem;
  color: var(--c-text);
  line-height: 1.65;
  border-top: 1px solid #f1f5f9;
  padding-top: 14px;
}

/* সরাসরি পরামর্শ কলআউট ব্যানার */
.practice-direct-cta {
  background: linear-gradient(135deg, #0b261d 0%, #071611 100%);
  color: #ffffff;
  border-radius: var(--r-2xl);
  padding: var(--s-6) var(--s-5);
  margin: var(--s-7) 0 var(--s-4);
  text-align: center;
  border: 2px solid var(--c-gold);
  box-shadow: 0 12px 28px rgba(11, 38, 29, 0.15);
}
.practice-direct-cta h3 {
  color: #ffffff;
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  margin: 0 0 10px;
}
.practice-direct-cta p {
  color: #cbd5e1;
  font-size: 1rem;
  margin: 0 0 var(--s-4);
  max-width: 640px;
  margin-inline: auto;
}
.practice-cta-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* সম্পর্কিত সেবা (Related Services List) */
.practice-related {
  background: var(--c-bg-alt);
  padding-block: var(--s-7);
  border-top: 1px solid var(--c-border);
}
.practice-related .section-head {
  margin-bottom: var(--s-5);
  font-size: 1.5rem;
  color: var(--c-brand);
}
.practice-related__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.practice-related__link {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: 12px 16px;
  color: var(--c-ink);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
  transition: all 0.2s ease;
}
.practice-related__link:hover {
  border-color: var(--c-gold);
  color: var(--c-gold-deep);
  transform: translateX(4px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.06);
}
.practice-related__ico {
  color: var(--c-gold-deep);
  flex-shrink: 0;
  display: inline-flex;
}
.practice-related__t {
  flex-grow: 1;
}
.practice-related__arw {
  color: var(--c-text-mute);
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.practice-related__link:hover .practice-related__arw {
  transform: translateX(3px);
  color: var(--c-gold-deep);
}

/* ==========================================================================
   ১২. প্র্যাকটিস শোকেস হাব পেজ কম্পোনেন্টস (Practice Showcase Hub)
   ========================================================================== */
.practice-showcase-page {
  background: #ffffff;
}
.practice-showcase-body {
  padding-block: var(--s-6) var(--s-8);
}
.practice-intro-content {
  max-width: 860px;
  margin: 0 auto var(--s-7);
  text-align: center;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--c-text);
}
.practice-intro-content h2 {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  color: var(--c-brand);
  margin-bottom: var(--s-3);
}

.practice-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: var(--s-6);
  margin-bottom: var(--s-8);
}
.practice-feature-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl);
  padding: var(--s-5);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
}
.practice-feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 28px rgba(11, 38, 29, 0.1);
  border-color: var(--c-gold);
}
.practice-feature-card__head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}
.practice-feature-card__head h3 {
  margin: 0 0 4px;
  font-size: 1.25rem;
  line-height: 1.35;
  color: var(--c-ink);
}
.practice-feature-card__head h3 a {
  color: var(--c-ink);
  text-decoration: none;
  transition: color 0.2s;
}
.practice-feature-card__head h3 a:hover {
  color: var(--c-gold-deep);
}
.practice-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(197, 160, 89, 0.15);
  color: var(--c-gold-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
}
.statute-tag {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--c-brand);
  background: rgba(11, 38, 29, 0.06);
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid rgba(11, 38, 29, 0.12);
}
.practice-feature-card__desc {
  font-size: 0.95rem;
  color: var(--c-text);
  line-height: 1.6;
  margin: 0 0 16px;
  flex-grow: 1;
}
.practice-points {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  font-size: 0.88rem;
  color: var(--c-ink-soft);
  border-top: 1px solid #f1f5f9;
  padding-top: 12px;
}
.practice-points li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  line-height: 1.45;
}
.practice-points li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--c-gold-deep);
  font-size: 0.8rem;
  font-weight: bold;
}
.card-action-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--c-brand);
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  text-decoration: none;
  transition: all 0.2s ease;
  margin-top: auto;
}
.card-action-link:hover {
  background: var(--c-gold);
  color: #ffffff;
  border-color: var(--c-gold);
}
.card-action-link--urgent {
  background: rgba(185, 28, 28, 0.08);
  color: #b91c1c;
  border-color: rgba(185, 28, 28, 0.2);
}
.card-action-link--urgent:hover {
  background: #b91c1c;
  color: #ffffff;
  border-color: #b91c1c;
}

/* ৪-ধাপের বিচারিক লিটিগেশন ফ্লো */
.litigation-steps-section {
  background: linear-gradient(135deg, #f8faf9 0%, #f1f5f3 100%);
  border: 1px solid var(--c-border);
  border-radius: var(--r-2xl);
  padding: var(--s-6) var(--s-5);
  margin-top: var(--s-7);
}
.litigation-steps-section .section-title {
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  color: var(--c-brand);
  margin-bottom: 6px;
  text-align: center;
}
.litigation-steps-section .section-subtitle {
  color: var(--c-text-mute);
  font-size: 0.95rem;
  margin-bottom: var(--s-6);
  text-align: center;
}
.steps-flow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--s-4);
}
.flow-card {
  background: #ffffff;
  border: 1px solid var(--c-border-soft);
  border-radius: var(--r-lg);
  padding: var(--s-5) var(--s-4);
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}
.flow-badge {
  display: inline-block;
  background: var(--c-brand);
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--r-full);
  margin-bottom: 12px;
}
.flow-card h4 {
  font-size: 1.05rem;
  color: var(--c-ink);
  margin: 0 0 8px;
  line-height: 1.4;
}
.flow-card p {
  font-size: 0.85rem;
  color: var(--c-text);
  line-height: 1.55;
  margin: 0;
}

/* ═══ ১৮. চেম্বার সাইডবার (Chamber Sidebar — বিকল্প ২) ══════════════════════ */

/* গ্রিডের ভেতরে কন্টেন্টকে পুরো কলাম জুড়ে প্রসারিত করা */
.layout--sidebar .entry-content,
.layout--sidebar .practice-content,
.layout--sidebar .page-main-col,
.layout--sidebar .practice-main-col {
  max-width: 100%;
  width: 100%;
}

/* পেজে সাইডবার ছাড়া ফুল-উইথ ব্যালান্সড লেআউট (Full-Width Balanced Page Layout) */
.page-wrap,
.practice-wrap,
.layout--full {
  width: 100%;
}

.layout--full .entry-content,
.page-wrap .entry-content,
.practice-wrap .entry-content,
.page-main-col,
.practice-main-col,
.post-main-col {
  max-width: 100%;
  width: 100%;
  min-width: 0;
}

.page-wrap .entry-content > :is(p, ul, ol, blockquote),
.practice-wrap .entry-content > :is(p, ul, ol, blockquote),
.layout--full .entry-content > :is(p, ul, ol, blockquote),
.post-main-col .entry-content > :is(p, ul, ol, blockquote) {
  max-width: 86ch;
}

.page-wrap .entry-content > :is(.grid, .spark-faq, table, .table-scroll, .practice-flow, .practice-court-box, .notice, figure, .wp-block-columns),
.practice-wrap .entry-content > :is(.grid, .spark-faq, table, .table-scroll, .practice-flow, .practice-court-box, .notice, figure, .wp-block-columns),
.layout--full .entry-content > :is(.grid, .spark-faq, table, .table-scroll, .practice-flow, .practice-court-box, .notice, figure, .wp-block-columns),
.post-main-col .entry-content > :is(.grid, .spark-faq, table, .table-scroll, .practice-flow, .practice-court-box, .notice, figure, .wp-block-columns) {
  max-width: 100%;
  width: 100%;
}


/* ═══════════════════════════════════════════════════════════════════════
   প্রিমিয়াম কন্টাক্ট ও ইনকোয়ারি ফর্ম — Spark Advocates Contact Form
   ═══════════════════════════════════════════════════════════════════════ */
.spark-contact-container {
  width: 100%;
  max-width: 900px;
  margin: var(--s-6, 40px) auto;
  box-sizing: border-box;
}

.spark-contact-card {
  background: #ffffff;
  border: 1.5px solid rgba(197, 160, 89, 0.4);
  border-top: 4px solid var(--c-gold, #c5a059);
  border-radius: 16px;
  padding: 36px 36px 32px;
  box-shadow: 0 12px 35px -6px rgba(11, 38, 29, 0.08), 0 4px 10px -2px rgba(11, 38, 29, 0.03);
  position: relative;
  box-sizing: border-box;
}

.spark-contact-header {
  margin-bottom: 28px;
  text-align: left;
}

.spark-contact-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: rgba(197, 160, 89, 0.15);
  color: var(--c-gold-deep, #8f6e1f);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 12px;
}

.spark-contact-title {
  margin: 0 0 10px;
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--c-brand, #0b261d);
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.spark-contact-subtitle {
  margin: 0;
  font-size: 0.96rem;
  color: var(--c-text-mute, #556b63);
  line-height: 1.65;
  max-width: 720px;
}

/* ফর্ম গ্রিড */
.spark-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px 24px;
  margin-bottom: 28px;
}

.spark-field-group {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.spark-field-full {
  grid-column: 1 / -1;
}

.spark-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--c-ink, #0b261d);
  display: flex;
  align-items: center;
  gap: 4px;
}

.spark-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.spark-field-icon {
  position: absolute;
  left: 14px;
  color: #7d8c85;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.spark-input,
.spark-select,
.spark-textarea {
  width: 100%;
  font-family: inherit;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--c-ink, #0b261d);
  background: #faf9f6;
  border: 1.5px solid #dcd7cc;
  border-radius: 8px;
  padding: 11px 14px 11px 42px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.spark-textarea {
  padding-left: 16px;
  resize: vertical;
  min-height: 105px;
}

.spark-select-wrapper {
  position: relative;
}

.spark-select-wrapper::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #7d8c85;
  pointer-events: none;
}

.spark-select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 36px;
  cursor: pointer;
}

.spark-input:focus,
.spark-select:focus,
.spark-textarea:focus {
  background: #ffffff;
  border-color: var(--c-gold, #c5a059);
  outline: none;
  box-shadow: 0 0 0 3px rgba(197, 160, 89, 0.22);
}

.spark-field-hint {
  font-size: 0.8rem;
  color: #64748b;
  margin-top: 5px;
  line-height: 1.45;
}

/* ফুটার ও সাবমিট বোতাম */
.spark-form-footer {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-top: 8px;
  border-top: 1px solid #edf0ed;
}

.spark-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--c-btn-bg, #b89b5e);
  color: var(--c-btn-text, #0b261d);
  border: 1.5px solid var(--c-btn-border, #b89b5e);
  border-radius: 8px;
  padding: 14px 32px;
  font-family: inherit;
  font-size: 1.02rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(11, 38, 29, 0.12);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
  position: relative;
  align-self: flex-start;
}

.spark-submit-btn:hover:not(:disabled) {
  background: var(--c-btn-hover-bg, #967b42);
  color: var(--c-btn-hover-text, #0b261d);
  border-color: var(--c-btn-hover-border, #967b42);
  box-shadow: 0 8px 22px rgba(184, 155, 94, 0.38);
  transform: translateY(-2px);
}

.spark-submit-btn:active:not(:disabled) {
  transform: translateY(0);
}

.spark-submit-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.spark-btn-spinner {
  display: none;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: sparkSpin 0.75s linear infinite;
}

.spark-submit-btn.is-loading .spark-btn-spinner {
  display: inline-block;
}

.spark-submit-btn.is-loading .spark-btn-icon {
  display: none;
}

@keyframes sparkSpin {
  to { transform: rotate(360deg); }
}

.spark-trust-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.spark-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  color: var(--c-text-mute, #556b63);
  font-weight: 500;
}

.spark-trust-item svg {
  color: var(--c-gold, #c5a059);
}

/* সফল ও ব্যর্থ এলার্ট */
.spark-form-alert {
  display: flex;
  gap: 16px;
  padding: 18px 22px;
  border-radius: 12px;
  margin-bottom: 24px;
  align-items: flex-start;
}

.spark-alert-success {
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
  border: 1.5px solid #86efac;
  color: #14532d;
}

.spark-alert-error {
  background: #fef2f2;
  border: 1.5px solid #fca5a5;
  color: #991b1b;
}

.spark-alert-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: bold;
  flex-shrink: 0;
  background: rgba(34, 197, 94, 0.2);
  color: #15803d;
}

.spark-alert-error .spark-alert-icon {
  background: rgba(239, 68, 68, 0.2);
  color: #b91c1c;
}

.spark-alert-content h4 {
  margin: 0 0 6px;
  font-size: 1.08rem;
  color: inherit;
}

.spark-alert-content p {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.6;
}

.spark-success-next-step {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed rgba(22, 101, 52, 0.25);
  font-size: 0.88rem;
  line-height: 1.6;
}

/* অ্যানিমেশন */
.spark-alert-animated {
  animation: sparkFadeSlide 0.4s ease-out;
}

@keyframes sparkFadeSlide {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* রেসপনসিভ */
@media (max-width: 720px) {
  .spark-contact-card {
    padding: 24px 18px 22px;
  }
  .spark-contact-title {
    font-size: 1.35rem;
  }
  .spark-form-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .spark-submit-btn {
    width: 100%;
    align-self: stretch;
  }
  .spark-trust-badges {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   প্রিমিয়াম অ্যাপয়েন্টমেন্ট পেজ — Spark Advocates Appointment Page
   ═══════════════════════════════════════════════════════════════════════ */
.appt-page-wrapper {
  padding-bottom: var(--s-8, 64px);
}

/* হিরো ব্যানার */
.appt-hero {
  background: linear-gradient(135deg, #071c15 0%, #0b261d 55%, #14392c 100%);
  color: #ffffff;
  padding: 56px 0 48px;
  position: relative;
  overflow: hidden;
  border-bottom: 3px solid var(--c-gold, #c5a059);
}

.appt-hero::after {
  content: "";
  position: absolute;
  right: -5%;
  bottom: -40%;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(197, 160, 89, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.appt-hero-content {
  max-width: 820px;
  position: relative;
  z-index: 2;
}

.appt-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 14px;
  background: rgba(197, 160, 89, 0.18);
  border: 1px solid rgba(197, 160, 89, 0.4);
  color: #e6c887;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 16px;
  text-transform: uppercase;
}

.appt-hero-title {
  margin: 0 0 14px;
  font-size: 2.35rem;
  font-weight: 800;
  line-height: 1.25;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.appt-hero-subtitle {
  margin: 0 0 24px;
  font-size: 1.08rem;
  line-height: 1.7;
  color: #d8e2dc;
  max-width: 740px;
}

.appt-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
}

.appt-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 0.85rem;
  color: #f0f4f2;
}

.appt-pill svg {
  color: var(--c-gold, #c5a059);
}

/* সেকশন জেনারেল */
.appt-section {
  padding-block: var(--s-6, 44px) 0;
}

.appt-section-header {
  margin-bottom: 28px;
  text-align: left;
}

.appt-section-title {
  margin: 0 0 8px;
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--c-brand, #0b261d);
  line-height: 1.35;
}

.appt-section-desc {
  margin: 0;
  font-size: 0.96rem;
  color: var(--c-text-mute, #556b63);
  line-height: 1.6;
}

/* চেম্বার কার্ডস গ্রিড */
.appt-chambers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 22px;
  margin-bottom: var(--s-6, 40px);
}

.appt-chamber-card {
  background: #ffffff;
  border: 1.5px solid rgba(197, 160, 89, 0.35);
  border-radius: 14px;
  padding: 26px 24px;
  box-shadow: 0 8px 24px rgba(11, 38, 29, 0.04);
  position: relative;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.appt-chamber-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(11, 38, 29, 0.09);
  border-color: var(--c-gold, #c5a059);
}

.appt-chamber--featured {
  border-color: var(--c-gold, #c5a059);
  background: linear-gradient(180deg, #ffffff 0%, #faf8f3 100%);
  box-shadow: 0 10px 28px rgba(197, 160, 89, 0.12);
}

.appt-chamber-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  font-size: 0.74rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  letter-spacing: 0.03em;
}

.appt-badge--court {
  background: #e0f2fe;
  color: #0369a1;
}

.appt-badge--evening {
  background: rgba(197, 160, 89, 0.2);
  color: #8f6e1f;
  border: 1px solid rgba(197, 160, 89, 0.4);
}

.appt-badge--remote {
  background: #f3e8ff;
  color: #7e22ce;
}

.appt-chamber-icon {
  font-size: 2rem;
  margin-bottom: 12px;
}

.appt-chamber-name {
  margin: 0 0 10px;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-brand, #0b261d);
}

.appt-chamber-address {
  font-size: 0.9rem;
  color: var(--c-ink-soft, #2d453b);
  line-height: 1.55;
  margin: 0 0 14px;
}

.appt-chamber-hours {
  background: #f5f4ef;
  border-left: 3px solid var(--c-gold, #c5a059);
  padding: 8px 12px;
  border-radius: 0 6px 6px 0;
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.appt-hours-label {
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--c-text-mute, #687972);
}

.appt-hours-val {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--c-brand, #0b261d);
}

.appt-chamber-note {
  font-size: 0.86rem;
  color: var(--c-text-mute, #556b63);
  line-height: 1.55;
  margin: auto 0 0;
  padding-top: 10px;
  border-top: 1px solid #edf0ed;
}

/* বুকিং এরিয়া কন্টেইনার */
.appt-booking-container {
  margin-block: var(--s-7, 48px) var(--s-6, 40px);
}

.appt-booking-card {
  background: #ffffff;
  border: 1.5px solid rgba(197, 160, 89, 0.45);
  border-top: 5px solid var(--c-gold, #c5a059);
  border-radius: 18px;
  padding: 38px 36px 36px;
  box-shadow: 0 14px 40px rgba(11, 38, 29, 0.08), 0 4px 12px rgba(11, 38, 29, 0.03);
  box-sizing: border-box;
}

.appt-booking-header {
  margin-bottom: 28px;
  padding-bottom: 18px;
  border-bottom: 1px solid #edf1ee;
}

.appt-booking-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--c-gold-deep, #8f6e1f);
  background: rgba(197, 160, 89, 0.15);
  padding: 3px 12px;
  border-radius: 999px;
  margin-bottom: 10px;
}

.appt-booking-title {
  margin: 0 0 8px;
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--c-brand, #0b261d);
}

.appt-booking-desc {
  margin: 0;
  font-size: 0.96rem;
  color: var(--c-text-mute, #556b63);
  line-height: 1.6;
}

/* জরুরি হটলাইন ব্যানার */
.appt-emergency-banner {
  background: linear-gradient(135deg, #180908 0%, #2b110e 100%);
  border: 1.5px solid #ef4444;
  border-radius: 14px;
  padding: 26px 30px;
  color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-block: var(--s-6, 40px);
  box-shadow: 0 10px 28px rgba(239, 68, 68, 0.12);
}

.appt-emergency-content {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  flex: 1 1 500px;
}

.appt-emergency-icon {
  font-size: 2.2rem;
  flex-shrink: 0;
  line-height: 1;
}

.appt-emergency-text h3 {
  margin: 0 0 6px;
  font-size: 1.25rem;
  color: #fecaca;
}

.appt-emergency-text p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #fed7aa;
}

.appt-emergency-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.btn-emergency-call {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #dc2626;
  color: #ffffff;
  padding: 12px 22px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.4);
}

.btn-emergency-call:hover {
  background: #ef4444;
  color: #ffffff;
  transform: translateY(-2px);
}

.btn-emergency-wa {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #25d366;
  color: #ffffff;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  transition: all 0.2s ease;
}

.btn-emergency-wa:hover {
  background: #22c55e;
  color: #ffffff;
  transform: translateY(-2px);
}

/* চেকলিস্ট কার্ডস */
.appt-checklist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin-bottom: var(--s-6, 40px);
}

.appt-checklist-card {
  background: #fafaf7;
  border: 1px solid #e3e0d8;
  border-radius: 12px;
  padding: 22px 20px;
}

.appt-checklist-icon {
  font-size: 1.8rem;
  margin-bottom: 8px;
}

.appt-checklist-card h4 {
  margin: 0 0 10px;
  font-size: 1.05rem;
  color: var(--c-brand, #0b261d);
}

.appt-checklist-card ul {
  margin: 0;
  padding-left: 18px;
  font-size: 0.88rem;
  color: var(--c-ink-soft, #2d453b);
  line-height: 1.65;
}

.appt-checklist-card li {
  margin-bottom: 6px;
}

/* ৪টি ধাপ */
.appt-steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-bottom: var(--s-6, 40px);
}

.appt-step-item {
  background: #ffffff;
  border: 1px solid var(--c-border, #e2e8f0);
  border-radius: 12px;
  padding: 24px 20px;
  position: relative;
  text-align: left;
}

.appt-step-number {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--c-brand, #0b261d) 0%, #1c4d3d 100%);
  color: var(--c-gold, #c5a059);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.1rem;
  margin-bottom: 12px;
  border: 1.5px solid var(--c-gold, #c5a059);
}

.appt-step-item h4 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: var(--c-brand, #0b261d);
}

.appt-step-item p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--c-text-mute, #556b63);
  line-height: 1.6;
}

/* FAQ গ্রিড */
.appt-faq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  margin-bottom: var(--s-6, 40px);
}

.appt-faq-item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 20px 22px;
  border-left: 3.5px solid var(--c-gold, #c5a059);
}

.appt-faq-item h4 {
  margin: 0 0 8px;
  font-size: 1rem;
  color: var(--c-brand, #0b261d);
}

.appt-faq-item p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--c-text-mute, #556b63);
}

/* নীতিশাস্ত্র ফুটার বক্স */
.appt-ethics-box {
  background: #f8faf8;
  border: 1px dashed #cbd5e1;
  border-radius: 10px;
  padding: 18px 22px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-top: 10px;
}

.appt-ethics-icon {
  font-size: 1.8rem;
  flex-shrink: 0;
}

.appt-ethics-text h4 {
  margin: 0 0 4px;
  font-size: 0.95rem;
  color: var(--c-brand, #0b261d);
}

.appt-ethics-text p {
  margin: 0;
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.55;
}

/* রেসপনসিভ অ্যাডজাস্টমেন্ট */
@media (max-width: 768px) {
  .appt-hero {
    padding: 38px 0 34px;
  }
  .appt-hero-title {
    font-size: 1.7rem;
  }
  .appt-hero-subtitle {
    font-size: 0.96rem;
  }
  .appt-booking-card {
    padding: 24px 18px;
  }
  .appt-booking-title {
    font-size: 1.35rem;
  }
  .appt-emergency-banner {
    padding: 20px 18px;
  }
  .appt-emergency-content {
    flex-direction: column;
    gap: 8px;
  }
  .btn-emergency-call,
  .btn-emergency-wa {
    width: 100%;
    justify-content: center;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   ১৫. প্রিমিয়াম ধন্যবাদ ও কনফার্মেশন পেজ স্টাইলিং (Thank You & Navigation)
   ═══════════════════════════════════════════════════════════════════════════ */

.spark-ty-page-wrapper {
  background: var(--c-bg, #f8fafc);
  min-height: 80vh;
  padding-bottom: 60px;
}

/* হিরো ব্যানার */
.spark-ty-hero {
  background: linear-gradient(135deg, #071611 0%, #0b261d 55%, #133e30 100%);
  color: #fff;
  padding: 48px 0 42px;
  position: relative;
  border-bottom: 3px solid var(--c-gold, #c5a869);
  text-align: center;
}

.spark-ty-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(197, 168, 105, 0.15);
  border: 1px solid rgba(197, 168, 105, 0.45);
  color: var(--c-gold, #dcc48c);
  padding: 6px 16px;
  border-radius: 30px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 16px;
}

.spark-ty-hero-title {
  color: #ffffff;
  font-size: clamp(1.8rem, 1.4rem + 1.8vw, 2.6rem);
  font-weight: 800;
  margin: 0 0 12px;
  line-height: 1.3;
}

.spark-ty-hero-subtitle {
  color: #cbd5e1;
  font-size: 1.05rem;
  max-width: 68ch;
  margin: 0 auto;
  line-height: 1.65;
}

/* কন্টেইনার ও কার্ড ডিজাইন */
.spark-ty-container {
  max-width: 1040px;
  margin: -24px auto 0;
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.spark-ty-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 28px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.spark-ty-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 16px;
  margin-bottom: 20px;
}

.spark-ty-card__title-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.spark-ty-card__icon {
  font-size: 1.8rem;
  line-height: 1;
}

.spark-ty-card__title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--c-brand, #0b261d);
}

.spark-ty-card__sub {
  margin: 4px 0 0;
  font-size: 0.88rem;
  color: #64748b;
}

.spark-ty-card__sub code {
  background: #f1f5f9;
  padding: 2px 6px;
  border-radius: 4px;
  color: #0f172a;
  font-size: 0.85rem;
}

/* স্ট্যাটাস ব্যাজ */
.spark-ty-status-badge {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
}
.spark-ty-status-badge--approved { background: #dcfce7; color: #166534; }
.spark-ty-status-badge--pending  { background: #fef3c7; color: #92400e; }
.spark-ty-status-badge--cancelled{ background: #fee2e2; color: #991b1b; }

/* সামারি গ্রিড */
.spark-ty-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}

.spark-ty-item {
  background: #f8fafc;
  border: 1px solid #edf2f7;
  border-radius: 10px;
  padding: 14px 16px;
}

.spark-ty-item__label {
  display: block;
  font-size: 0.8rem;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
}

.spark-ty-item__value {
  display: block;
  font-size: 1.05rem;
  color: #0f172a;
  font-weight: 700;
}

.spark-ty-item__fee {
  color: #15803d;
  font-size: 1.25rem;
}

/* অ্যাকশনস বার */
.spark-ty-actions-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #f1f5f9;
}

.spark-btn-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  border-radius: 8px;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.spark-btn-pill--gcal { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.spark-btn-pill--gcal:hover { background: #dbeafe; }
.spark-btn-pill--ics  { background: #f8fafc; color: #334155; border: 1px solid #cbd5e1; }
.spark-btn-pill--ics:hover { background: #e2e8f0; }
.spark-btn-pill--wa   { background: #25d366; color: #ffffff; }
.spark-btn-pill--wa:hover { background: #20bd5a; }
.spark-btn-pill--call { background: var(--c-brand, #0b261d); color: #ffffff; }
.spark-btn-pill--call:hover { background: #133e30; }

/* বিকাশ বক্স */
.spark-ty-bkash-box {
  background: #fff5f8;
  border: 1.5px solid #f9a8d4;
  border-radius: 12px;
  padding: 22px;
}

.spark-ty-bkash-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 14px;
}

.spark-ty-bkash-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.spark-ty-bkash-title {
  margin: 0;
  font-size: 1.25rem;
  color: #9d174d;
  font-weight: 800;
}

.spark-ty-bkash-sub {
  margin: 2px 0 0;
  font-size: 0.88rem;
  color: #701a75;
}

.spark-ty-countdown-pill {
  background: #fdf2f8;
  border: 1.5px solid #ec4899;
  color: #be185d;
  padding: 8px 16px;
  border-radius: 30px;
  font-size: 0.95rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.spark-ty-bkash-alert {
  background: #fef2f2;
  border-left: 4px solid #ef4444;
  color: #991b1b;
  padding: 12px 14px;
  border-radius: 6px;
  font-size: 0.92rem;
  margin-bottom: 16px;
  line-height: 1.55;
}

.spark-ty-number-box {
  background: #ffffff;
  border: 1.5px dashed #f472b6;
  border-radius: 10px;
  padding: 14px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

.spark-ty-number-label {
  display: block;
  font-size: 0.82rem;
  color: #64748b;
  font-weight: 600;
}

.spark-ty-number-digits {
  font-size: 1.55rem;
  font-weight: 800;
  color: #e2136e;
  letter-spacing: 0.04em;
  font-family: inherit;
}

.spark-ty-number-type {
  font-size: 0.8rem;
  background: #fdf2f8;
  color: #db2777;
  padding: 3px 8px;
  border-radius: 4px;
  margin-left: 8px;
}

.spark-btn-copy {
  background: #e2136e;
  color: #fff;
  border: none;
  padding: 9px 16px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s;
}
.spark-btn-copy:hover { background: #be185d; }

.spark-ty-trx-form-wrap {
  background: #ffffff;
  border: 1px solid #fbcfe8;
  border-radius: 10px;
  padding: 16px;
}

.spark-ty-trx-title {
  margin: 0 0 10px;
  font-size: 0.95rem;
  color: #475569;
}

.spark-ty-trx-inputs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.spark-ty-trx-inputs input {
  flex: 1;
  min-width: 180px;
  padding: 10px 14px;
  border: 1.5px solid #cbd5e1;
  border-radius: 6px;
  font-size: 0.95rem;
}

.spark-btn-submit-trx {
  background: #0284c7;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}
.spark-btn-submit-trx:hover { background: #0369a1; }

.spark-live-trx-msg {
  margin-top: 8px;
  font-size: 0.88rem;
  font-weight: 600;
}
.spark-live-trx-msg.is-success { color: #15803d; }
.spark-live-trx-msg.is-error   { color: #b91c1c; }

/* অফলাইন চেম্বার পেমেন্ট বক্স */
.spark-ty-offline-box {
  background: #f0fdf4;
  border: 1.5px solid #86efac;
  border-radius: 12px;
  padding: 20px 22px;
}
.spark-ty-offline-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.spark-ty-offline-icon { font-size: 1.6rem; }
.spark-ty-offline-title { margin: 0; color: #166534; font-size: 1.25rem; font-weight: 800; }
.spark-ty-offline-sub { margin: 2px 0 0; color: #15803d; font-size: 0.88rem; }
.spark-ty-offline-details p { margin: 0; color: #334155; line-height: 1.6; }

/* কন্টাক্ট ইনফো বক্স */
.spark-ty-contact-body { display: flex; flex-direction: column; gap: 14px; }
.spark-ty-highlight-alert {
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  gap: 12px;
}
.spark-ty-highlight-alert h4, .spark-ty-emergency-box h4 { margin: 0 0 4px; font-size: 1rem; color: #0369a1; }
.spark-ty-highlight-alert p, .spark-ty-emergency-box p { margin: 0; font-size: 0.92rem; color: #334155; line-height: 1.6; }
.spark-ty-emergency-box {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  gap: 12px;
}
.spark-ty-emergency-box h4 { color: #991b1b; }

/* চেম্বার চেকলিস্ট গ্রিড */
.spark-ty-checklist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 18px 0;
}
.spark-ty-check-item {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 16px;
}
.spark-ty-check-item .check-icon { font-size: 1.4rem; display: block; margin-bottom: 8px; }
.spark-ty-check-item h4 { margin: 0 0 6px; font-size: 1rem; color: var(--c-brand, #0b261d); }
.spark-ty-check-item p { margin: 0; font-size: 0.88rem; color: #64748b; line-height: 1.5; }

.spark-ty-punctuality-note {
  background: #fefce8;
  border: 1px solid #fef08a;
  border-radius: 8px;
  padding: 12px 16px;
  color: #854d0e;
  font-size: 0.92rem;
}

/* 🧭 ডায়নামিক জিপিএস রুট গ্রিড */
.spark-ty-routes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 20px;
  margin: 20px 0;
}
.spark-ty-route-card {
  background: #f8fafc;
  border: 1.5px solid #cbd5e1;
  border-radius: 12px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.route-card-badge {
  display: inline-block;
  background: #e2e8f0;
  color: #1e293b;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 0.82rem;
  font-weight: 700;
  margin-bottom: 10px;
  align-self: flex-start;
}
.route-card-title {
  margin: 0 0 10px;
  font-size: 1.15rem;
  color: var(--c-brand, #0b261d);
  font-weight: 800;
}
.route-card-addr, .route-card-hours {
  margin: 0 0 8px;
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.5;
}
.route-card-actions {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.spark-btn-gps {
  background: linear-gradient(135deg, #0b261d 0%, #164e3c 100%);
  color: #ffffff;
  border: 1px solid var(--c-gold, #c5a869);
  border-radius: 8px;
  padding: 11px 16px;
  font-size: 0.94rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 2px 8px rgba(11, 38, 29, 0.2);
  transition: transform 0.15s ease, background 0.2s ease;
}
.spark-btn-gps:hover {
  background: linear-gradient(135deg, #133e30 0%, #1b624b 100%);
  transform: translateY(-1px);
}
.spark-btn-gps .gps-icon { font-size: 1.15rem; }
.spark-link-gmaps {
  font-size: 0.88rem;
  color: #0284c7;
  text-decoration: none;
  font-weight: 600;
  text-align: center;
}
.spark-link-gmaps:hover { text-decoration: underline; }

.spark-ty-embed-map {
  margin-top: 14px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* ফুটার বটম সিটিএ */
.spark-ty-bottom-cta {
  text-align: center;
  padding: 24px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  margin-top: 10px;
}
.spark-ty-bottom-cta p {
  margin: 0 0 14px;
  font-size: 1.05rem;
  color: #475569;
  font-weight: 600;
}
.spark-ty-bottom-btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.spark-btn-home { background: #f1f5f9; color: #1e293b; border: 1px solid #cbd5e1; }
.spark-btn-practice { background: #eff6ff; color: #1d4ed8; border: 1px solid #93c5fd; }
.spark-btn-new-appt { background: var(--c-brand, #0b261d); color: #fff; }

/* স্পিনার */
.spark-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,255,255,0.4);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spark-spin 0.8s linear infinite;
}
@keyframes spark-spin { to { transform: rotate(360deg); } }

/* রেসপনসিভনেস */
@media (max-width: 768px) {
  .spark-ty-hero { padding: 36px 0 28px; }
  .spark-ty-card { padding: 20px 16px; }
  .spark-ty-card__header { flex-direction: column; align-items: flex-start; }
  .spark-ty-summary-grid { grid-template-columns: 1fr; }
  .spark-ty-actions-bar { flex-direction: column; }
  .spark-btn-pill { width: 100%; justify-content: center; }
  .spark-ty-number-box { flex-direction: column; align-items: flex-start; }
  .spark-btn-copy { width: 100%; justify-content: center; }
  .spark-ty-trx-inputs { flex-direction: column; }
  .spark-btn-submit-trx { width: 100%; }
  .spark-ty-routes-grid { grid-template-columns: 1fr; }
  .spark-ty-bottom-btns { flex-direction: column; }
  .spark-ty-bottom-btns a { width: 100%; text-align: center; }
}

/* ══════════════════════════════════════════════════════════════════════════
   ১৪. মামলার প্রয়োজনীয় কাগজপত্রের স্মার্ট চেকলিস্ট হাব (Case Checklist Hub)
   ══════════════════════════════════════════════════════════════════════════ */

.case-checklist-hub {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-2xl, 24px);
  padding: clamp(24px, 4vw, 44px) clamp(16px, 3.5vw, 36px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05);
  margin-bottom: var(--s-8);
  position: relative;
}

.case-checklist__head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto clamp(20px, 3vw, 32px);
}

.case-checklist__kicker-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.case-checklist__kicker {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-gold-deep, #92400e);
}

.case-checklist__live-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(34, 197, 94, 0.12);
  color: #15803d;
  padding: 3px 10px;
  border-radius: 20px;
}

.live-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 rgba(34, 197, 94, 0.5);
  animation: spark-pulse-green 2s infinite;
}

@keyframes spark-pulse-green {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

.case-checklist__title {
  font-size: clamp(1.4rem, 2.6vw, 2.1rem);
  font-weight: 800;
  color: var(--c-heading, #0f172a);
  margin: 0 0 10px;
  line-height: 1.35;
}

.case-checklist__lede {
  font-size: 15px;
  color: var(--c-ink-soft, #475569);
  line-height: 1.65;
  margin: 0 auto;
}

/* ড্রপডাউন সিলেক্টর বার */
.case-checklist__selector-row {
  background: #f8fafc;
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl, 16px);
  padding: clamp(16px, 2.5vw, 24px);
  margin-bottom: var(--s-6);
}

.case-checklist__select-group {
  margin-bottom: 14px;
}

.case-checklist__label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--c-ink);
  margin-bottom: 8px;
}

.case-checklist__select-wrap {
  position: relative;
  width: 100%;
}

.case-checklist__select {
  width: 100%;
  font-size: 15px;
  font-weight: 700;
  padding: 13px 40px 13px 16px;
  border: 2px solid var(--c-border);
  border-radius: var(--r-md, 10px);
  background: #ffffff;
  color: var(--c-ink);
  appearance: none;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
}

.case-checklist__select:focus {
  outline: none;
  border-color: var(--c-gold-deep, #92400e);
  box-shadow: 0 0 0 3px rgba(184, 134, 11, 0.18);
}

.select-caret {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 16px;
  color: var(--c-gold-deep, #92400e);
}

/* কুইক পিলস (Chips) */
.case-checklist__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.case-pill {
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 600;
  border-radius: 20px;
  border: 1px solid var(--c-border);
  background: #ffffff;
  color: var(--c-ink-soft);
  cursor: pointer;
  transition: all 0.18s ease;
}

.case-pill:hover {
  border-color: var(--c-gold);
  color: var(--c-ink);
  transform: translateY(-1px);
}

.case-pill.is-active {
  background: var(--c-gold-deep, #92400e);
  color: #ffffff;
  border-color: var(--c-gold-deep, #92400e);
  box-shadow: 0 2px 8px rgba(146, 64, 14, 0.3);
}

/* চেকলিস্ট কার্ড */
.case-checklist__display-card {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-xl, 16px);
  padding: clamp(18px, 3vw, 32px);
  box-shadow: var(--sh-sm);
}

.case-checklist__card-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: var(--s-4);
  border-bottom: 1px solid var(--c-border);
  margin-bottom: var(--s-5);
}

.case-checklist__badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: var(--c-gold-deep, #92400e);
  background: var(--c-gold-light, #fef3c7);
  padding: 3px 12px;
  border-radius: 12px;
  margin-bottom: 6px;
}

.case-checklist__active-title {
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 800;
  color: var(--c-ink);
  margin: 0 0 4px;
}

.case-checklist__count {
  font-size: 13px;
  color: var(--c-text-mute);
  font-weight: 500;
}

.case-checklist__tools {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* ট্র্যাকার */
.case-checklist__tracker {
  background: #f8fafc;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md, 10px);
  padding: 12px 16px;
  margin-bottom: var(--s-5);
}

.tracker-info {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-ink);
  margin-bottom: 8px;
}

.tracker-bar {
  width: 100%;
  height: 8px;
  background: #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
}

.tracker-fill {
  height: 100%;
  background: linear-gradient(90deg, #22c55e, #16a34a);
  border-radius: 4px;
  transition: width 0.35s ease;
}

/* চেকলিস্ট আইটেম গ্রিড */
.case-checklist__items {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--s-6);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 12px;
}

.case-checklist__item {
  background: #ffffff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md, 10px);
  padding: 12px 14px;
  transition: all 0.2s ease;
}

.case-checklist__item:hover {
  border-color: var(--c-gold);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
}

.case-checklist__item.is-checked {
  background: #f0fdf4;
  border-color: #86efac;
}

.case-checklist__item-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  user-select: none;
  width: 100%;
  margin: 0;
}

.case-checklist__chk {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.chk-custom {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--c-bg-alt, #f1f5f9);
  color: #94a3b8;
  font-size: 12px;
  font-weight: bold;
  flex-shrink: 0;
  margin-top: 1px;
  border: 1px solid var(--c-border);
  transition: all 0.18s ease;
}

.case-checklist__item.is-checked .chk-custom {
  background: #22c55e;
  color: #ffffff;
  border-color: #16a34a;
}

.chk-text {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--c-ink);
}

.case-checklist__item.is-checked .chk-text {
  color: #166534;
  font-weight: 500;
}

/* সংবিধিবদ্ধ আইনি সতর্কতা বক্স */
.case-checklist__advisory {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-left: 5px solid #d97706;
  border-radius: var(--r-md, 10px);
  padding: 16px 18px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: var(--s-6);
}

.advisory-icon {
  color: #d97706;
  flex-shrink: 0;
  margin-top: 2px;
}

.advisory-title {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 800;
  color: #92400e;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.advisory-text {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.65;
  color: #78350f;
}

/* চেম্বার অ্যাপয়েন্টমেন্ট ও সরাসরি যোগাযোগ কার্ড */
.case-checklist__appointment-box {
  background: linear-gradient(135deg, var(--c-brand, #0b261d) 0%, #13382c 100%);
  border-radius: var(--r-xl, 16px);
  padding: clamp(20px, 3.5vw, 32px);
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(11, 38, 29, 0.22);
}

.appointment-box__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: var(--s-5);
}

.appointment-box__avatar .lawyer-thumb {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--c-gold);
  flex-shrink: 0;
}

.appointment-kicker {
  display: inline-block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-gold);
  font-weight: 700;
  margin-bottom: 2px;
}

.appointment-title {
  margin: 0 0 6px;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.35;
}

.appointment-desc {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
}

.appointment-box__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.appointment-box__actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* ডার্ক মোড সাপোর্ট */
:root[data-theme="dark"] .case-checklist-hub {
  background: var(--c-bg-card, #111e19);
  border-color: var(--c-border);
}

:root[data-theme="dark"] .case-checklist__title,
:root[data-theme="dark"] .case-checklist__active-title,
:root[data-theme="dark"] .case-checklist__label {
  color: var(--c-heading, #f1f5f9);
}

:root[data-theme="dark"] .case-checklist__selector-row,
:root[data-theme="dark"] .case-checklist__tracker {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--c-border);
}

:root[data-theme="dark"] .case-checklist__select {
  background: var(--c-bg, #0b1511);
  color: #f1f5f9;
  border-color: var(--c-border);
}

:root[data-theme="dark"] .case-pill {
  background: rgba(255, 255, 255, 0.05);
  color: #cbd5e1;
  border-color: var(--c-border);
}

:root[data-theme="dark"] .case-checklist__display-card {
  background: rgba(255, 255, 255, 0.02);
  border-color: var(--c-border);
}

:root[data-theme="dark"] .case-checklist__item {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--c-border);
}

:root[data-theme="dark"] .case-checklist__item.is-checked {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.4);
}

:root[data-theme="dark"] .case-checklist__advisory {
  background: rgba(217, 119, 6, 0.12);
  border-color: rgba(217, 119, 6, 0.3);
  color: #fef3c7;
}

:root[data-theme="dark"] .advisory-title {
  color: #fbbf24;
}

:root[data-theme="dark"] .advisory-text {
  color: #fde68a;
}

/* প্রিন্ট স্টাইল */
@media print {
  .case-checklist__tools,
  .case-checklist__selector-row,
  .case-checklist__appointment-box,
  .case-assessment__nav-tabs {
    display: none !important;
  }

  .case-checklist-hub {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .case-checklist__items {
    grid-template-columns: 1fr !important;
  }

  .case-checklist__item {
    border: 1px solid #ccc !important;
    break-inside: avoid;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   আইনজীবী প্রোফাইল পেজ (Attorney Profile Page Premium Styles)
   ══════════════════════════════════════════════════════════════════════════ */

.attorney-profile-page {
  font-family: var(--f-body);
}

/* ── প্রোফাইল হিরো ── */
.attorney-hero {
  background: linear-gradient(135deg, var(--c-bg) 0%, var(--c-bg-alt) 100%);
  border-bottom: 1px solid var(--c-border);
  padding: var(--s-8) 0 var(--s-10);
  position: relative;
  overflow: hidden;
}

.attorney-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--c-brand) 0%, var(--c-gold) 50%, var(--c-brand-deep) 100%);
}

.attorney-hero__grid {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: var(--s-8);
  align-items: center;
}

.attorney-hero__media {
  position: relative;
  max-width: 340px;
  margin: 0 auto;
}

.attorney-hero__img-frame {
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: 0 20px 48px -12px rgba(11, 38, 29, 0.28), 0 0 0 1px rgba(184, 155, 94, 0.35);
  position: relative;
  background: var(--c-bg-card);
}

.attorney-hero__img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 0.4s var(--ease);
}

.attorney-hero__img-frame:hover .attorney-hero__img {
  transform: scale(1.02);
}

.attorney-hero__badge-seal {
  position: absolute;
  top: var(--s-3);
  right: var(--s-3);
  background: rgba(11, 38, 29, 0.9);
  backdrop-filter: blur(8px);
  color: var(--c-gold-bright);
  border: 1px solid rgba(184, 155, 94, 0.5);
  padding: 6px 12px;
  border-radius: var(--r-pill);
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--f-ui);
  font-size: 0.75rem;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.attorney-hero__experience-badge {
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--c-brand-deep);
  color: #fff;
  border: 2px solid var(--c-gold);
  padding: 6px 18px;
  border-radius: var(--r-pill);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}

.attorney-hero__experience-badge .badge-num {
  font-family: var(--f-display);
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--c-gold);
}

.attorney-hero__experience-badge .badge-lbl {
  font-family: var(--f-ui);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.attorney-hero__eyebrow-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s-3);
  margin-bottom: var(--s-2);
}

.attorney-hero__eyebrow-wrap .eyebrow {
  font-family: var(--f-ui);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--c-gold-deep);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.attorney-hero__name {
  font-family: var(--f-display);
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  font-weight: 800;
  color: var(--c-ink);
  margin: 0 0 var(--s-2);
  line-height: 1.2;
}

.attorney-hero__designation {
  font-family: var(--f-body);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--c-brand);
  margin-bottom: var(--s-3);
}

.attorney-hero__meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-4);
  margin-bottom: var(--s-4);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--c-border-soft);
}

.attorney-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--f-ui);
  font-size: 0.88rem;
  color: var(--c-text-soft);
}

.attorney-meta-item svg {
  color: var(--c-gold-deep);
}

.attorney-hero__quote {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--c-text);
  background: var(--c-bg-card);
  padding: var(--s-3) var(--s-4);
  border-left: 3px solid var(--c-gold);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  margin: 0 0 var(--s-4);
}

.attorney-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-3);
  margin-bottom: var(--s-5);
}

.attorney-stat {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--s-2) var(--s-3);
  text-align: center;
}

.attorney-stat__val {
  font-family: var(--f-display);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--c-gold-deep);
  display: block;
}

.attorney-stat__lbl {
  font-family: var(--f-ui);
  font-size: 0.72rem;
  color: var(--c-text-mute);
  font-weight: 600;
}

.attorney-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  margin-bottom: var(--s-4);
}

.attorney-hero__social-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}

.social-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--f-ui);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--c-text-soft);
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-pill);
  padding: 5px 12px;
  text-decoration: none;
  transition: all var(--dur) var(--ease);
}

.social-pill svg {
  flex-shrink: 0;
}

.social-pill:hover {
  background: var(--c-brand);
  color: #fff;
  border-color: var(--c-brand);
  transform: translateY(-2px);
}

/* ── মূল বডি ও সাইডবার লেআউট ── */
.attorney-body-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: var(--s-8);
  margin-top: var(--s-8);
  margin-bottom: var(--s-10);
  align-items: start;
}

.attorney-main-col {
  min-width: 0;
}

/* বায়োগ্রাফি আর্টিকেল টাইপোগ্রাফি */
.attorney-bio-content h2 {
  font-family: var(--f-display);
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--c-ink);
  margin: var(--s-6) 0 var(--s-3);
  padding-bottom: var(--s-2);
  border-bottom: 2px solid var(--c-gold-light);
  display: flex;
  align-items: center;
  gap: var(--s-2);
}

.attorney-bio-content h3 {
  font-family: var(--f-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-brand-deep);
  margin: var(--s-4) 0 var(--s-2);
}

.attorney-bio-content p {
  font-size: 1.02rem;
  line-height: 1.8;
  color: var(--c-text);
  margin-bottom: var(--s-4);
}

.attorney-bio-content ul,
.attorney-bio-content ol {
  margin: 0 0 var(--s-5) var(--s-4);
  line-height: 1.8;
}

.attorney-bio-content li {
  margin-bottom: var(--s-2);
}

/* কলআউট বাক্স */
.attorney-callout {
  background: var(--c-bg-alt);
  border-left: 4px solid var(--c-gold);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  padding: var(--s-4) var(--s-5);
  margin: var(--s-6) 0;
}

.attorney-callout h4 {
  font-family: var(--f-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 var(--s-2);
}

.attorney-callout p:last-child {
  margin-bottom: 0;
}

/* ব্লক সেকশন */
.attorney-card-block {
  margin-top: var(--s-8);
  padding-top: var(--s-6);
  border-top: 1px solid var(--c-border);
}

.attorney-block-title {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--f-display);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--c-ink);
  margin-bottom: var(--s-5);
}

.attorney-block-title svg {
  color: var(--c-gold-deep);
}

/* টাইমলাইন */
.attorney-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  position: relative;
  padding-left: var(--s-4);
  border-left: 2px solid var(--c-border);
}

.timeline-step {
  position: relative;
  padding-left: var(--s-4);
}

.timeline-step::before {
  content: '';
  position: absolute;
  left: -21px;
  top: 6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-gold);
  border: 2px solid var(--c-bg);
}

.timeline-step__year {
  display: inline-block;
  font-family: var(--f-ui);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--c-gold-deep);
  background: var(--c-bg-alt);
  padding: 2px 10px;
  border-radius: var(--r-pill);
  margin-bottom: var(--s-1);
}

.timeline-step__body h4 {
  font-family: var(--f-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 var(--s-1);
}

.timeline-step__body p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--c-text-soft);
  margin: 0;
}

/* কেস হাইলাইটস গ্রিড */
.attorney-cases-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--s-4);
}

.case-highlight-card {
  background: var(--c-bg-card);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.case-highlight-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(11, 38, 29, 0.08);
}

.case-highlight-card .case-cat {
  display: inline-block;
  font-family: var(--f-ui);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--c-gold-deep);
  background: var(--c-gold-light);
  padding: 2px 8px;
  border-radius: var(--r-pill);
  margin-bottom: var(--s-2);
}

.case-highlight-card h4 {
  font-family: var(--f-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 var(--s-2);
  line-height: 1.4;
}

.case-highlight-card p {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--c-text-soft);
  margin: 0;
}

/* ── সাইডবার কার্ডসমূহ ── */
.attorney-side-col {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
}

.attorney-side-card {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

.attorney-side-header {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  margin-bottom: var(--s-3);
  padding-bottom: var(--s-2);
  border-bottom: 1px solid var(--c-border-soft);
}

.attorney-side-header svg {
  color: var(--c-gold-deep);
}

.attorney-side-header h3 {
  font-family: var(--f-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0;
}

.attorney-specialties-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.attorney-specialties-list li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.92rem;
  padding-bottom: var(--s-2);
  border-bottom: 1px dashed var(--c-border-soft);
}

.attorney-specialties-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.attorney-specialties-list strong {
  color: var(--c-ink);
}

.attorney-specialties-list span {
  font-size: 0.82rem;
  color: var(--c-text-mute);
}

.side-chamber-box {
  background: var(--c-bg-alt);
  border-radius: var(--r-md);
  padding: var(--s-3) var(--s-4);
  margin-bottom: var(--s-3);
  border-left: 3px solid var(--c-gold);
}

.side-chamber-box .chamber-tag {
  display: inline-block;
  font-family: var(--f-ui);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--c-gold-deep);
  margin-bottom: var(--s-1);
}

.side-chamber-box h4 {
  font-family: var(--f-display);
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 var(--s-1);
}

.side-chamber-box p {
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--c-text);
  margin: 0 0 var(--s-1);
}

.side-chamber-box .chamber-time {
  display: block;
  font-family: var(--f-ui);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--c-brand);
}

.side-nap-contact {
  margin: var(--s-3) 0 var(--s-4);
  font-size: 0.88rem;
}

.side-nap-contact p {
  margin: 0 0 var(--s-1);
}

.side-nap-contact a {
  color: var(--c-gold-deep);
  font-weight: 600;
  text-decoration: none;
}

.side-nap-contact a:hover {
  text-decoration: underline;
}

.ethics-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.ethics-checklist li {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-size: 0.85rem;
  color: var(--c-text);
}

.ethics-checklist svg {
  color: var(--c-gold-deep);
  flex-shrink: 0;
}

/* ── রেসপন্সিভ ডিজাইন ── */
@media (max-width: 960px) {
  .attorney-hero__grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .attorney-hero__media {
    margin-bottom: var(--s-4);
  }
  .attorney-hero__eyebrow-wrap {
    justify-content: center;
  }
  .attorney-hero__meta-strip {
    justify-content: center;
  }
  .attorney-hero__stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .attorney-hero__actions {
    justify-content: center;
  }
  .attorney-hero__social-pills {
    justify-content: center;
  }
  .attorney-body-layout {
    grid-template-columns: 1fr;
  }
  .attorney-side-col {
    position: static;
  }
}

/* ── ডার্ক মোড সাপোর্ট ── */
:root[data-theme="dark"] .attorney-hero {
  background: linear-gradient(135deg, #071711 0%, #0d271e 100%);
  border-bottom-color: var(--c-border);
}

:root[data-theme="dark"] .attorney-hero__name {
  color: var(--c-heading);
}

:root[data-theme="dark"] .attorney-hero__designation {
  color: var(--c-gold-bright);
}

:root[data-theme="dark"] .attorney-hero__quote {
  background: rgba(255, 255, 255, 0.03);
}

:root[data-theme="dark"] .attorney-stat {
  background: var(--c-bg-alt);
}

:root[data-theme="dark"] .social-pill {
  background: var(--c-bg-alt);
  color: var(--c-text);
  border-color: var(--c-border);
}

:root[data-theme="dark"] .social-pill:hover {
  background: var(--c-gold);
  color: #0b261d;
}

:root[data-theme="dark"] .case-highlight-card,
:root[data-theme="dark"] .attorney-side-card {
  background: var(--c-bg-alt);
  border-color: var(--c-border);
}

:root[data-theme="dark"] .side-chamber-box {
  background: rgba(255, 255, 255, 0.04);
}










