/* =========================================================================
   উত্তরাধিকার ক্যালকুলেটর — জমির টুলস
   style.css এর পরে লোড হয়। সব রং style.css এর ভেরিয়েবল থেকে আসে,
   তাই ডার্ক মোড নিজে থেকেই কাজ করে।
   ========================================================================= */

/* ------------------------------ হিরো ------------------------------ */
/* টোকেন — শুধু টুলস পাতার জন্য, style.css এর কিছুই বদলায় না */
.tool-hero,
.tools-section,
.tools-note {
  --s-12: 48px;
  --s-16: 64px;
  --r-card: 16px;
  --t-ui: 200ms var(--ease);
}

.tool-hero {
  padding: var(--s-8) 0 var(--s-6);
  text-align: center;
}
.tool-hero .tool-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto var(--s-4);
  display: grid;
  place-items: center;
  border-radius: var(--r-md);
  background: var(--brand-soft);
  color: var(--brand-text);
}
.tool-hero h1 {
  margin: 0;
  font-size: clamp(26px, 3.4vw, 34px);
  line-height: 1.42;
  letter-spacing: -.01em;
  color: var(--ink);
}
.tool-hero p {
  max-width: 62ch;
  margin: var(--s-3) auto 0;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--muted);
}

/* টুল পাতার ছোট হিরো: আইকন+শিরোনাম এক সারিতে; লম্বা নোটিশ ভাঁজ করা */
.tool-hero:not(.is-page){max-width:780px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center;padding:4px 0 16px;text-align:left}
.tool-hero:not(.is-page):has(+.tool-card-wide){max-width:960px}
.tool-hero:not(.is-page) .tool-icon{width:42px;height:42px;margin:0;border-radius:12px}
.tool-hero:not(.is-page) .tool-icon svg{width:22px;height:22px}
.tool-hero:not(.is-page) h1{font-size:clamp(21px,2.6vw,28px);line-height:1.35}
.tool-hero:not(.is-page) p{grid-column:1/-1;max-width:none;margin:10px 0 0;font-size:14.5px;line-height:1.65}
.tool-notes{margin-bottom:var(--s-4);background:var(--surface-2);border:1px solid var(--line);border-radius:14px}
.tool-notes>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 14px;color:var(--brand-text);font-size:14px;font-weight:700;list-style:none;cursor:pointer}
.tool-notes>summary::-webkit-details-marker{display:none}
.tool-notes>summary::after{content:"";width:8px;height:8px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s}
.tool-notes[open]>summary::after{transform:rotate(225deg)}
.tool-notes-body{display:grid;gap:10px;padding:0 12px 12px}
.tool-notes-body>*{margin:0!important}

/* তালিকা পাতার হিরো — হালকা সবুজাভ পৃষ্ঠে বসে */
.tool-hero.is-page .tool-icon { display: none; }
.tool-hero.is-page {
  margin-top: var(--s-5);
  padding: var(--s-8) var(--s-5) var(--s-8);
  background: linear-gradient(180deg, var(--brand-softer), var(--surface));
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}

/* ------------------------------ কার্ড ------------------------------ */
.tool-card {
  max-width: 780px;
  margin: 0 auto;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-2);
}
.tool-card-wide { max-width: 960px; }
.tool-card + .tool-card { margin-top: var(--s-5); }
main#content:not([class]) { padding-bottom: var(--s-10); }
.tool-body { padding: var(--s-6); }

/* ------------------------------ তথ্য বক্স ------------------------------ */
.tool-info {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 9px 12px;
    margin-bottom: 14px;

    background: var(--brand-softer, #f1f8f6);
    border: 1px solid var(--line, #c7d9d3);
    border-radius: 12px;

    color: var(--ink-2);
    font-size: 13px;
    line-height: 1.5;
}

.tool-info svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    margin-top: 1px;
    color: var(--brand-text);
}
/* ------------------------------ ট্যাব ------------------------------ */
.tool-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 6px;
  margin-bottom: var(--s-5);
  background: var(--surface-3);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
}
.tool-tab {
  min-height: 46px;
  padding: 8px 10px;
  border: 0;
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--ink-2);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background .16s ease, color .16s ease;
}
.tool-tab:hover { background: var(--surface); }
.tool-tab.is-active {
  background: var(--brand);
  color: var(--on-brand);
  box-shadow: var(--sh-1);
}
.tool-panel { display: none; }
.tool-panel.is-active { display: block; }

