/* Al Bayan Issues & Archive — uses the theme's variables when available. */

.ab-issues, .ab-ia, .ab-sideissue {
	--ia-red: var(--red, #ff2e17);
	--ia-black: var(--black, #0b0b0c);
	--ia-ink: var(--ink, #151517);
	--ia-muted: var(--muted, #6e6e74);
	--ia-line: var(--line, #e8e8ea);
	--ia-paper: #f4f3ef;
	--ia-ease: var(--ease, cubic-bezier(.2, .7, .2, 1));
}

/* ---------- Issue cover (shared) ---------- */
.ab-issue { display: flex; flex-direction: column; gap: 12px; color: var(--ia-ink); text-decoration: none; min-width: 0; }
.ab-issue__cover {
	position: relative; display: block; aspect-ratio: 833 / 1024; border-radius: 6px; overflow: hidden;
	background: #ddd; box-shadow: 0 2px 4px rgba(0, 0, 0, .08), 0 18px 30px -16px rgba(0, 0, 0, .45);
	transition: transform .45s var(--ia-ease), box-shadow .45s var(--ia-ease);
}
/* Book spine light */
.ab-issue__cover::before {
	content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 14px; z-index: 1; pointer-events: none;
	background: linear-gradient(to right, rgba(0, 0, 0, .28), rgba(255, 255, 255, .18) 40%, rgba(0, 0, 0, 0));
}
[dir="rtl"] .ab-issue__cover::before { background: linear-gradient(to left, rgba(0, 0, 0, .28), rgba(255, 255, 255, .18) 40%, rgba(0, 0, 0, 0)); }
.ab-issue__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-issue__noimg { position: absolute; inset: 0; background: linear-gradient(135deg, #1b1b1e, #3a3a3e); }
.ab-issue__read {
	position: absolute; inset-inline: 12px; bottom: 12px; z-index: 2;
	display: flex; align-items: center; justify-content: center; height: 40px; border-radius: 999px;
	background: var(--ia-red); color: #fff; font-size: 14px; font-weight: 500;
	opacity: 0; transform: translateY(10px); transition: opacity .3s, transform .35s var(--ia-ease);
}
.ab-issue:hover .ab-issue__cover, .ab-issue:focus-visible .ab-issue__cover { transform: translateY(-8px) rotate(-.6deg); box-shadow: 0 4px 8px rgba(0, 0, 0, .1), 0 34px 50px -20px rgba(0, 0, 0, .55); }
.ab-issue:hover .ab-issue__read, .ab-issue:focus-visible .ab-issue__read { opacity: 1; transform: none; }
.ab-issue__title { font-size: 14.5px; font-weight: 500; line-height: 1.5; text-align: center; color: var(--ia-ink); }
.ab-issue__flag { position: absolute; top: 10px; inset-inline-end: 10px; z-index: 2; background: var(--ia-black); color: #fff; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.ab-issue__badge {
	align-self: center; display: inline-flex; align-items: center; gap: 6px; height: 26px; padding-inline: 12px; border-radius: 999px;
	background: var(--ia-black); color: #fff; font-size: 12.5px; font-weight: 600;
}
.ab-issue__badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ia-red); }
.ab-issue__badge--latest { background: var(--ia-red); }
.ab-issue__badge--latest::before { background: #fff; animation: ab-ia-blink 1.6s ease-in-out infinite; }
@keyframes ab-ia-blink { 50% { opacity: .3; } }

/* ---------- Homepage section ---------- */
.ab-issues { background: linear-gradient(180deg, var(--ia-paper), #fff); padding-block: 56px; border-bottom: 1px solid var(--ia-line); }
.ab-issues__inner { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: center; }
.ab-issues__covers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; align-items: start; }
.ab-issue--home .ab-issue__badge { order: -1; }

.ab-archive-card {
	position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end;
	min-height: 420px; padding: 30px 28px; border-radius: 22px; color: #fff; text-decoration: none;
	background:
		radial-gradient(circle at 100% 0%, rgba(255, 46, 23, .55), transparent 55%),
		var(--ia-black);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6);
	transition: transform .4s var(--ia-ease), box-shadow .4s;
}
[dir="rtl"] .ab-archive-card { background: radial-gradient(circle at 0% 0%, rgba(255, 46, 23, .55), transparent 55%), var(--ia-black); }
.ab-archive-card:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .7); }
.ab-archive-card__fan { position: absolute; top: 34px; inset-inline-end: 30px; width: 170px; height: 190px; z-index: -1; }
.ab-archive-card__sheet {
	position: absolute; top: 0; inset-inline-end: 0; width: 120px; aspect-ratio: 833 / 1024; border-radius: 4px; overflow: hidden;
	box-shadow: 0 14px 24px -10px rgba(0, 0, 0, .7);
	transform: translateX(calc(var(--i) * -26px)) rotate(calc(var(--i) * -7deg + 6deg));
	transform-origin: bottom center; transition: transform .5s var(--ia-ease);
	opacity: calc(1 - var(--i) * .18);
}
[dir="rtl"] .ab-archive-card__sheet { transform: translateX(calc(var(--i) * 26px)) rotate(calc(var(--i) * 7deg - 6deg)); }
.ab-archive-card__sheet img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-archive-card:hover .ab-archive-card__sheet { transform: translateX(calc(var(--i) * -40px)) rotate(calc(var(--i) * -11deg + 8deg)); }
[dir="rtl"] .ab-archive-card:hover .ab-archive-card__sheet { transform: translateX(calc(var(--i) * 40px)) rotate(calc(var(--i) * 11deg - 8deg)); }
.ab-archive-card__body { display: grid; gap: 8px; }
.ab-archive-card__eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ia-red); }
.ab-archive-card__title { font-size: 26px; line-height: 1.3; font-weight: 700; }
.ab-archive-card__meta { color: rgba(255, 255, 255, .65); font-size: 14px; }
.ab-archive-card__cta { display: inline-flex; align-items: center; gap: 12px; margin-top: 14px; font-weight: 500; }
.ab-archive-card__arrow { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ia-red); transition: transform .35s var(--ia-ease); }
[dir="rtl"] .ab-archive-card__arrow svg { transform: scaleX(-1); }
.ab-archive-card:hover .ab-archive-card__arrow { transform: translateX(6px); }
[dir="rtl"] .ab-archive-card:hover .ab-archive-card__arrow { transform: translateX(-6px); }

@media (max-width: 1024px) {
	.ab-issues__inner { grid-template-columns: 1fr; gap: 32px; }
	.ab-archive-card { min-height: 0; padding-top: 30px; }
	.ab-archive-card__fan { top: 50%; transform: translateY(-50%) scale(.8); }
}
@media (max-width: 640px) {
	.ab-issues { padding-block: 40px; }
	.ab-issues__covers {
		grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 58%; gap: 18px;
		overflow-x: auto; scroll-snap-type: x mandatory; padding-block: 12px 6px;
		margin-inline: calc(var(--gutter, 16px) * -1); padding-inline: var(--gutter, 16px); scrollbar-width: none;
	}
	.ab-issues__covers::-webkit-scrollbar { display: none; }
	.ab-issues__covers > * { scroll-snap-align: center; }
	.ab-archive-card__title { font-size: 21px; max-width: 60%; }
	.ab-archive-card__fan { width: 120px; inset-inline-end: 10px; transform: translateY(-50%) scale(.62); }
}

/* ---------- Sidebar issue ---------- */
.ab-sideissue {
	display: flex; gap: 16px; align-items: center; padding: 16px; border-radius: 16px; text-decoration: none; color: var(--ia-ink);
	background: var(--ia-paper); transition: box-shadow .3s, transform .3s var(--ia-ease);
}
.ab-sideissue:hover { transform: translateY(-3px); box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .35); }
.ab-sideissue__cover { flex: none; width: 92px; aspect-ratio: 833 / 1024; border-radius: 4px; overflow: hidden; box-shadow: 0 10px 18px -8px rgba(0, 0, 0, .45); }
.ab-sideissue__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-sideissue__body { display: grid; gap: 8px; justify-items: start; }
.ab-sideissue__body .ab-issue__badge { align-self: auto; }
.ab-sideissue__body strong { font-size: 15px; line-height: 1.45; font-weight: 600; }
.ab-sideissue__cta { font-size: 13px; color: var(--ia-red); font-weight: 600; }

