/* ==========================================================================
   Adl Core — single case study («تک نمونه‌کار»): text-first layout.
   Shares blocks with lawyer.css (cases grid, CTA band, headings).
   ========================================================================== */

/* Hero */
.adl-cs-hero { position: relative; overflow: hidden; padding-block: clamp(1.4rem, 3.5vw, 3rem) clamp(2rem, 4vw, 3.4rem); background: linear-gradient(180deg, transparent, var(--adl-a-tint)); border-bottom: 1px solid var(--adl-l); }
.adl-cs-hero .adl-wrap { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.adl-cs-hero__mark { position: absolute; inset-inline-end: -40px; bottom: -70px; color: var(--adl-a); opacity: .07; pointer-events: none; }
.adl-cs-hero__mark svg { width: clamp(220px, 30vw, 380px); height: auto; }
.adl-cs-hero__title { margin: .2rem 0 0; max-width: 900px; font-size: clamp(1.8rem, 3.6vw, 2.9rem); font-weight: 900; line-height: 1.5; }
.adl-cs-result { display: inline-flex; align-items: center; gap: .55rem; margin: 0; padding: .55rem 1.1rem .55rem 1.3rem; border-radius: 999px; background: var(--adl-darkbox); color: #fff; font-weight: 800; font-size: .95rem; }
.adl-cs-result span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--adl-a); }
.adl-cs-hero__lead { margin: 0; max-width: 760px; color: var(--adl-m); font-size: 1.05rem; line-height: 2; }
.adl-cs-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); width: 100%; margin: .8rem 0 0; border: 1px solid var(--adl-l); border-radius: 18px; background: var(--adl-b); overflow: hidden; }
.adl-cs-facts > div { padding: 1rem 1.2rem; border-inline-start: 1px solid var(--adl-l); }
.adl-cs-facts > div:first-child { border-inline-start: 0; }
.adl-cs-facts dt { font-size: .72rem; color: var(--adl-m); margin-bottom: .25rem; }
.adl-cs-facts dd { margin: 0; font-weight: 800; font-size: .95rem; line-height: 1.7; }

.adl-cs-cover { margin-block: 0; }
.adl-cs-cover img { display: block; width: 100%; max-height: 520px; object-fit: cover; border-radius: 24px; }