/* ------------------------------ ফিল্ড ------------------------------ */
.tool-group {
  padding: var(--s-4);
  margin-bottom: var(--s-4);
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.tool-group-title {
  margin: 0 0 var(--s-1);
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}
.tool-group-hint {
  margin: 0 0 var(--s-3);
  font-size: 14px;
  line-height: 1.65;
  color: var(--muted);
}
.tool-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-3);
}
.tool-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-3);
}
.tool-field { min-width: 0; }
.tool-field.is-full { grid-column: 1 / -1; }
.tool-field label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-2);
}
.tool-field input,
.tool-field select {
  width: 100%;
  height: 52px;
  padding: 8px 14px;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.tool-field select, .row-item select, .tool-body :is(.inventory-row,.liability-row,.person-row,.asset-main,.allocation-row) select {
  appearance: none;
  padding-right: 38px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235d716a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
}
.tool-field input:hover,
.tool-field select:hover { border-color: var(--muted); }
.tool-field input:focus,
.tool-field select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-soft);
}
.tool-field .field-note {
  margin-top: 6px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--muted);
}

/* ঐচ্ছিক ফিল্ড */
.tool-optional {
  padding: var(--s-4);
  margin-bottom: var(--s-4);
  background: var(--warn-soft);
  border: 1px solid var(--warn-line);
  border-radius: var(--r-md);
}
.tool-optional .tool-group-title { color: var(--warn-ink); }
.tool-optional .tool-group-hint { color: var(--warn-ink); opacity: .88; }
.opt-badge {
  display: inline-block;
  margin-left: 7px;
  padding: 3px 9px;
  border-radius: var(--r-pill);
  background: var(--surface);
  border: 1px solid var(--warn-line);
  color: var(--warn-ink);
  font-size: 12px;
  font-weight: 700;
  vertical-align: middle;
}

/* ------------------------------ ডায়াগ্রাম ------------------------------ */
.tool-diagram {
  display: flex;
  justify-content: center;
  padding: var(--s-3) 0 var(--s-1);
}
.tool-diagram svg { width: 100%; max-width: 260px; height: auto; }
.dg-shape { fill: var(--brand-soft); stroke: var(--brand); stroke-width: 2; }
.dg-diag { stroke: var(--accent); stroke-width: 2; stroke-dasharray: 5 4; fill: none; }
.dg-text { fill: var(--ink-2); font-size: 11px; font-weight: 700; }
.dg-text-accent { fill: var(--accent-ink); font-size: 11px; font-weight: 700; }

/* ------------------------------ বোতাম ------------------------------ */
.tool-actions {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--s-3);
  margin-top: var(--s-5);
}
.tool-btn {
  min-height: 54px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s ease, transform .12s ease, box-shadow .15s ease;
}
.tool-btn-main {
  background: var(--brand-strong);
  color: var(--on-brand);
  box-shadow: var(--sh-brand);
}
.tool-btn-main:hover { background: var(--brand-deep); }
.tool-btn-main:active { transform: scale(.985); }
.tool-btn-ghost {
  background: var(--surface-3);
  border-color: var(--line);
  color: var(--ink-2);
}
.tool-btn-ghost:hover { background: var(--surface-2); }
.tool-btn-soft {
  width: 100%;
  min-height: 48px;
  margin-top: var(--s-3);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--brand-soft);
  color: var(--brand-text);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.tool-btn-soft:hover { background: var(--brand-softer); }

/* ------------------------------ ভুল বার্তা ------------------------------ */
.tool-error {
  display: none;
  align-items: flex-start;
  gap: var(--s-2);
  margin-top: var(--s-4);
  padding: var(--s-3) var(--s-4);
  background: var(--danger-soft);
  border: 1px solid var(--danger);
  border-radius: var(--r-sm);
  color: var(--danger-ink);
  font-size: 14px;
  line-height: 1.65;
}
.tool-error.is-visible { display: flex; }