/* ==========================================================================
   Archive pages
   ========================================================================== */
.ab-ia { background: var(--ia-paper); min-height: 60vh; }
.ab-ia__head {
	position: relative; overflow: hidden; color: #fff; padding-block: 52px 56px;
	background:
		radial-gradient(circle at 88% 10%, rgba(255, 46, 23, .45), transparent 40%),
		radial-gradient(circle at 10% 120%, rgba(255, 46, 23, .18), transparent 40%),
		var(--ia-black);
}
[dir="rtl"] .ab-ia__head {
	background:
		radial-gradient(circle at 12% 10%, rgba(255, 46, 23, .45), transparent 40%),
		radial-gradient(circle at 90% 120%, rgba(255, 46, 23, .18), transparent 40%),
		var(--ia-black);
}
.ab-ia__head::after {
	content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%;
	border: 70px solid rgba(255, 255, 255, .03); top: -120px; inset-inline-end: -100px; pointer-events: none;
}
.ab-ia__crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13.5px; color: rgba(255, 255, 255, .6); margin-bottom: 22px; }
.ab-ia__crumbs a { color: inherit; text-decoration: none; }
.ab-ia__crumbs a:hover { color: #fff; }
.ab-ia__kicker { margin: 0 0 6px; color: var(--ia-red); font-size: 14px; font-weight: 600; }
.ab-ia__title { color: #fff; font-size: clamp(30px, 5vw, 58px); font-weight: 700; line-height: 1.15; margin: 0 0 12px; }
.ab-ia__lead { color: rgba(255, 255, 255, .7); font-size: 17px; max-width: 620px; margin: 0; }
.ab-ia__stats { display: flex; flex-wrap: wrap; gap: 14px; margin: 30px 0 0; padding: 0; list-style: none; }
.ab-ia__stats li { display: grid; gap: 2px; min-width: 130px; padding: 14px 18px; border-radius: 14px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); }
.ab-ia__stats strong { font-size: 28px; line-height: 1.1; color: #fff; }
.ab-ia__stats span { font-size: 13px; color: rgba(255, 255, 255, .6); }
.ab-ia__body { padding-block: 44px 72px; }
.ab-ia__empty { color: var(--ia-muted); text-align: center; padding: 40px 0; }

/* Year cards */
.ab-years { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ab-year {
	position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between;
	min-height: 220px; padding: 22px; border-radius: 18px; background: #fff; color: var(--ia-ink); text-decoration: none;
	border: 1px solid rgba(0, 0, 0, .05);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
	transition: transform .4s var(--ia-ease), box-shadow .4s, background .3s;
}
.ab-year:hover { transform: translateY(-6px); box-shadow: 0 26px 40px -24px rgba(0, 0, 0, .35); }
.ab-year__covers { position: absolute; top: 20px; inset-inline-end: 18px; width: 120px; height: 150px; }
.ab-year__sheet {
	position: absolute; top: 0; inset-inline-end: 0; width: 84px; aspect-ratio: 833 / 1024; border-radius: 3px; overflow: hidden;
	box-shadow: 0 10px 18px -8px rgba(0, 0, 0, .45);
	transform: translateX(calc(var(--i) * -18px)) rotate(calc(var(--i) * -6deg + 5deg));
	transform-origin: bottom center; transition: transform .45s var(--ia-ease);
}
[dir="rtl"] .ab-year__sheet { transform: translateX(calc(var(--i) * 18px)) rotate(calc(var(--i) * 6deg - 5deg)); }
.ab-year__sheet img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-year:hover .ab-year__sheet { transform: translateX(calc(var(--i) * -28px)) rotate(calc(var(--i) * -10deg + 7deg)); }
[dir="rtl"] .ab-year:hover .ab-year__sheet { transform: translateX(calc(var(--i) * 28px)) rotate(calc(var(--i) * 10deg - 7deg)); }
.ab-year__body { margin-top: auto; display: grid; justify-items: start; gap: 2px; position: relative; z-index: 1; }
.ab-year__num { font-size: 44px; font-weight: 700; line-height: 1; letter-spacing: -.02em; transition: color .3s; text-align: start; }
.ab-year__count { font-size: 14px; color: var(--ia-muted); }
.ab-year__arrow {
	position: absolute; bottom: 22px; inset-inline-end: 22px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
	background: var(--ia-paper); color: var(--ia-ink); transition: background .3s, color .3s, transform .35s var(--ia-ease);
}
[dir="rtl"] .ab-year__arrow svg { transform: scaleX(-1); }
.ab-year:hover .ab-year__num { color: var(--ia-red); }
.ab-year:hover .ab-year__arrow { background: var(--ia-red); color: #fff; }
.ab-year.is-current { background: var(--ia-black); color: #fff; }
.ab-year.is-current .ab-year__count { color: rgba(255, 255, 255, .6); }
.ab-year.is-current .ab-year__arrow { background: var(--ia-red); color: #fff; }
@media (max-width: 1024px) { .ab-years { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .ab-years { grid-template-columns: repeat(2, 1fr); gap: 14px; } .ab-year { min-height: 190px; padding: 16px; } .ab-year__num { font-size: 34px; } .ab-year__covers { transform: scale(.78); transform-origin: top right; } [dir="rtl"] .ab-year__covers { transform-origin: top left; } .ab-year__arrow { display: none; } }

/* Year page */
.ab-ia__yearrow { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }
.ab-ia__yearnav { display: flex; gap: 10px; }
.ab-ia__navbtn {
	display: inline-flex; align-items: center; gap: 8px; height: 44px; padding-inline: 18px; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .25); color: #fff; text-decoration: none; font-weight: 600;
	transition: background .25s, color .25s, border-color .25s;
}
.ab-ia__navbtn:hover { background: #fff; color: var(--ia-black); border-color: #fff; }
.ab-ia__navbtn.is-older svg { transform: scaleX(-1); }
[dir="rtl"] .ab-ia__navbtn.is-older svg { transform: none; }
[dir="rtl"] .ab-ia__navbtn.is-newer svg { transform: scaleX(-1); }

.ab-ia__chipsbar { position: sticky; top: var(--hh, 0px); z-index: 20; background: rgba(244, 243, 239, .9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid rgba(0, 0, 0, .06); }
.ab-header.is-hidden-nav ~ .ab-main .ab-ia__chipsbar { top: var(--top-h, 0px); }
.ab-ia__chips { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0; margin: 0; list-style: none; scrollbar-width: none; }
.ab-ia__chips::-webkit-scrollbar { display: none; }
.ab-ia__chips a {
	display: inline-flex; align-items: center; height: 36px; padding-inline: 16px; border-radius: 999px; white-space: nowrap;
	background: #fff; color: var(--ia-ink); text-decoration: none; font-size: 14px; font-weight: 500; border: 1px solid rgba(0, 0, 0, .06);
	transition: background .2s, color .2s;
}
.ab-ia__chips a:hover { background: var(--ia-black); color: #fff; }
.ab-ia__chips a.is-active { background: var(--ia-red); color: #fff; border-color: var(--ia-red); }

.ab-ia__filter { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 30px; border-radius: 999px; background: #fff; border: 1px solid rgba(0, 0, 0, .06); }
.ab-ia__filter button { height: 38px; padding-inline: 18px; border-radius: 999px; font-weight: 500; font-size: 14px; color: var(--ia-muted); background: none; border: 0; cursor: pointer; }
.ab-ia__filter button.is-active { background: var(--ia-black); color: #fff; }

.ab-shelf { display: grid; grid-template-columns: repeat(4, 1fr); gap: 44px 32px; }
.ab-shelf.only-special .ab-issue:not(.is-special) { display: none; }
@media (max-width: 1024px) { .ab-shelf { grid-template-columns: repeat(3, 1fr); gap: 36px 24px; } }
@media (max-width: 640px) { .ab-shelf { grid-template-columns: repeat(2, 1fr); gap: 30px 16px; } .ab-issue__title { font-size: 13.5px; } .ab-ia__head { padding-block: 36px 40px; } .ab-ia__stats { gap: 8px; } .ab-ia__stats li { flex: 1; min-width: 0; padding: 12px; } .ab-ia__stats strong { font-size: 22px; } }