/* Body */
.adl-cs { gap: clamp(2.8rem, 6vw, 5rem); }
.adl-cs-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); }
.adl-cs.has-aside .adl-cs-grid { grid-template-columns: minmax(0, 1fr) 290px; }
.adl-cs-main { min-width: 0; max-width: 820px; display: flex; flex-direction: column; }
.adl-cs-ch { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 1.2rem; padding-block: 2rem; border-top: 1px solid var(--adl-l); scroll-margin-top: calc(var(--adl-head-h, 90px) + 1rem); }
.adl-cs-ch:first-child { border-top: 0; padding-top: 0; }
.adl-cs-ch__n { font-size: 3.2rem; font-weight: 900; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--adl-a) 70%, transparent); }
.adl-cs-ch__title { display: flex; align-items: center; gap: .7rem; margin: .2rem 0 1rem; font-size: clamp(1.3rem, 2.2vw, 1.65rem); font-weight: 900; }
.adl-cs-ch__icon { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 13px; background: var(--adl-a-tint); color: var(--adl-a); }
.adl-cs-p { margin: 0 0 1rem; font-size: 1.04rem; line-height: 2.15; color: var(--adl-i); }
.adl-cs-challenge { margin: 0; padding: 1.3rem 1.5rem; border-radius: 18px; border-inline-start: 4px solid var(--adl-a); background: var(--adl-box); font-size: 1.04rem; line-height: 2.1; font-weight: 600; }
.adl-cs-steps { margin: .6rem 0 0; }
.adl-cs-nums { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .8rem; margin-bottom: 1.2rem; }
.adl-cs-nums > div { display: flex; flex-direction: column; gap: .3rem; padding: 1.2rem 1.3rem; border-radius: 18px; background: var(--adl-darkbox); color: #fff; }
.adl-cs-nums strong { font-size: clamp(1.8rem, 3.2vw, 2.6rem); font-weight: 900; line-height: 1.15; color: var(--adl-a); }
.adl-cs-nums span { font-size: .8rem; color: rgba(255, 255, 255, .72); line-height: 1.7; }
.adl-cs-outcome { font-weight: 600; }

.adl-cs-more { padding-block: 2rem; border-top: 1px solid var(--adl-l); }
.adl-cs-more__t { margin: 0 0 1rem; font-size: 1.3rem; font-weight: 900; }

/* Quote */
.adl-cs-quote { position: relative; margin: 1rem 0 0; padding: clamp(1.6rem, 4vw, 2.6rem); border-radius: 26px; background: var(--adl-a-tint); }
.adl-cs-quote::before { content: "”"; position: absolute; top: -.1em; inset-inline-end: .25em; font-size: 9rem; line-height: 1; font-family: Georgia, serif; color: var(--adl-a); opacity: .25; }
.adl-cs-quote blockquote { margin: .3rem 0 1rem; }
.adl-cs-quote blockquote p { margin: 0; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 2; font-weight: 800; color: var(--adl-i); }
.adl-cs-quote figcaption { color: var(--adl-m); font-size: .9rem; }
.adl-cs-voice { display: flex; align-items: center; gap: 1rem; margin-top: 1.2rem; padding: .7rem .9rem; border-radius: 999px; background: var(--adl-b); box-shadow: 0 8px 24px rgba(50, 44, 44, .06); }
.adl-cs-voice .adl-voice__btn { flex: none; }
.adl-cs-voice .adl-voice__bar { flex: 1; min-width: 0; margin: 0; }

/* Notes */
.adl-cs-notes { display: flex; flex-direction: column; gap: .4rem; margin-top: 1.8rem; padding-top: 1.2rem; border-top: 1px dashed var(--adl-l); }
.adl-cs-notes p { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: .78rem; color: var(--adl-m); }
.adl-cs-notes svg { flex: none; }

/* Aside */
.adl-cs-aside .adl-toc__head { padding-block: .9rem; border-bottom: 1px solid var(--adl-l); }
.adl-cs-lawyer { display: flex; align-items: center; gap: .9rem; padding: 1rem; border: 1px solid var(--adl-l); border-radius: 18px; background: var(--adl-b); text-decoration: none; transition: border-color .25s; }
.adl-cs-lawyer:hover { border-color: var(--adl-a); }
.adl-cs-lawyer__img { width: 58px; height: 58px; flex: none; border-radius: 16px; overflow: hidden; background: var(--adl-box); }
.adl-cs-lawyer__img img { width: 100%; height: 100%; object-fit: cover; }
.adl-cs-lawyer small { display: block; font-size: .7rem; color: var(--adl-a); font-weight: 700; }
.adl-cs-lawyer strong { display: block; font-size: .95rem; color: var(--adl-i); }
.adl-cs-lawyer em { display: block; font-style: normal; font-size: .75rem; color: var(--adl-m); }

/* Responsive */
@media (max-width: 1024px) {
	.adl-cs.has-aside .adl-cs-grid { grid-template-columns: minmax(0, 1fr); }
	.adl-cs-aside { position: static; max-height: none; overflow: visible; display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
	.adl-cs-aside .adl-toc { display: none; }
	.adl-cs-main { max-width: none; }
}
@media (max-width: 782px) {
	.adl-cs-facts { grid-template-columns: 1fr 1fr; }
	.adl-cs-facts > div { border-inline-start: 0; border-top: 1px solid var(--adl-l); }
	.adl-cs-facts > div:nth-child(-n+2) { border-top: 0; }
	.adl-cs-facts > div:nth-child(even) { border-inline-start: 1px solid var(--adl-l); }
	.adl-cs-ch { grid-template-columns: 1fr; gap: .2rem; padding-block: 1.6rem; }
	.adl-cs-ch__n { font-size: 2.2rem; }
	.adl-cs-aside { grid-template-columns: 1fr; }
	.adl-cs-hero__mark { opacity: .05; }
}