/* ------------------------------ ফলাফল ------------------------------ */
.tool-result {
  display: none;
  padding: var(--s-6);
  border-top: 1px solid var(--line);
  background: var(--surface-2);
}
.tool-result.is-visible { display: block; }
.tool-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--s-2);
  margin-bottom: var(--s-4);
}
.tool-result-head h2 {
  margin: 0;
  font-size: 17px;
  color: var(--ink);
}
.result-badge {
  padding: 5px 12px;
  border-radius: var(--r-pill);
  font-size: 12.5px;
  font-weight: 700;
}
.result-badge.is-exact {
  background: var(--brand-soft);
  border: 1px solid var(--brand);
  color: var(--brand-text);
}
.result-badge.is-approx {
  background: var(--warn-soft);
  border: 1px solid var(--warn-line);
  color: var(--warn-ink);
}
.result-main {
  padding: var(--s-5);
  background: var(--brand-soft);
  border: 1px solid var(--brand);
  border-radius: var(--r-lg);
}
.result-main .result-label {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--brand-text);
}
.result-main .result-value {
  display: block;
  font-size: clamp(26px, 6vw, 36px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--brand-text);
  overflow-wrap: anywhere;
}
.result-main .result-unit {
  font-size: 15px;
  font-weight: 600;
  opacity: .8;
}
.result-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--s-2);
  margin-top: var(--s-3);
}
.result-grid.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.result-item {
  min-width: 0;
  padding: var(--s-3) var(--s-2);
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
}
.result-item span {
  display: block;
  margin-bottom: 3px;
  font-size: 13px;
  color: var(--muted);
}
.result-item strong {
  display: block;
  font-size: 17px;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.result-note {
  margin-top: var(--s-3);
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-sm);
  font-size: 14px;
  line-height: 1.75;
}
.tool-result .tool-info { margin-top: var(--s-3); }
.result-note.is-formula {
  background: var(--surface-3);
  border: 1px solid var(--line);
  color: var(--ink-2);
}
.result-note.is-warn {
  background: var(--warn-soft);
  border: 1px solid var(--warn-line);
  color: var(--warn-ink);
}

/* ------------------------------ সারি (ডায়নামিক) ------------------------------ */
.row-list { display: grid; gap: var(--s-2); margin-top: var(--s-3); }
.row-head {
  display: grid;
  gap: var(--s-2);
  align-items: center;
  padding: var(--s-2) var(--s-3);
  background: var(--brand-softer);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font-size: 13px;
  font-weight: 700;
  color: var(--brand-text);
}
.row-item { display: grid; gap: var(--s-2); align-items: center; }
.row-num {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--surface-3);
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
.row-out {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 6px 10px;
  background: var(--brand-soft);
  border: 1px solid var(--brand);
  border-radius: var(--r-sm);
  color: var(--brand-text);
  font-size: 15px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.row-del {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: var(--r-sm);
  background: var(--danger-soft);
  color: var(--danger);
  font-size: 18px;
  cursor: pointer;
}
.row-del:hover { filter: brightness(.96); }

/* ------------------------------ সম্পর্কিত টুল ------------------------------ */
.tool-related { max-width: 780px; margin: var(--s-8) auto 0; }
.tool-related h2 {
  margin: 0 0 var(--s-4);
  font-size: 18px;
  color: var(--ink);
}
.related-tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-3);
}
.related-tool {
  display: block;
  padding: var(--s-4);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  color: inherit;
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.related-tool:hover {
  border-color: var(--brand);
  box-shadow: var(--sh-2);
  transform: translateY(-2px);
}
.related-tool strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14.5px;
  color: var(--ink);
}
.related-tool span { font-size: 13.5px; color: var(--muted); }

/* ------------------------------ টুলস তালিকা পাতা ------------------------------ */
.tools-section { margin-top: var(--s-16); }
.tools-section:first-of-type { margin-top: var(--s-12); }

.tools-section-head {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin-bottom: var(--s-5);
}
.tools-section-head .sec-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--brand-soft);
  color: var(--brand-text);
}
.tools-section-head .sec-copy { min-width: 0; flex: 1 1 auto; }
.tools-section-head .sec-title {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  flex-wrap: wrap;
}
.tools-section-head h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: -.005em;
  color: var(--ink);
}
.tools-section-head p {
  margin: 3px 0 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--muted);
}
.tools-section-head .sec-count {
  flex: 0 0 auto;
  padding: 4px 11px;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--surface);
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.tools-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-5);
  align-items: stretch;
}
/* কার্ডের প্রস্থ সব সেকশনে হুবহু এক — কম কার্ড থাকলেও টেনে বড় হয় না।
   যে সেকশনে মাত্র একটি টুল, সেটি পাশাপাশি-সাজানো চওড়া কার্ড হয়, যাতে
   পাশে বড় ফাঁকা জায়গা না থাকে। */
.tools-grid.is-single { grid-template-columns: minmax(0, 1fr); }
.tools-card.is-wide {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: var(--s-4);
  row-gap: 4px;
  padding: var(--s-5) var(--s-6);
}
.tools-card.is-wide .card-icon { grid-row: 1 / span 2; margin-bottom: 0; }
.tools-card.is-wide h3 { grid-column: 2; margin: 0; }
.tools-card.is-wide p { grid-column: 2; margin: 0; max-width: 70ch; }
.tools-card.is-wide .card-go { grid-column: 3; grid-row: 1 / span 2; margin: 0; }
.tools-card.is-wide .card-tag { position: static; grid-column: 2; justify-self: start; margin-top: 4px; }

.tools-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 22px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--sh-1);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--t-ui), box-shadow var(--t-ui), transform var(--t-ui);
}
.tools-card .card-icon {
  width: 44px;
  height: 44px;
  margin-bottom: var(--s-4);
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--brand-soft);
  color: var(--brand-text);
  transition: background var(--t-ui), color var(--t-ui);
}
.tools-card .card-icon svg { width: 22px; height: 22px; }
.tools-card h3 {
  margin: 0 0 7px;
  padding-right: 4px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -.004em;
  color: var(--ink);
}
.tools-card p {
  margin: 0 0 var(--s-5);
  flex: 1 1 auto;
  font-size: 14.5px;
  line-height: 1.68;
  color: var(--muted);
}
.tools-card .card-go {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  font-size: 14px;
  font-weight: 700;
  color: var(--brand-text);
}
.tools-card .card-go svg {
  flex: 0 0 auto;
  transition: transform var(--t-ui);
}
.tools-card .card-tag {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  background: var(--accent-soft);
  color: var(--accent-ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

@media (hover: hover) {
  .tools-card:hover {
    transform: translateY(-3px);
    border-color: var(--line-strong);
    box-shadow: var(--sh-2);
  }
  .tools-card:hover .card-icon {
    background: var(--brand);
    color: var(--on-brand);
  }
  .tools-card:hover .card-go svg { transform: translateX(3px); }
}
.tools-card:active { transform: translateY(-1px); }

/* নিচের দ্রষ্টব্য */
.tools-note {
  display: flex;
  align-items: flex-start;
  gap: var(--s-4);
  margin-top: var(--s-16);
  padding: var(--s-5);
  background: var(--surface-3);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
}
.tools-note .note-icon {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--brand-text);
}
.tools-note h2 {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
}
.tools-note p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.72;
  color: var(--ink-2);
}
.tools-note p + p { margin-top: var(--s-2); }

/* ------------------------------ রেসপনসিভ ------------------------------ */
@media (max-width: 1024px) {
  .tools-grid { gap: var(--s-4); }
}

@media (max-width: 900px) {
  .tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .related-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tools-section { margin-top: var(--s-12); }
}

@media (max-width: 640px) {
  .tool-hero.is-page { margin-top: var(--s-4); padding: var(--s-6) var(--s-4); }
  .tool-hero.is-page .tool-icon { width: 50px; height: 50px; }
  .tool-hero p { font-size: 15px; }
    
  .tool-body { padding: var(--s-4); }
  .tool-result { padding: var(--s-4); }
  .tool-grid-2,
  .tool-grid-3 { grid-template-columns: 1fr; }
  .result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tool-tabs { grid-template-columns: 1fr; border-radius: var(--r-md); }
  .tool-tab { border-radius: var(--r-sm); }
  .related-tools { grid-template-columns: 1fr; }

  .tools-section-head { gap: var(--s-3); margin-bottom: var(--s-4); }
  .tools-section-head .sec-icon { width: 36px; height: 36px; flex-basis: 36px; }
  .tools-section-head h2 { font-size: 19px; }
  .tools-section-head p { font-size: 13.5px; }
  .tools-section-head .sec-count { display: none; }

  .tools-note { gap: var(--s-3); padding: var(--s-4); margin-top: var(--s-12); }

  .tools-card.is-wide {
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 18px;
  }
  .tools-card.is-wide .card-go { grid-column: 2; grid-row: auto; margin-top: var(--s-3); }
  .tools-note p { font-size: 14px; }
}

/* ছোট পর্দায় এক কলাম — বাংলা লেখা ছোট করতে হয় না, ট্যাপ করাও সহজ */
@media (max-width: 560px) {
  .tools-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }
  .tools-card { padding: 18px; }
  .tools-card .card-icon { width: 40px; height: 40px; margin-bottom: var(--s-3); }
  .tools-card h3 { font-size: 16px; }
  .tools-card p { margin-bottom: var(--s-4); font-size: 14px; }
  .tools-card .card-tag { top: 14px; right: 14px; }
}

@media (max-width: 520px) {
  .tool-actions { grid-template-columns: 1fr; }
}

@media (max-width: 359px) {
  .result-grid,
  .result-grid.is-2 { grid-template-columns: 1fr; }
  .tools-note { flex-direction: column; gap: var(--s-3); }
}

/* চলাচল কমানোর পছন্দ মানা হয় */
@media (prefers-reduced-motion: reduce) {
  .tools-card,
  .tools-card .card-icon,
  .tools-card .card-go svg,
  .tool-btn,
  .tool-btn-soft,
  .tool-tab,
  .tool-mini-action,
  .related-tool {
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .tools-card:hover,
  .related-tool:hover { transform: none; }
  .tools-card:hover .card-go svg { transform: none; }
}

/* ------------------------------ প্রিন্ট ------------------------------ */
@media print {
  .site-header, .site-footer, .tool-actions, .tool-tabs,
  .row-del, .tool-btn-soft, .tool-result-actions, .tool-next, .tool-related { display: none !important; }
  .tool-card { box-shadow: none; border-color: #ccc; }
}

/* ---------------------- সারির কলাম (খতিয়ান ও অংশীদার) ---------------------- */
.row-head,
.row-item { grid-template-columns: 32px 1fr 1fr 1fr 40px; }
.row-head.is-2,
.row-item.is-2 { grid-template-columns: 32px 1.3fr 1fr 40px; }

/* সারির ঘরগুলোও সাধারণ ইনপুটের মতো উঁচু — আঙুলে চাপা সহজ */
.row-item input,
.row-item select { min-height: 48px; }
.row-del { min-width: 44px; min-height: 44px; }

/* ব্রেডক্রাম্বের লিংকে চাপার জায়গা বড়, দেখতে একই
   (tools.css শুধু টুলস পাতায় লোড হয়, তাই আর্টিকেল অপরিবর্তিত) */
.breadcrumb a {
  display: inline-block;
  padding-block: 10px;
  margin-block: -10px;
}

@media (max-width: 900px) {
  .row-head { display: none; }
  .row-item,
  .row-item.is-2 {
    grid-template-columns: 1fr 44px;
    row-gap: 10px;
    padding: var(--s-3);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
  }
  .row-item .row-num { grid-column: 1; grid-row: 1; justify-self: start; }
  .row-item .row-del { grid-column: 2; grid-row: 1; justify-self: end; }
  .row-item input { grid-column: 1 / -1; }
}

/* সূত্রের পাতায় ছবি-সহ কার্ড */
.tools-card .tool-diagram { margin: 0 0 var(--s-3); }
.tools-card .tool-diagram svg { width: 100%; height: auto; max-height: 140px; }

/* ফলাফলের টেবিল — সরু পর্দায় যেন কম কাটে */
@media (max-width: 520px) {
  .tool-result .ex-table { font-size: 12.5px; min-width: 0; }
  .tool-result .ex-table th { padding: 8px 6px; white-space: normal; }
  .tool-result .ex-table td { padding: 8px 6px; white-space: nowrap; }
}



/* =========================================================================
   2026 Premium minimal / Material 3 refinement
   ========================================================================= */
:root { --tools-radius-field: 16px; --tools-radius-card: 24px; --tools-radius-soft: 18px; }
.tool-card { border-radius: var(--tools-radius-card); box-shadow: 0 8px 28px rgba(18,64,55,.07); }
.tool-group, .tool-info, .tool-optional, .related-tool, .faq-item, .tools-note { border-radius: var(--tools-radius-soft); }
.tool-field input, .tool-field select,
.row-item input, .row-item select, .tool-body :is(.inventory-row,.liability-row,.person-row,.asset-main,.allocation-row) :is(input,select) {
  width:100%; box-sizing:border-box; min-height:52px; padding:9px 14px;
  border:1px solid var(--line-strong); border-radius:var(--tools-radius-field) !important;
  background-color:var(--surface); color:var(--ink); font:inherit; font-size:16px; outline:none;
  appearance:none; -webkit-appearance:none; transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.tool-body select { padding-right:38px; }
.row-item input:focus, .row-item select:focus, .tool-body :is(.inventory-row,.liability-row,.person-row,.asset-main,.allocation-row) :is(input,select):focus { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-soft); }
.tool-tabs { border-radius: 18px; }
.tool-tab { border-radius: 14px; }
.tool-btn, .tool-btn-soft { border-radius: 16px; }
.result-main, .result-item, .result-note { border-radius: 18px; }
.tool-result-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.tool-result-actions .js-link-result { grid-column:1/-1; }
.tool-next { display:grid; gap:8px; margin-top:12px; }
.tool-next a { display:block; padding:12px 14px; border:1px dashed var(--brand); border-radius:13px; background:var(--brand-softer); color:var(--brand-text); font-size:14px; font-weight:650; text-decoration:none; }
.tool-next a:hover { background:var(--surface); }
.tool-next a[hidden] { display:none; }
.tool-mini-action { min-height:44px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink-2); font:inherit; font-weight:700; cursor:pointer; }
.tool-mini-action:hover { border-color:var(--brand); background:var(--brand-softer); color:var(--brand-text); }
/* Keyboard focus — mouse users-এর UI না বদলে keyboard focus স্পষ্ট রাখা */
.tool-btn:focus-visible,
.tool-btn-soft:focus-visible,
.tool-tab:focus-visible,
.row-del:focus-visible,
.tool-mini-action:focus-visible,
.related-tool:focus-visible,
.tools-card:focus-visible,
.recent-item:focus-visible,
.breadcrumb a:focus-visible,
.tool-finder input:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 3px;
}
.tool-result:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 4px;
}

.input-help-inline { margin:6px 0 0; color:var(--muted); font-size:12.5px; line-height:1.55; }
.premium-callout { padding:14px 16px; border:1px solid var(--line); border-radius:18px; background:var(--surface-2); color:var(--ink-2); line-height:1.65; }
.premium-callout strong { color:var(--ink); }

/* Formula guide */
.formula-shell { max-width:980px; margin:0 auto; }
.formula-warning { display:grid;grid-template-columns:auto 1fr;gap:12px;padding:16px;border:1px solid #f2b8b5;border-radius:20px;background:color-mix(in srgb,#fff 88%,#ffdad6);margin-bottom:18px; }
.formula-warning .fw-icon { width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#ffdad6;color:#ba1a1a;font-weight:800; }
.formula-warning h2 { margin:0 0 4px;font-size:17px;color:#8c1d18; }
.formula-warning p { margin:0;color:#6f3a36;line-height:1.65;font-size:13.5px; }
.formula-section { margin:0 0 18px;padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 5px 18px rgba(18,64,55,.045); }
.formula-section>h2 { margin:0 0 6px;font-size:19px;color:var(--ink); }
.formula-section>.intro { margin:0 0 16px;color:var(--muted);font-size:13.5px;line-height:1.7; }
.formula-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.formula-card { border:1px solid var(--line);border-radius:18px;background:var(--surface-2);overflow:hidden; }
.formula-card-head { padding:13px 15px;border-bottom:1px solid var(--line);font-weight:700;color:var(--ink); }
.formula-card-body { padding:15px; }
.formula-card .tool-diagram { min-height:120px;padding:0 0 10px;align-items:center; }
.formula-box { padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--brand-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.7;overflow-wrap:anywhere; }
.formula-note { margin:9px 0 0;color:var(--muted);font-size:12.5px;line-height:1.6; }

@media(max-width:760px){
  .formula-grid{grid-template-columns:1fr}.formula-section{padding:15px;border-radius:20px}.recent-list{grid-template-columns:1fr}.tool-result-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){ .tool-result-actions{grid-template-columns:1fr} }


/* =========================================================================
   VISUAL FIX 2026-09-13 — minimal premium tools landing
   ========================================================================= */
.tools-home-min {
  background: linear-gradient(180deg, #f9fcfb 0%, #f4f8f7 100%);
  padding: 0 0 52px;
}
.tools-home-min > .shell { max-width: 1080px; }
.tools-home-hero {
  text-align: center;
  padding: 34px 12px 18px;
}
.tools-home-mark {
  width: 48px; height: 48px;
  margin: 0 auto 10px;
  display: grid; place-items: center;
  border-radius: 15px;
  background: #e3f4ef;
  color: #0b8f78;
  box-shadow: inset 0 0 0 1px rgba(11,143,120,.04);
}
.tools-home-mark svg {
  display:block; width:24px !important; height:24px !important;
  fill:none !important; stroke:currentColor !important; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
}
.tools-home-hero h1 {
  margin: 0;
  color: var(--ink, #14211f);
  font-size: clamp(25px, 3vw, 32px);
  line-height: 1.3;
  letter-spacing: -.015em;
}
.tools-home-hero p {
  max-width: 610px;
  margin: 7px auto 0;
  color: var(--muted, #66736f);
  font-size: 13.5px;
  line-height: 1.7;
}
.tool-finder {
  position: relative;
  max-width: 640px;
  margin: 2px auto 28px;
}
.tool-finder input {
  display:block;
  width:100%; box-sizing:border-box;
  min-height:52px;
  padding:10px 48px 10px 17px;
  border:1px solid rgba(31,72,63,.14);
  border-radius:17px;
  background:#fff;
  color:var(--ink,#14211f);
  font:inherit; font-size:14px;
  outline:none;
  box-shadow:0 5px 20px rgba(32,75,65,.055);
}
.tool-finder input:focus {
  border-color:#0b8f78;
  box-shadow:0 0 0 3px rgba(11,143,120,.11), 0 6px 20px rgba(32,75,65,.06);
}
.tool-finder svg {
  position:absolute; right:16px; top:50%;
  display:block; width:19px !important; height:19px !important;
  transform:translateY(-50%);
  fill:none !important; stroke:#82908c !important; stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round;
  pointer-events:none;
}
.tools-mini-group { margin:0 0 27px; }
.tools-mini-group h2 {
  margin:0 0 10px;
  padding-left:2px;
  color:var(--ink,#14211f);
  font-size:16.5px;
  line-height:1.4;
  font-weight:750;
}
.tools-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mini-tool-card{position:relative;min-width:0;align-self:start;background:var(--surface,#fff);border:1px solid rgba(31,72,63,.10);border-radius:18px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.mini-tool-card:hover{border-color:rgba(11,143,120,.28);box-shadow:0 8px 22px rgba(34,70,62,.07);transform:translateY(-2px)}
.mini-tool-link{min-height:150px;padding:26px 16px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;text-decoration:none;color:inherit}
.mini-tool-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#def4ec;color:#0a9578}
.mini-tool-icon svg{display:block;width:28px!important;height:28px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mini-tool-card:nth-child(6n+1) .mini-tool-icon{background:#def4ec;color:#0a9578}
.mini-tool-card:nth-child(6n+2) .mini-tool-icon{background:#e4edff;color:#4b78dc}
.mini-tool-card:nth-child(6n+3) .mini-tool-icon{background:#fff0dd;color:#e77717}
.mini-tool-card:nth-child(6n+4) .mini-tool-icon{background:#dcf7f2;color:#099c91}
.mini-tool-card:nth-child(6n+5) .mini-tool-icon{background:#f1e6ff;color:#8750dc}
.mini-tool-card:nth-child(6n+6) .mini-tool-icon{background:#fde7f2;color:#cd4a91}
.mini-tool-link h3{margin:0;max-width:92%;color:var(--ink,#14211f);font-size:15px;line-height:1.45;font-weight:700}
.mini-info-btn{position:absolute;z-index:2;top:8px;right:8px;width:32px;height:32px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;cursor:pointer}
.mini-info-btn span{width:19px;height:19px;display:grid;place-items:center;border:1.5px solid #c3cfcb;border-radius:50%;color:#8a9a96;font:italic 700 12px/1 Georgia,serif}
.mini-info-btn:hover span,.mini-info-btn[aria-expanded="true"] span{border-color:var(--brand,#0b8f78);color:var(--brand,#0b8f78)}
.mini-info-btn:focus-visible{outline:3px solid var(--brand);outline-offset:1px}
.mini-tool-info{margin:0 14px;padding:12px 2px 16px;border-top:1px solid rgba(31,72,63,.09);color:var(--muted,#66736f);font-size:12.75px;line-height:1.65;text-align:center}
.mini-tool-info[hidden]{display:none!important}
.mini-tool-info p{margin:0}
.tools-empty { display:none; padding:18px; text-align:center; color:var(--muted,#66736f); font-size:13px; }
.tools-recent {
  margin:30px 0 0;
  padding:16px;
  border:1px solid rgba(31,72,63,.11);
  border-radius:18px;
  background:#fff;
}
.tools-recent[hidden] { display:none !important; }
.tools-recent h2 { margin:0 0 10px; color:var(--ink,#14211f); font-size:16px; }
.recent-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.recent-item { display:block; padding:11px 13px; border:1px solid rgba(31,72,63,.10); border-radius:13px; background:#f8fbfa; color:inherit; text-decoration:none; }
.recent-item strong { display:block; margin-bottom:3px; color:var(--ink,#14211f); font-size:13px; }
.recent-item span { display:block; overflow:hidden; color:var(--muted,#66736f); font-size:11.5px; white-space:nowrap; text-overflow:ellipsis; }

[data-theme="dark"] .tools-home-min { background:linear-gradient(180deg,#0f1716,#101918); }
[data-theme="dark"] .mini-tool-card,
[data-theme="dark"] .tool-finder input,
[data-theme="dark"] .tools-recent { background:var(--surface,#17211f); border-color:rgba(255,255,255,.08); }
[data-theme="dark"] .mini-tool-info { border-color:rgba(255,255,255,.08); }
[data-theme="dark"] .recent-item { background:var(--surface-2,#131c1a); border-color:rgba(255,255,255,.08); }

@media (max-width:760px) {
  .tools-home-min { padding-bottom:34px; }
  .tools-home-hero { padding:28px 8px 17px; }
  .tools-home-hero p { font-size:12.8px; }
  .tool-finder { margin-bottom:23px; }
  .tools-mini-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .mini-tool-link { min-height:152px; padding:24px 10px 18px; gap:11px; }
  .mini-tool-icon { width:54px; height:54px; border-radius:17px; }
  .mini-tool-icon svg { width:26px !important; height:26px !important; }
  .mini-tool-link h3 { font-size:14px; }
  .mini-tool-info { margin:0 10px; font-size:12.5px; }
}
@media (max-width:370px) {
  .tools-mini-grid { gap:9px; }
  .mini-tool-link h3 { font-size:13.5px; }
  .recent-list { grid-template-columns:1fr; }
}

/* =========================================================================
   Reliable print/PDF fallback
   Standalone print window is the primary path in tools.js. This keeps the
   current-page fallback usable if a browser blocks the popup.
   ========================================================================= */
@media print {
  html, body {
    background: #fff !important;
    color: #172321 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }
  .site-header,
  .site-footer,
  .breadcrumb,
  .tool-hero,
  .tool-body,
  .tool-related,
  .tool-actions,
  .tool-result-actions,
  .tool-next,
  .tools-recent,
  .tools-note {
    display: none !important;
  }
  main,
  main .shell,
  .tool-card,
  #toolResult,
  #toolResult * {
    visibility: visible !important;
    opacity: 1 !important;
  }
  main,
  main .shell,
  .tool-card {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }
  #toolResult {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid #d9e4e0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #172321 !important;
    transform: none !important;
  }
  #toolResult .result-main {
    background: #f3faf7 !important;
    color: #172321 !important;
  }
  #toolResult table {
    width: 100% !important;
    border-collapse: collapse !important;
  }
  #toolResult th,
  #toolResult td {
    border: 1px solid #dce5e2 !important;
    color: #172321 !important;
  }
  #toolResult svg {
    max-width: 100% !important;
    height: auto !important;
  }
}
