/* =========================================================================
   PC Manager Edu — মূল স্টাইলশিট
   রঙ ও প্রস্থ কাস্টমাইজার থেকে ভেরিয়েবল হিসেবে আসে (inc/dynamic-css.php)।

   বাংলা টাইপোগ্রাফির তিনটি নিয়ম এই ফাইলজুড়ে মানা হয়েছে:
     ১. letter-spacing নেই — ফাঁক দিলে যুক্তাক্ষর ভেঙে যায়।
     ২. text-transform নেই — বাংলায় ছোট-বড় হাতের অক্ষর নেই।
     ৩. line-height উদার — মাত্রা (উপরের রেখা) ও নিচের কার (ু, ৃ, ্র)
        দুই দিকেই জায়গা লাগে, তাই ল্যাটিনের চেয়ে বেশি।

   বিভাগ:
     ০  টোকেন            ৭  কার্ড ও লিংক তালিকা
     ১  ভিত্তি ও টাইপ     ৮  কর্নার গ্রিড ও ইতিহাস
     ২  টপবার             ৯  সাইডবার
     ৩  পরিচিতি বার      ১০  শিক্ষক, গ্যালারি, ভিডিও
     ৪  প্রধান মেনু      ১১  অফিসিয়াল লিংক
     ৫  স্লাইডার         ১২  পোস্ট ও ভেতরের পাতা
     ৬  লেআউট           ১৩  ফুটার  ১৪ রেসপন্সিভ  ১৫ প্রিন্ট
   ====================================================================== */

/* ── ০. টোকেন ──────────────────────────────────────────────────────── */

:root {
	/* রঙ — কাস্টমাইজার এগুলো বদলে দেয় */
	--pc-primary:      #14532d;
	--pc-primary-dark: #0d3a1f;
	--pc-primary-soft: #eaf1ec;
	--pc-accent:       #d9a520;
	--pc-page:         #ededed;
	--pc-shell:        1200px;

	--pc-red:    #c0392b;
	--pc-blue:   #1877f2;
	--pc-green:  #25d366;
	--pc-card:   #ffffff;
	--pc-border: #d9dcd9;
	--pc-rule:   #ebeeec;
	--pc-ink:    #1f2522;
	--pc-muted:  #5a635e;

	/* দুই ফন্ট: শিরোনামে Hind Siliguri, পড়ার লেখায় SolaimanLipi */
	--pc-font-head: 'Hind Siliguri', 'Noto Sans Bengali', 'Kalpurush', system-ui, sans-serif;
	--pc-font-body: 'SolaimanLipi', 'Hind Siliguri', 'Noto Sans Bengali', 'Kalpurush', system-ui, sans-serif;

	/* পুরোনো নাম — কোথাও রয়ে গেলে যেন ভেঙে না পড়ে */
	--pc-font: var(--pc-font-body);

	/* টাইপ স্কেল — ১৬px গোড়ার উপর, প্রায় ১.১৮ অনুপাত */
	--t-xs:   0.78rem;   /* ১২.৫ — তারিখ, ক্যাপশন */
	--t-sm:   0.86rem;   /* ১৩.৮ — মেটা, পদবি */
	--t-base: 0.94rem;   /* ১৫   — তালিকা, বোতাম */
	--t-body: 1rem;      /* ১৬   — অনুচ্ছেদ */
	--t-md:   1.06rem;   /* ১৭   — কার্ডের শিরোনাম */
	--t-lg:   1.19rem;   /* ১৯   — সেকশনের শিরোনাম */
	--t-xl:   1.5rem;    /* ২৪   — পাতার শিরোনাম */
	--t-2xl:  2rem;      /* ৩২   — প্রতিষ্ঠানের নাম */

	/* লাইনের উচ্চতা। SolaimanLipi-র অক্ষর Hind Siliguri-র চেয়ে বড়,
	   তাই একই সংখ্যায় লাইন বেশি ফাঁকা দেখায় — মান কমানো আছে।
	   মাত্রা ও নিচের কারের জায়গা রেখে এর নিচে নামানো উচিত নয়। */
	--lh-flat:  1.2;     /* শুধু সংখ্যা */
	--lh-tight: 1.4;     /* শিরোনাম */
	--lh-snug:  1.5;     /* নাম, কার্ড হেড */
	--lh-ui:    1.58;    /* তালিকা, লিংক */
	--lh-prose: 1.72;    /* অনুচ্ছেদ */

	/* এক লাইনে সর্বোচ্চ কত অক্ষর — পড়ার আরামের জন্য */
	--measure: 68ch;

	--pc-gap:    16px;
	--pc-edge:   16px;   /* বাক্সের ধার থেকে লেখার দূরত্ব */
	--pc-accent-line: 5px;  /* কার্ডের শিরোনামের নিচের সোনালি রেখা */
	--pc-gap-sm: 12px;
	--pc-radius: 4px;
	--pc-shadow: 0 1px 3px rgba(20, 83, 45, .07);
}

/* ── ১. ভিত্তি ও টাইপ ──────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--pc-page);
	color: var(--pc-ink);
	font-family: var(--pc-font-body);
	font-size: var(--t-body);
	line-height: var(--lh-prose);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;

	/* যুক্তাক্ষর ঠিকভাবে বসার জন্য */
	font-variant-ligatures: common-ligatures contextual;
	font-feature-settings: "liga" 1, "clig" 1, "calt" 1;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--pc-font-head);
	font-weight: 600;
	line-height: var(--lh-tight);
	margin: 0 0 .5em;
	/* মাত্রা যেন উপরে কাটা না পড়ে */
	padding-block-start: .04em;
	/* এক শব্দ একা লাইনে পড়ে যাওয়া ঠেকায় */
	text-wrap: pretty;
}

h1 { font-size: var(--t-xl); }
h2 { font-size: var(--t-lg); }
h3 { font-size: var(--t-md); }
h4, h5, h6 { font-size: var(--t-body); }

p { margin: 0 0 .8em; }
p:last-child { margin-bottom: 0; }

ul, ol { margin: 0 0 1em; padding-inline-start: 1.4em; }
li { margin-block-end: .2em; }

/* লম্বা ঠিকানা বা ইংরেজি শব্দ যেন বাক্স ভেঙে না বেরোয় */
p, li, dd, td, th, figcaption, blockquote { overflow-wrap: break-word; }

img, svg, iframe, video { max-width: 100%; }
img { height: auto; }

a { color: var(--pc-link, var(--pc-primary)); text-decoration: none; }
a:hover { color: var(--pc-accent); }

button, input, select, textarea { font-family: var(--pc-font-body); }

:focus-visible {
	outline: 3px solid var(--pc-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

.skip-link { position: absolute; inset-inline-start: -9999px; z-index: 100000; }
.skip-link:focus {
	inset-inline-start: 8px; top: 8px;
	background: var(--pc-primary); color: #fff;
	padding: 12px 20px; border-radius: var(--pc-radius);
	width: auto; height: auto; clip: auto;
}

.pcedu-wrap {
	max-width: var(--pc-shell);
	margin-inline: auto;
	padding-inline: var(--pc-edge);
	width: 100%;
}

/* ───── সাইটের বিন্যাস ─────
   site    = হেডার, বডি ও ফুটার — পুরো সাইট একটি বাক্সে, চারপাশে
             পাতার রং বা নকশা দেখা যায়।
   content = শুধু মূল অংশ বাক্সে।
   full    = কিছুই বাক্সে নয়, সব প্রান্ত ছুঁয়ে থাকে।
   বাক্সের প্রস্থে ভিতরের প্যাডিং যোগ করা হয়, যাতে "কনটেন্টের প্রস্থ"
   সেটিংয়ে যা বলা আছে লেখার জায়গা ঠিক ততটাই থাকে। */
.pcedu-layout-site .pcedu-page {
	max-width: var(--pc-shell);
	margin-inline: auto;
	background: var(--pc-section, #fff);
	box-shadow: 0 0 0 1px var(--pc-border), 0 2px 18px rgba(0, 0, 0, .07);
}

.pcedu-layout-content .pcedu-main,
.pcedu-boxed .pcedu-main {
	max-width: var(--pc-shell);
	margin-inline: auto;
	background: var(--pc-section, #fff);
	box-shadow: 0 0 0 1px var(--pc-border);
	padding-block-end: var(--pc-gap);
}

/* পুরো প্রস্থে বাক্স নেই — কেন্দ্র থেকে অংশের পটভূমি এলে মূল অংশেই বসে */
.pcedu-layout-full .pcedu-main { background: var(--pc-section, transparent); }

/* বাক্সের ভিতরে আবার বাক্স নয় */
.pcedu-layout-site .pcedu-main {
	max-width: none;
	background: transparent;
	box-shadow: none;
}

/* অনুচ্ছেদের গদ্য */
.pcedu-prose { font-size: var(--t-body); line-height: var(--lh-prose); }
.pcedu-prose > :last-child { margin-bottom: 0; }
/* পাঠযোগ্যতার জন্য লাইনের দৈর্ঘ্যসীমা — তবে কার্ডের ভিতরের লেখা
   বক্সের পুরো প্রস্থ জুড়ে যাবে, নইলে ডান পাশ ফাঁকা দেখায় */
.pcedu-prose p { max-width: var(--measure); }
.pcedu-card .pcedu-prose p,
.pcedu-card .pcedu-prose li { max-width: none; }

/* ইতিহাস ও দুই বাণী — লেখা দুই পাশে সমান।
   text-align-last না দিলে শেষ লাইনটিও টেনে ছড়িয়ে যায়। */
.pcedu-justify,
.pcedu-justify p,
.pcedu-message__text,
.pcedu-message__text p {
	text-align: justify;
	text-justify: inter-word;
	text-align-last: start;
}

/* শিরোনামের ফন্ট কোথায় কোথায় — নাম, মেনু, বোতাম, সংখ্যা ও
   টেবিলের হেডিং। বাকি সব পড়ার ফন্টে। */
.pcedu-name,
.pcedu-menu,
.pcedu-nav__toggle,
.pcedu-card__head,
.pcedu-pagehead__title,
.pcedu-footer__title,
.pcedu-officials__head,
.pcedu-factbox__head,
.pcedu-btn,
.pcedu-connect__btn,
.pcedu-hero__title,
.pcedu-stat__number,
.pcedu-noticeboard__day,
.pcedu-message__name,
.pcedu-leader__name,
.pcedu-tcard__name,
.pcedu-marquee__badge,
.pcedu-tag-new,
.pcedu-404__code,
.pcedu-prose th,
.pcedu-table th,
.pagination .page-numbers {
	font-family: var(--pc-font-head);
}

/* ── ২. টপবার ──────────────────────────────────────────────────────── */

.pcedu-topbar {
	background: var(--pc-topbar, var(--pc-primary-dark));
	color: var(--pc-topbar-text, #e9efe9);
	font-size: var(--t-sm);
	line-height: var(--lh-snug);
	border-block-end: 2px solid var(--pc-accent);
}
.pcedu-topbar .pcedu-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 38px;
	flex-wrap: wrap;
}
.pcedu-topbar__slogan { margin: 0; font-weight: 500; min-width: 0; }
.pcedu-topbar__links { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

.pcedu-topbar__item {
	display: inline-flex; align-items: center; gap: 6px;
	color: var(--pc-topbar-text, #e9efe9);
}
.pcedu-topbar__item:hover { color: var(--pc-accent); }

.pcedu-topbar__social { display: inline-flex; gap: 8px; }
.pcedu-topbar__social a {
	color: var(--pc-topbar-text, #e9efe9);
	display: inline-flex;
	width: 26px; height: 26px;
	align-items: center; justify-content: center;
	border-radius: 50%;
	background: rgba(255,255,255,.12);
}
.pcedu-topbar__social a:hover { background: var(--pc-accent); color: #16200f; }

.pcedu-icon { width: 1em; height: 1em; display: block; flex: none; }
.pcedu-topbar .pcedu-icon { width: 14px; height: 14px; }

/* ── ৩. পরিচিতি বার ────────────────────────────────────────────────── */

.pcedu-identity { background: var(--pc-identity, #fff); }
.pcedu-identity .pcedu-wrap {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--pc-gap);
	padding-block: 14px;
}

/* লোগোর আকার জোর করে বদলাই না — চৌকো, গোল বা ঢালের মতো,
   স্কুলের লোগো যেমনই হোক তেমনই থাকবে। */
.pcedu-identity__logo img,
.pcedu-identity__logo .custom-logo {
	max-height: 78px;
	width: auto;
	display: block;
}

.pcedu-identity__title { text-align: center; min-width: 0; }

.pcedu-name {
	margin: 0;
	/* সর্বোচ্চ মাপ কাস্টমাইজার থেকে — লম্বা নামের প্রতিষ্ঠান ছোট করে নিতে পারে */
	font-size: clamp(1.15rem, 3.1vw, var(--pc-name-size, 40px));
	font-weight: 700;
	line-height: var(--lh-tight);
	color: var(--pc-name, var(--pc-primary));
}
.pcedu-name a { color: inherit; }

.pcedu-meta {
	margin: 4px 0 0;
	font-size: var(--t-sm);
	line-height: var(--lh-snug);
	color: var(--pc-muted);
}
/* ডেস্কটপে স্থাপিত সাল, EIIN ও ঠিকানা এক লাইনে, কমা দিয়ে আলাদা */
.pcedu-meta__bits,
.pcedu-meta__sep,
.pcedu-meta__place { display: inline; }

.pcedu-search { display: flex; align-items: center; }
.pcedu-search input[type="search"] {
	width: 0; padding: 0; border: 0; opacity: 0;
	background: #f5f6f5;
	border-radius: var(--pc-radius) 0 0 var(--pc-radius);
	font: inherit; font-size: var(--t-base);
	transition: width .25s ease, opacity .25s ease, padding .25s ease;
	min-width: 0;
}
.pcedu-search:focus-within input[type="search"],
.pcedu-search input[type="search"]:not(:placeholder-shown) {
	width: 180px; opacity: 1;
	padding: 8px 10px;
	border: 1px solid var(--pc-border);
}
.pcedu-search button {
	background: none; border: 0; cursor: pointer;
	color: var(--pc-primary);
	padding: 7px; line-height: 0;
}
.pcedu-search .pcedu-icon { width: 19px; height: 19px; }

/* ── ৪. প্রধান মেনু ───────────────────────────────────────────────── */

.pcedu-nav {
	background: var(--pc-nav, var(--pc-primary));
	box-shadow: inset 0 -3px 0 var(--pc-primary-dark);
	position: relative;
	z-index: 50;
}

/* পর্দার মাথায় কী আটকে থাকবে।
   pcedu-sticky      = শুধু মেনু বার (সঙ্গে প্রতিষ্ঠানের নামটি ছোট করে)।
   pcedu-sticky-full = লোগো বার সহ গোটা হেডার।
   অ্যাডমিন বার থাকলে তার নিচ থেকে শুরু — তবে ৬০০px এর নিচে
   ওয়ার্ডপ্রেস নিজেই বারটিকে স্ক্রল করিয়ে দেয়, তাই সেখানে ফাঁক
   রাখলে হেডারের উপরে ফাঁকা স্ট্রিপ দেখা যেত। */
/* মোড়কটি সাধারণত কোনো বাক্স তৈরি করে না — করলে ভিতরের মেনু বার
   মোড়কের উচ্চতার বাইরে আটকে থাকতে পারত না */
.pcedu-stickwrap { display: contents; }
.pcedu-sticky-full .pcedu-stickwrap { display: block; }

.pcedu-sticky .pcedu-nav,
.pcedu-sticky-full .pcedu-stickwrap {
	position: sticky;
	top: 0;
	z-index: 60;
}
.pcedu-sticky .pcedu-nav {
	box-shadow: inset 0 -3px 0 var(--pc-primary-dark), 0 3px 12px rgba(0, 0, 0, .16);
}
.pcedu-sticky-full .pcedu-stickwrap {
	box-shadow: 0 3px 12px rgba(0, 0, 0, .16);
}

.admin-bar.pcedu-sticky .pcedu-nav,
.admin-bar.pcedu-sticky-full .pcedu-stickwrap { top: 32px; }

@media (max-width: 782px) {
	.admin-bar.pcedu-sticky .pcedu-nav,
	.admin-bar.pcedu-sticky-full .pcedu-stickwrap { top: 46px; }
}

/* ৬০০px এর নিচে অ্যাডমিন বার স্থির নয় — ফাঁক রাখা যাবে না */
@media (max-width: 600px) {
	.admin-bar.pcedu-sticky .pcedu-nav,
	.admin-bar.pcedu-sticky-full .pcedu-stickwrap { top: 0; }
}

/* গোটা হেডার আটকে থাকলে ফোনে জায়গা বাঁচাতে পরিচয় অংশটি ছোট হয় */
@media (max-width: 782px) {
	.pcedu-sticky-full .pcedu-identity .pcedu-wrap { padding-block: 6px; }
	.pcedu-sticky-full .pcedu-identity__search { display: none; }
	.pcedu-sticky-full .pcedu-meta { display: none; }
}

/* খোলা মোবাইল মেনু যেন পর্দার বাইরে না যায় */
@media (max-width: 980px) {
	.pcedu-sticky .pcedu-menu {
		max-height: calc(100vh - 120px);
		overflow-y: auto;
	}
}
.pcedu-nav .pcedu-wrap {
	padding-inline: 8px;
	display: flex;
	align-items: center;
	/* ফাঁক নেই — হোম আইকন ভরাট ব্লক, তার আর মেনুর মাঝে ফাঁক থাকলে
	   বারের মধ্যে একটা ফুটো দেখায়। যার ফাঁক দরকার সে নিজে নেয়। */
	gap: 0;
}
.pcedu-nav .pcedu-menu { flex: 1; }

/* হোম আইকন — সব সময় বাঁ প্রান্তে, flex:none তাই কখনো নড়ে না
   আর মেনুর সারিবদ্ধতা বদলালেও জায়গা ছাড়ে না */
.pcedu-nav__home {
	order: -1;
	flex: none;
	/* বাঁ দিকে কতটা ফাঁক — Customize -> ৩. লেআউট */
	margin-inline-start: var(--pc-home-offset, 0px);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	align-self: stretch;
	color: var(--pc-nav-text, #fff);
	background: rgba(0, 0, 0, .16);
	transition: background .16s ease, color .16s ease;
}
.pcedu-nav__home .pcedu-icon { width: 19px; height: 19px; }
.pcedu-nav__home:hover,
.pcedu-nav__home[aria-current="page"] {
	background: var(--pc-accent);
	color: #1b2113;
}

.pcedu-stick-mark { display: block; height: 0; }

/* আটকে থাকা অবস্থার সংক্ষিপ্ত পরিচয় — সাধারণ অবস্থায় লুকানো,
   কারণ তখন উপরে পুরো নামটি দেখাই যাচ্ছে */
.pcedu-nav__brand {
	display: none;
	align-items: center;
	gap: 8px;
	padding-inline: 10px;
	min-width: 0;
	color: var(--pc-nav-text, #fff);
	font-family: var(--pc-font-head);
	font-size: var(--t-base);
	font-weight: 600;
	line-height: var(--lh-tight);
	padding-block: 6px;
}
.pcedu-nav__brand img {
	width: 34px; height: 34px;
	object-fit: contain;
	background: #fff;
	border-radius: 4px;
	padding: 2px;
	flex: none;
}
.pcedu-nav__brand span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* আটকে থাকা মেনুতে প্রতিষ্ঠানের নাম — কেবল ফোন ও ট্যাবে।
   ডেস্কটপে উপরের হেডারেই নামটি থাকে, দুবার দেখানোর দরকার নেই। */
@media (max-width: 980px) {
	.pcedu-nav.is-stuck .pcedu-nav__brand { display: flex; }
}

/* মেনু কোথা থেকে শুরু হবে — Customize -> ৩. লেআউট থেকে ঠিক করা */
.pcedu-menu {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.pcedu-menu-center .pcedu-menu { justify-content: center; }
.pcedu-menu-right .pcedu-menu { justify-content: flex-end; }
.pcedu-menu li { margin: 0; }
.pcedu-menu > li { position: relative; }

.pcedu-menu a {
	display: block;
	color: var(--pc-nav-text, #fff);
	font-size: var(--t-base);
	font-weight: 500;
	line-height: var(--lh-snug);
	padding: 11px 14px;
	transition: background .16s ease, color .16s ease;
	white-space: nowrap;
}
.pcedu-menu > li > a:hover,
.pcedu-menu > li:focus-within > a,
.pcedu-menu .current-menu-item > a,
.pcedu-menu .current_page_item > a,
.pcedu-menu .current-menu-ancestor > a,
.pcedu-menu .current-menu-parent > a {
	background: var(--pc-accent);
	color: #1b2113;
}

/* ───── মেনুর চেহারা — Customize -> ৩. লেআউট ─────
   solid (ডিফল্ট) = চলতি পাতাটি অ্যাকসেন্ট রঙে ভরা।
   নিচের তিনটি কেবল তার উপরে নিয়ম বসায়, তাই নতুন রঙ লাগে না। */

/* ১. নিচে দাগ — ভরাট রঙ নেই, শুধু অ্যাকসেন্ট রেখা */
.pcedu-menu-underline .pcedu-menu > li > a {
	border-block-end: 3px solid transparent;
}
.pcedu-menu-underline .pcedu-menu > li > a:hover,
.pcedu-menu-underline .pcedu-menu > li:focus-within > a,
.pcedu-menu-underline .pcedu-menu .current-menu-item > a,
.pcedu-menu-underline .pcedu-menu .current_page_item > a,
.pcedu-menu-underline .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-underline .pcedu-menu .current-menu-parent > a {
	background: none;
	color: var(--pc-nav-text, #fff);
	border-block-end-color: var(--pc-accent);
}

/* ২. গুলি — গোল কোণের ছোট বড়ি */
.pcedu-menu-pill .pcedu-menu { gap: 2px; padding-block: 5px; }
.pcedu-menu-pill .pcedu-menu > li > a {
	border-radius: 999px;
	padding-block: 7px;
}

/* ৩. খোপ — প্রতিটি আইটেমের মাঝে দাঁড়ি */
.pcedu-menu-divider .pcedu-menu > li + li > a {
	box-shadow: inset 1px 0 0 rgba(255, 255, 255, .22);
}
.pcedu-menu-divider .pcedu-menu > li > a:hover,
.pcedu-menu-divider .pcedu-menu > li:focus-within > a,
.pcedu-menu-divider .pcedu-menu .current-menu-item > a,
.pcedu-menu-divider .pcedu-menu .current_page_item > a,
.pcedu-menu-divider .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-divider .pcedu-menu .current-menu-parent > a {
	background: rgba(0, 0, 0, .25);
	color: var(--pc-nav-text, #fff);
	box-shadow: inset 0 -3px 0 var(--pc-accent);
}

/* ───── আরও দশটি চেহারা ─────
   প্রতিটিই কেবল চলতি/হোভার অবস্থার নিয়ম বদলায়, বাংলা লেখার
   letter-spacing বা uppercase কোথাও ব্যবহার করা হয়নি। সংক্ষেপে
   একটি তালিকা বানিয়ে পুনরাবৃত্তি কমানো যেত না, কারণ প্রতিটির
   নিয়ম আলাদা। */

/* ৪. ফোল্ডার ট্যাব */
.pcedu-menu-tab .pcedu-menu { gap: 2px; padding-block-start: 5px; }
.pcedu-menu-tab .pcedu-menu > li > a {
	border-radius: 6px 6px 0 0;
	padding-block: 9px 10px;
}
.pcedu-menu-tab .pcedu-menu > li > a:hover,
.pcedu-menu-tab .pcedu-menu > li:focus-within > a,
.pcedu-menu-tab .pcedu-menu .current-menu-item > a,
.pcedu-menu-tab .pcedu-menu .current_page_item > a,
.pcedu-menu-tab .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-tab .pcedu-menu .current-menu-parent > a {
	background: var(--pc-card, #fff);
	color: var(--pc-primary);
}

/* ৫. উপরে দাগ */
.pcedu-menu-topline .pcedu-menu > li > a { border-block-start: 3px solid transparent; }
.pcedu-menu-topline .pcedu-menu > li > a:hover,
.pcedu-menu-topline .pcedu-menu > li:focus-within > a,
.pcedu-menu-topline .pcedu-menu .current-menu-item > a,
.pcedu-menu-topline .pcedu-menu .current_page_item > a,
.pcedu-menu-topline .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-topline .pcedu-menu .current-menu-parent > a {
	background: rgba(0, 0, 0, .18);
	color: var(--pc-nav-text, #fff);
	border-block-start-color: var(--pc-accent);
}

/* ৬. নিচে বিন্দু */
.pcedu-menu-dot .pcedu-menu > li > a { position: relative; }
.pcedu-menu-dot .pcedu-menu > li > a::before {
	content: "";
	position: absolute;
	inset-block-end: 5px;
	inset-inline-start: 50%;
	translate: -50% 0;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: transparent;
}
.pcedu-menu-dot .pcedu-menu > li > a:hover,
.pcedu-menu-dot .pcedu-menu > li:focus-within > a,
.pcedu-menu-dot .pcedu-menu .current-menu-item > a,
.pcedu-menu-dot .pcedu-menu .current_page_item > a,
.pcedu-menu-dot .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-dot .pcedu-menu .current-menu-parent > a {
	background: none;
	color: var(--pc-accent);
}
.pcedu-menu-dot .pcedu-menu > li > a:hover::before,
.pcedu-menu-dot .pcedu-menu .current-menu-item > a::before,
.pcedu-menu-dot .pcedu-menu .current_page_item > a::before { background: var(--pc-accent); }

/* ৭. রূপরেখা — প্রতিটি আইটেম ঘেরা */
.pcedu-menu-outline .pcedu-menu { gap: 5px; padding-block: 6px; }
.pcedu-menu-outline .pcedu-menu > li > a {
	border: 1px solid rgba(255, 255, 255, .34);
	border-radius: var(--pc-radius);
	padding-block: 6px;
}
.pcedu-menu-outline .pcedu-menu > li > a:hover,
.pcedu-menu-outline .pcedu-menu > li:focus-within > a,
.pcedu-menu-outline .pcedu-menu .current-menu-item > a,
.pcedu-menu-outline .pcedu-menu .current_page_item > a,
.pcedu-menu-outline .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-outline .pcedu-menu .current-menu-parent > a {
	background: var(--pc-accent);
	border-color: var(--pc-accent);
	color: #1b2113;
}

/* ৮. উঁচু — ছায়া সহ */
.pcedu-menu-raised .pcedu-menu { gap: 4px; padding-block: 6px; }
.pcedu-menu-raised .pcedu-menu > li > a {
	border-radius: var(--pc-radius);
	padding-block: 7px;
	transition: background .16s ease, box-shadow .16s ease, translate .16s ease;
}
.pcedu-menu-raised .pcedu-menu > li > a:hover,
.pcedu-menu-raised .pcedu-menu > li:focus-within > a,
.pcedu-menu-raised .pcedu-menu .current-menu-item > a,
.pcedu-menu-raised .pcedu-menu .current_page_item > a,
.pcedu-menu-raised .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-raised .pcedu-menu .current-menu-parent > a {
	background: var(--pc-accent);
	color: #1b2113;
	box-shadow: 0 3px 8px rgba(0, 0, 0, .28);
	translate: 0 -1px;
}

/* ৯. হালকা — শুধু লেখার রঙ বদলায় */
.pcedu-menu-plain .pcedu-menu > li > a:hover,
.pcedu-menu-plain .pcedu-menu > li:focus-within > a,
.pcedu-menu-plain .pcedu-menu .current-menu-item > a,
.pcedu-menu-plain .pcedu-menu .current_page_item > a,
.pcedu-menu-plain .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-plain .pcedu-menu .current-menu-parent > a {
	background: none;
	color: var(--pc-accent);
}

/* ১০. গাঢ় খোপ — পুরো উচ্চতা জুড়ে */
.pcedu-menu-block .pcedu-menu > li > a { padding-block: 13px; }
.pcedu-menu-block .pcedu-menu > li > a:hover,
.pcedu-menu-block .pcedu-menu > li:focus-within > a,
.pcedu-menu-block .pcedu-menu .current-menu-item > a,
.pcedu-menu-block .pcedu-menu .current_page_item > a,
.pcedu-menu-block .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-block .pcedu-menu .current-menu-parent > a {
	background: rgba(0, 0, 0, .32);
	color: var(--pc-nav-text, #fff);
	box-shadow: inset 0 3px 0 var(--pc-accent), inset 0 -3px 0 var(--pc-accent);
}

/* ১১. কোণ কাটা */
.pcedu-menu-angled .pcedu-menu { gap: 3px; padding-block: 5px; }
.pcedu-menu-angled .pcedu-menu > li > a {
	padding-block: 7px;
	clip-path: polygon(11px 0, 100% 0, calc(100% - 11px) 100%, 0 100%);
	padding-inline: 26px;
}
.pcedu-menu-angled .pcedu-menu > li > a:hover,
.pcedu-menu-angled .pcedu-menu > li:focus-within > a,
.pcedu-menu-angled .pcedu-menu .current-menu-item > a,
.pcedu-menu-angled .pcedu-menu .current_page_item > a,
.pcedu-menu-angled .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-angled .pcedu-menu .current-menu-parent > a {
	background: var(--pc-accent);
	color: #1b2113;
}

/* ১২. দুই পাশে দাগ */
.pcedu-menu-bracket .pcedu-menu > li > a {
	border-inline: 2px solid transparent;
}
.pcedu-menu-bracket .pcedu-menu > li > a:hover,
.pcedu-menu-bracket .pcedu-menu > li:focus-within > a,
.pcedu-menu-bracket .pcedu-menu .current-menu-item > a,
.pcedu-menu-bracket .pcedu-menu .current_page_item > a,
.pcedu-menu-bracket .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-bracket .pcedu-menu .current-menu-parent > a {
	background: rgba(255, 255, 255, .1);
	color: var(--pc-nav-text, #fff);
	border-inline-color: var(--pc-accent);
}

/* ১৩. নিচে মোটা দাগ */
.pcedu-menu-thick .pcedu-menu > li > a { border-block-end: 5px solid transparent; padding-block: 11px 7px; }
.pcedu-menu-thick .pcedu-menu > li > a:hover,
.pcedu-menu-thick .pcedu-menu > li:focus-within > a,
.pcedu-menu-thick .pcedu-menu .current-menu-item > a,
.pcedu-menu-thick .pcedu-menu .current_page_item > a,
.pcedu-menu-thick .pcedu-menu .current-menu-ancestor > a,
.pcedu-menu-thick .pcedu-menu .current-menu-parent > a {
	background: rgba(0, 0, 0, .16);
	color: var(--pc-nav-text, #fff);
	border-block-end-color: var(--pc-accent);
}

.pcedu-submenu {
	display: none;
	position: absolute;
	inset-inline-start: 0;
	top: 100%;
	min-width: 245px;
	background: var(--pc-primary-dark);
	list-style: none;
	margin: 0; padding: 0;
	z-index: 99;
	box-shadow: 0 10px 24px rgba(0,0,0,.26);
	border-block-start: 3px solid var(--pc-accent);
}
.pcedu-menu > li:hover > .pcedu-submenu,
.pcedu-menu > li:focus-within > .pcedu-submenu,
.pcedu-menu > li.is-open > .pcedu-submenu { display: block; }

.pcedu-submenu a {
	padding: 10px 16px;
	font-size: var(--t-base);
	font-weight: 400;
	white-space: normal;
	border-block-end: 1px solid rgba(255,255,255,.08);
}
.pcedu-submenu li:last-child a { border-block-end: 0; }
.pcedu-submenu a:hover { background: var(--pc-accent); color: #1b2113; }

.pcedu-submenu-toggle {
	background: none; border: 0; color: inherit;
	cursor: pointer; line-height: 0; padding: 0;
	position: absolute;
	inset-inline-end: 10px; top: 50%;
	transform: translateY(-50%);
	display: none;
}
.pcedu-submenu-toggle .pcedu-icon {
	width: 16px; height: 16px;
	transform: rotate(90deg);
	transition: transform .2s ease;
}
.pcedu-submenu-toggle[aria-expanded="true"] .pcedu-icon { transform: rotate(-90deg); }

@media (min-width: 981px) {
	.pcedu-menu > .menu-item-has-children > a { padding-inline-end: 28px; }
	.pcedu-menu > .menu-item-has-children > a::after {
		content: "";
		position: absolute;
		inset-inline-end: 13px; top: 50%;
		width: 6px; height: 6px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-70%) rotate(45deg);
		pointer-events: none;
	}
}

.pcedu-nav__toggle {
	display: none;
	align-items: center;
	gap: 10px;
	width: 100%;
	background: none; border: 0;
	color: var(--pc-nav-text, #fff);
	font-size: var(--t-body);
	font-weight: 500;
	padding: 13px 6px;
	cursor: pointer;
	text-align: start;
}
.pcedu-nav__bars {
	width: 20px; height: 2px;
	background: currentColor;
	position: relative;
	display: inline-block;
}
.pcedu-nav__bars::before,
.pcedu-nav__bars::after {
	content: ""; position: absolute; inset-inline: 0;
	height: 2px; background: currentColor;
}
.pcedu-nav__bars::before { top: -6px; }
.pcedu-nav__bars::after  { top: 6px; }

/* ── ৫. স্লাইডার, নোটিশ স্ক্রলার, পরিসংখ্যান ───────────────────────── */

/* স্লাইডারটি প্রান্ত থেকে প্রান্ত — বাক্সবন্দি বিন্যাসে বাক্সের দুই
   ধার ছুঁয়ে, পূর্ণ প্রস্থে পর্দার দুই ধার ছুঁয়ে। ভিতরের .pcedu-wrap
   এর প্রস্থসীমা ও পাশের ফাঁক এখানে তুলে দেওয়া হয়। */
.pcedu-slider-wrap { padding-block: 0; }
.pcedu-slider-wrap > .pcedu-wrap {
	max-width: none;
	padding-inline: 0;
}
.pcedu-slider-wrap .pcedu-slider {
	border-radius: 0;
	border-inline: 0;
	border-block-start: 0;
}

.pcedu-slider {
	position: relative;
	border: 1px solid var(--pc-border);
	background: var(--pc-primary-soft);
	border-radius: var(--pc-radius);
	overflow: hidden;
}
.pcedu-slider__track { position: relative; }

/* ক্রসফেইড — হঠাৎ বদলের চেয়ে নরম */
.pcedu-slide {
	margin: 0;
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease;
}
.pcedu-slide:first-child { position: relative; }
.pcedu-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }

.pcedu-slide__img {
	width: 100%; display: block;
	aspect-ratio: 59 / 22;
	object-fit: cover;
	object-position: center;
}

.pcedu-slide__caption {
	position: absolute;
	inset-inline: 0; bottom: 0;
	background: linear-gradient(transparent, rgba(0,0,0,.8));
	color: #fff;
	padding: 48px 20px 16px;
	font-size: var(--t-md);
	font-weight: 500;
	line-height: var(--lh-snug);
	z-index: 2;
}

/* ছবির উপর প্রতিষ্ঠানের পরিচয় ও দুটি কাজের বোতাম */
.pcedu-hero {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	width: min(58%, 540px);
	padding: 24px clamp(20px, 4vw, 44px);
	color: var(--pc-hero-text, #fff);
	/* গ্রেডিয়েন্টে logical direction (inline-end) চলে না — to right-ই লাগে */
	background: linear-gradient(
		to right,
		rgba(8, 40, 23, .93) 0%,
		rgba(8, 40, 23, .80) 60%,
		rgba(8, 40, 23, 0) 100%
	);
}
.pcedu-hero__title {
	margin: 0;
	font-size: clamp(1.15rem, 2.5vw, 1.85rem);
	font-weight: 700;
	line-height: var(--lh-tight);
	text-shadow: 0 1px 10px rgba(0,0,0,.35);
}
.pcedu-hero__text {
	margin: 0;
	font-size: var(--t-base);
	line-height: var(--lh-snug);
	color: var(--pc-hero-text, rgba(255,255,255,.92));
}
.pcedu-hero__actions {
	margin: 6px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
/* হিরো থাকলে স্লাইডের ক্যাপশন লুকাই — একই জায়গায় দুটো লেখা পড়ে */
.pcedu-slider:has(.pcedu-hero) .pcedu-slide__caption { display: none; }

.pcedu-slider__arrow {
	position: absolute;
	top: 50%; transform: translateY(-50%);
	background: rgba(0,0,0,.4);
	color: #fff; border: 0;
	width: 42px; height: 62px;
	font-size: 30px; line-height: 1;
	cursor: pointer;
	z-index: 3;
	transition: background .18s ease;
}
.pcedu-slider__arrow:hover { background: var(--pc-primary); }

/* দুটো তীরই ডান পাশে জোড়া করে — বাঁ পাশে হিরোর লেখা থাকে,
   সেখানে তীর বসালে লেখার গায়ে লাগে */
.pcedu-slider__arrow--prev {
	inset-inline-end: 43px;
	border-inline-end: 1px solid rgba(255,255,255,.22);
}
.pcedu-slider__arrow--next { inset-inline-end: 0; }

.pcedu-slider__dots {
	position: absolute;
	inset-inline: 0; bottom: 14px;
	display: flex; justify-content: center; gap: 8px;
	z-index: 3;
}
.pcedu-slider__dots button {
	width: 11px; height: 11px; padding: 0;
	border: 2px solid #fff; border-radius: 50%;
	background: transparent; cursor: pointer;
}
.pcedu-slider__dots button[aria-selected="true"] { background: #fff; }

/* নোটিশ স্ক্রলার */
.pcedu-marquee-wrap { padding-block: var(--pc-gap); }

.pcedu-marquee {
	display: flex;
	border: 1px solid var(--pc-border);
	background: #fff;
	border-radius: var(--pc-radius);
	overflow: hidden;
}
.pcedu-marquee__badge {
	flex: none;
	display: flex; align-items: center; gap: 6px;
	background: var(--pc-red);
	color: #fff;
	font-size: var(--t-sm); font-weight: 600;
	padding: 9px 14px;
}
.pcedu-marquee__badge .pcedu-icon { width: 15px; height: 15px; }

.pcedu-marquee__track {
	flex: 1; min-width: 0;
	overflow: hidden; white-space: nowrap;
	display: flex; align-items: center;
}
.pcedu-marquee__track > span {
	display: inline-block;
	padding-inline-start: 100%;
	font-size: var(--t-base);
	animation: pcedu-scroll 34s linear infinite;
}
.pcedu-marquee:hover .pcedu-marquee__track > span,
.pcedu-marquee:focus-within .pcedu-marquee__track > span { animation-play-state: paused; }
.pcedu-marquee a { color: var(--pc-ink); }
.pcedu-marquee a:hover { color: var(--pc-red); }

@keyframes pcedu-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-100%); }
}

/* পরিসংখ্যান */
.pcedu-stats {
	position: relative;
	background: var(--pc-stats, var(--pc-primary));
	color: #fff;
	padding-block: 30px;
	overflow: hidden;
}

/* ব্যান্ডটি যেন সমতল রঙের ফালি না লাগে — উপরে সোনালি রেখা, ভেতরে
   নরম আলো ও হালকা ছক। রঙ যা-ই বসানো হোক, সবই স্বচ্ছ স্তর, তাই
   স্কুলের বেছে নেওয়া রঙ নষ্ট হয় না। */
.pcedu-stats::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-start: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--pc-accent) 22%, var(--pc-accent) 78%, transparent);
	opacity: .85;
}
.pcedu-stats::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(620px 240px at 18% -40%, rgba(255,255,255,.14), transparent 70%),
		radial-gradient(520px 220px at 88% 140%, rgba(255,255,255,.08), transparent 70%);
}

.pcedu-stats .pcedu-wrap { position: relative; z-index: 1; }

.pcedu-stats__grid {
	display: grid;
	/* তিনটি সংখ্যা থাকলে চতুর্থ ঘরটি ফাঁকা পড়ে থাকত — auto-fit সেটি
	   ছড়িয়ে দেয়, তাই যে কয়টি আছে সে কয়টিই পুরো প্রস্থ জুড়ে বসে। */
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 14px;
	text-align: center;
}

.pcedu-stat {
	position: relative;
	padding: 18px 14px 16px;
	border-radius: 10px;
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.14);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
	transition: background .18s ease, transform .18s ease;
}
.pcedu-stat:hover {
	background: rgba(255,255,255,.12);
	transform: translateY(-2px);
}

.pcedu-stat__icon {
	display: inline-flex;
	width: 46px; height: 46px;
	align-items: center; justify-content: center;
	margin-bottom: 8px;
	border-radius: 50%;
	color: var(--pc-accent);
	background: rgba(255,255,255,.10);
	border: 1px solid rgba(255,255,255,.18);
}
.pcedu-stat__icon .pcedu-icon { width: 24px; height: 24px; }

.pcedu-stat__number {
	margin: 0;
	font-size: clamp(1.5rem, 3vw, 2.15rem);
	font-weight: 700;
	line-height: var(--lh-flat);
	color: var(--pc-accent);
}

.pcedu-stat__unit {
	font-size: .62em;
	font-weight: 600;
	margin-inline-start: 2px;
	opacity: .85;
}

/* সংখ্যার নিচে ছোট সোনালি দাগ — লেখা থেকে সংখ্যাকে আলাদা করে */
.pcedu-stat__number::after {
	content: "";
	display: block;
	width: 26px; height: 2px;
	margin: 7px auto 0;
	border-radius: 2px;
	background: var(--pc-accent);
	opacity: .55;
}

.pcedu-stat__label {
	margin: 7px 0 0;
	font-size: var(--t-base);
	line-height: var(--lh-snug);
	color: rgba(255,255,255,.92);
}

/* ── ৬. লেআউট ──────────────────────────────────────────────────────── */

.pcedu-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: var(--pc-gap);
	padding-block: var(--pc-gap);
	align-items: start;
}
.pcedu-no-sidebar .pcedu-layout:not(.pcedu-layout--home) { grid-template-columns: minmax(0, 1fr); }

.pcedu-layout__main > * + * { margin-block-start: var(--pc-gap); }
.pcedu-sidebar > * + *      { margin-block-start: var(--pc-gap); }

.pcedu-row { display: grid; gap: var(--pc-gap); }
.pcedu-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.pcedu-section { padding-block: 0 var(--pc-gap); }

/* ── ৭. কার্ড ও লিংক তালিকা ───────────────────────────────────────── */

.pcedu-card {
	background: var(--pc-card);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	box-shadow: var(--pc-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

/* কিছু না থাকলে ফাঁকা বাক্সও থাকবে না।

   :empty ব্যবহার করা যায় না — PHP যে নতুন লাইন ও ট্যাব ছাপে সেগুলোও
   টেক্সট নোড, ফলে দেখতে খালি বাক্সও :empty হয় না। :not(:has(*)) মানে
   "ভিতরে কোনো এলিমেন্ট নেই", সেটিই এখানে সঠিক পরীক্ষা। */
.pcedu-connect:not(:has(*)),
.pcedu-linklist:not(:has(*)) { display: none; }

.pcedu-card__head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	background: var(--pc-cardhead, var(--pc-primary));
	color: var(--pc-cardhead-text, #fff);
	/* মাপটি কাস্টমাইজার থেকে — থিমের সব কার্ডের শিরোনামে একসঙ্গে বসে */
	font-size: var(--pc-cardhead-size, var(--t-md));
	font-weight: 600;
	line-height: var(--lh-snug);
	text-align: center;
	margin: 0;
	/* উচ্চতা কাস্টমাইজার থেকে — ডিফল্ট আগের চেয়ে চিকন */
	padding: var(--pc-head-pad, 7px) 16px;
	border-block-end: var(--pc-accent-line) solid var(--pc-accent);
}
.pcedu-card__head .pcedu-icon { width: 18px; height: 18px; }

.pcedu-card__body {
	padding: 16px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.pcedu-card__body > :last-child { margin-bottom: 0; }

.pcedu-empty, .pcedu-hint {
	color: var(--pc-muted);
	font-size: var(--t-sm);
	line-height: var(--lh-ui);
	margin: 10px 0 0;
}

/*
 | থিমের নিজস্ব বোতাম। তিনটি জিনিস একে আলাদা করে:
 |   ১. বাঁ ধারে অ্যাকসেন্ট রঙের একটি সরু পটি — কার্ডের শিরোনামের
 |      নিচের রেখাটির সঙ্গে মিলে যায়, তাই গোটা সাইট একই পরিবারের।
 |   ২. নিচে ২px ঘন ছায়া — বোতামটি কাগজের উপর বসানো চাবির মতো
 |      দেখায়, চাপলে বসে যায়।
 |   ৩. হোভারে অ্যাকসেন্ট রঙ বাঁ দিক থেকে ভরে আসে।
 | পটিটির জন্য বাঁয়ে বাড়তি জায়গা রাখা হয়েছে, নইলে লেখা তার গায়ে
 | লেগে যেত।
 */
.pcedu-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--pc-btn, var(--pc-primary));
	color: var(--pc-btn-text, #fff);
	font-size: var(--t-base);
	font-weight: 600;
	line-height: var(--lh-snug);
	padding: 9px 22px 9px 26px;
	border: 0;
	border-radius: 7px;
	cursor: pointer;
	overflow: hidden;
	isolation: isolate;
	box-shadow: 0 2px 0 0 rgba(0,0,0,.22), 0 2px 7px rgba(0,0,0,.13);
	transition: transform .14s ease, box-shadow .14s ease, color .16s ease;
}

/* বাঁ ধারের পটি */
.pcedu-btn::before {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	width: 5px;
	background: var(--pc-accent);
	z-index: -1;
}

/* হোভারে যে রঙ ভরে আসে */
.pcedu-btn::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--pc-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .22s ease;
	z-index: -1;
}
.pcedu-btn:hover,
.pcedu-btn:focus-visible { color: #1b2113; transform: translateY(-2px); box-shadow: 0 4px 0 0 rgba(0,0,0,.22), 0 7px 14px rgba(0,0,0,.16); }
.pcedu-btn:hover::after,
.pcedu-btn:focus-visible::after { transform: scaleX(1); }
.pcedu-btn:active { transform: translateY(0); box-shadow: 0 1px 0 0 rgba(0,0,0,.22), 0 1px 3px rgba(0,0,0,.14); }

.pcedu-btn--block { display: flex; width: 100%; text-align: center; }
.pcedu-btn--small { font-size: var(--t-sm); padding: 7px 15px 7px 18px; }
.pcedu-btn--small::before { width: 4px; }

/* হিরোর বোতাম — .pcedu-btn এর পরেই থাকতে হবে, নইলে ঢাকা পড়ে যায় */
.pcedu-btn--hero { background: var(--pc-accent); color: #1b2113; }
.pcedu-btn--hero::before { background: var(--pc-primary); }
.pcedu-btn--hero::after { background: #fff; }
.pcedu-btn--hero:hover,
.pcedu-btn--hero:focus-visible { color: var(--pc-primary); }
.pcedu-btn--ghost {
	background: rgba(255,255,255,.12);
	color: #fff;
	box-shadow: inset 0 0 0 2px rgba(255,255,255,.65);
}
.pcedu-btn--ghost::before { background: rgba(255,255,255,.75); }
.pcedu-btn--ghost::after { background: #fff; }
.pcedu-btn--ghost:hover,
.pcedu-btn--ghost:focus-visible {
	color: var(--pc-primary);
	box-shadow: inset 0 0 0 2px rgba(255,255,255,.65);
	transform: translateY(-2px);
}


/* auto মার্জিন বোতামকে কার্ডের নিচে ঠেলে দেয়, তাই পাশাপাশি
   দুই কার্ডের বোতাম একই সারিতে বসে */
/* বোতাম কার্ডের নিচে ডান পাশে। --block বোতাম পূর্ণ প্রস্থের, তাই
   সেটিতে এই সারিবদ্ধতা প্রভাব ফেলে না */
.pcedu-more {
	text-align: end;
	margin: auto 0 0;
	padding-block-start: 16px;
}

.pcedu-linklist { list-style: none; margin: 0; padding: 0; }
.pcedu-linklist li { border-block-end: 1px solid var(--pc-rule); margin: 0; }
.pcedu-linklist li:last-child { border-block-end: 0; }

.pcedu-linklist a,
.pcedu-linklist > li > span {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	padding-block: 6px;
	font-size: var(--t-base);
	line-height: var(--lh-ui);
	color: var(--pc-ink);
}
.pcedu-linklist a:hover { color: var(--pc-primary); }
.pcedu-linklist .pcedu-icon {
	width: 13px; height: 13px;
	margin-block-start: .52em;
	color: var(--pc-accent);
}

.pcedu-linklist--boxed li {
	border: 1px solid var(--pc-rule);
	background: #fafbfa;
	border-radius: 3px;
	margin-block-end: 4px;
}
.pcedu-linklist--boxed li:last-child { margin-block-end: 0; }
.pcedu-linklist--boxed a {
	padding: 5px 10px;
	line-height: var(--lh-snug);
	align-items: center;
	gap: 7px;
}
.pcedu-linklist--boxed .pcedu-icon { margin-block-start: 0; }
.pcedu-linklist--boxed li:hover { background: var(--pc-primary-soft); }

/* ── ৮. কর্নার গ্রিড ও ইতিহাস কার্ড ───────────────────────────────── */

.pcedu-corners {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--pc-gap);
}

/*
 | কর্নার কার্ডের ভিতরটা হালকা রঙে ভরা, আর প্রতিটি লিংক তার উপরে
 | সাদা ঘরে — ঠিক নিচের অফিসিয়াল লিংকের সারির মতো। ফলে আট কার্ড
 | আর সাদা পাতায় মিলিয়ে যায় না, প্রতিটি লিংক আলাদা করে চোখে পড়ে।
 */
.pcedu-corner .pcedu-card__body {
	background: var(--pc-corner-fill, var(--pc-primary-soft));
}

/* বাঁয়ে ছবি, ডানে লিংকের তালিকা */
.pcedu-corner__inner {
	display: grid;
	grid-template-columns: 118px minmax(0, 1fr);
	gap: 14px;
	/* ছবিটি লিংকের তালিকার উচ্চতার মাঝ বরাবর — উপরে আটকে থাকলে
	   নিচে ফাঁকা পড়ে কার্ডটি একপেশে দেখায় */
	align-items: center;
}

/* রঙিন ভরাটের উপরে ছবিটি সাদা ফ্রেমে, ঠিক মাঝখানে */
.pcedu-corner__media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 6px;
}
.pcedu-corner__media img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: center;
	border-radius: calc(var(--pc-radius) - 2px);
	background: var(--pc-primary-soft);
	display: block;
	margin: auto;
}
.pcedu-corner__links { min-width: 0; }

/* প্রতিটি লিংক সাদা ঘরে — লাইনের ফাঁক কম, বাঁ দিকে জায়গা বেশি */
.pcedu-corner .pcedu-linklist li {
	border-block-end: 0;
	background: #fff;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	margin-block-end: 5px;
	transition: border-color .16s ease, box-shadow .16s ease;
}
.pcedu-corner .pcedu-linklist li:last-child { margin-block-end: 0; }
.pcedu-corner .pcedu-linklist li:hover {
	border-color: var(--pc-primary);
	box-shadow: 0 2px 8px rgba(20,83,45,.12);
}
.pcedu-corner .pcedu-linklist a {
	align-items: center;
	gap: 8px;
	/* উপর-নিচে কম, বাঁয়ে বেশি — লেখাটি আইকন থেকে একটু দূরে শুরু হয় */
	padding: 5px 10px 5px 13px;
	line-height: var(--lh-snug);
}
.pcedu-corner .pcedu-linklist .pcedu-icon {
	width: 16px; height: 16px;
	margin-block-start: 0;
	padding: 3px;
	border-radius: 50%;
	background: var(--pc-primary);
	color: #fff;
	box-sizing: border-box;
	flex: none;
}
.pcedu-corner .pcedu-linklist a:hover .pcedu-icon { background: var(--pc-accent); color: #1b2113; }

/* উপরের সারি: বাঁয়ে ছবি, ডানে তথ্যবক্স — দুটি সমান উচ্চতায়।
   নিচের সারি: বিস্তারিত লেখা পুরো প্রস্থ জুড়ে। */
.pcedu-about {
	display: grid;
	/* ছবির মাপ Customize -> ৫. হোম পেজের লেখা থেকে ঠিক করা যায়।
	   কলামটি ছবির প্রস্থের বেশি চওড়া হয় না, আবার কার্ড সরু হলে
	   minmax() একে ছোট হতে দেয় — তাই ছোট পর্দাতেও ভাঙে না। */
	grid-template-columns: minmax(0, var(--pc-about-photo-w, 463px)) minmax(0, 1fr);
	gap: var(--pc-gap);
	align-items: stretch;
}

.pcedu-about__photo {
	width: 100%;
	height: var(--pc-about-photo-h, 203px);
	/* ছবিটি তথ্যছকের চেয়ে বেঁটে হলে উপরে আটকে না থেকে মাঝে বসে */
	align-self: center;
	/* cover = বাক্স ভরে, দরকারে ধার কাটে। contain = গোটা ছবি দেখা
	   যায়, দরকারে পাশে ফাঁকা থাকে। Customize -> ৫. হোম পেজের লেখা */
	object-fit: var(--pc-about-photo-fit, cover);
	object-position: center;
	border-radius: var(--pc-radius);
	border: 1px solid var(--pc-border);
	background: var(--pc-primary-soft);
}

/* তথ্যবক্সটি একটি পূর্ণাঙ্গ ছক — ঘরগুলো বক্সের পুরো প্রস্থ ও উচ্চতা
   দখল করে, তাই ডান পাশে বা নিচে ফাঁকা জায়গা থাকে না */
.pcedu-factbox {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	overflow: hidden;
	padding: 0;
}
.pcedu-factbox__head {
	margin: 0;
	padding: calc(var(--pc-head-pad, 7px) - 1px) 14px;
	background: var(--pc-primary-soft);
	color: var(--pc-primary);
	font-size: var(--t-base);
	line-height: var(--lh-tight);
	border-block-end: 1px solid var(--pc-border);
}
.pcedu-facts {
	margin: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.pcedu-facts__row {
	flex: 1;
	display: grid;
	grid-template-columns: minmax(0, 38%) minmax(0, 62%);
	font-size: var(--t-base);
	line-height: var(--lh-tight);
	border-block-end: 1px solid var(--pc-rule);
}
.pcedu-facts__row:last-child { border-block-end: 0; }
.pcedu-facts dt {
	display: flex;
	align-items: center;
	padding: 6px 12px;
	font-weight: 600;
	background: var(--pc-primary-soft);
	border-inline-end: 1px solid var(--pc-rule);
}
.pcedu-facts dd {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 6px 12px;
}

/* বিস্তারিত লেখা — দুই কলাম জুড়ে, ছবির নিচ থেকে পুরো প্রস্থ */
.pcedu-about > .pcedu-prose {
	grid-column: 1 / -1;
	background: #fff;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 14px 16px;
}
.pcedu-about > .pcedu-prose > :first-child { margin-block-start: 0; }
.pcedu-about > .pcedu-prose > :last-child { margin-block-end: 0; }
/* পাঠযোগ্যতার ৬৮-অক্ষরের সীমা এখানে খাটে না — লেখা পুরো বক্স জুড়ে যাবে */
.pcedu-about > .pcedu-prose p,
.pcedu-about > .pcedu-prose li { max-width: none; }

/* বাণী — ছবিটি বাঁয়ে ভাসে, লেখা তার ডান পাশ দিয়ে নেমে নিচেও জড়ায় */
.pcedu-message::after { content: ""; display: block; clear: both; }

.pcedu-message__photo {
	float: inline-start;
	/* আকার কাস্টমাইজার থেকে — কার্ডে এক মাপ, পূর্ণ পাতায় আরেক */
	width: var(--pc-msg-photo-w, 150px);
	height: var(--pc-msg-photo-h, 172px);
	margin: 2px 16px 10px 0;
	border: 1px solid var(--pc-border);
	padding: 3px;
	background: #fff;
	object-fit: cover;
	/* প্রতিকৃতিতে মুখ সাধারণত উপরের দিকে থাকে */
	object-position: center 22%;
	border-radius: 3px;
}

/* বাণীর নিজস্ব পাতায় ছবিটি বড়, কারণ ওখানে লেখার জায়গার টান নেই */
.pcedu-message--full .pcedu-message__photo {
	width: var(--pc-msgpage-photo-w, 240px);
	height: var(--pc-msgpage-photo-h, 275px);
	margin: 2px 20px 12px 0;
}

/* নাম ও পদবি বাণীর শেষে সইয়ের মতো */
.pcedu-message__sign {
	margin-block-start: .85em;
	padding-block-start: .6em;
	border-block-start: 1px solid var(--pc-rule);
}
.pcedu-message__name {
	display: block;
	font-weight: 600;
	color: var(--pc-primary);
	font-size: var(--t-base);
	line-height: var(--lh-snug);
}
.pcedu-message__role {
	display: block;
	font-size: var(--t-xs);
	color: var(--pc-muted);
	line-height: var(--lh-snug);
}
.pcedu-message__text { font-size: var(--t-base); }

/* ── সরু পাতা — দুই পাশে ফাঁকা ─────────────────────────────────────── */

/*
 | পরিচিতি ও দুই বাণীর পাতায় সাইডবার রাখা হয়নি। সাইডবার সরালে
 | লেখা একলা পুরো শেল জুড়ে ছড়িয়ে যায় আর এক লাইন থেকে পরের
 | লাইনে চোখ নামতে কষ্ট হয়। এই মোড়কটি কলামটিকে মাঝখানে ধরে
 | রাখে, দুই পাশে ফাঁকা থাকে।
 */
.pcedu-narrow {
	max-width: var(--pc-narrow, 1060px);
	margin-inline: auto;
}
.pcedu-narrow > * + * { margin-block-start: var(--pc-gap); }

/*
 | বাণীর পাতা — ছবিটি বাঁয়ে ভাসে, লেখা তার ডান পাশ দিয়ে নেমে
 | ছবির নিচেও জড়িয়ে যায়। গ্রিডে রাখলে ছবির নিচের জায়গাটুকু
 | ফাঁকা পড়ে থাকত, লম্বা বাণীতে সেটি বেমানান দেখায়।
 */
.pcedu-msgpage::after { content: ""; display: block; clear: both; }

.pcedu-msgpage__figure {
	float: inline-start;
	width: var(--pc-msgpage-photo-w, 240px);
	margin: 2px 20px 14px 0;
	padding: 8px;
	background: var(--pc-primary-soft);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	text-align: center;
}
.pcedu-msgpage__photo {
	display: block;
	width: 100%;
	height: var(--pc-msgpage-photo-h, 275px);
	background: #fff;
	border: 1px solid var(--pc-border);
	border-radius: 3px;
	object-fit: cover;
	/* প্রতিকৃতিতে মুখ সাধারণত উপরের দিকে থাকে */
	object-position: center 22%;
}
.pcedu-msgpage__who {
	margin-block-start: 8px;
	padding-block-start: 7px;
	border-block-start: 1px solid var(--pc-rule);
}
.pcedu-msgpage__name {
	display: block;
	font-family: var(--pc-font-head);
	font-weight: 600;
	color: var(--pc-primary);
	font-size: var(--t-base);
	line-height: var(--lh-snug);
}
.pcedu-msgpage__role,
.pcedu-msgpage__place {
	display: block;
	font-size: var(--t-xs);
	color: var(--pc-muted);
	line-height: var(--lh-snug);
}

/* উদ্ধৃতি চিহ্নটি লেখার উপরে আলাদা লাইনে — লেখার উপর বসালে
   প্রথম শব্দগুলো ঢাকা পড়ে যায় */
.pcedu-msgpage__body > .pcedu-prose::before {
	content: "\201C";
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 54px;
	line-height: .62;
	color: var(--pc-primary);
	opacity: .22;
	margin-block-end: -4px;
}
.pcedu-msgpage__body > .pcedu-prose > :first-child { margin-block-start: 0; }
.pcedu-msgpage__body > .pcedu-prose > :last-child { margin-block-end: 0; }

/* নাম–পদবি–প্রতিষ্ঠান সইয়ের মতো লেখার শেষে, ডান দিকে।
   clear না দিলে উপরের রেখাটি ছবির নিচ দিয়ে কেটে যেত */
.pcedu-msgpage__sign {
	clear: both;
	margin: 18px 0 0;
	padding-block-start: 10px;
	border-block-start: 1px solid var(--pc-rule);
	text-align: end;
}

/* সরু পর্দায় ছবি উপরে, মাঝখানে — পাশে রাখলে লেখার জায়গা থাকে না */
@media (max-width: 720px) {

	.pcedu-msgpage__figure {
		float: none;
		width: min(var(--pc-msgpage-photo-w, 240px), 190px);
		margin: 0 auto 14px;
	}
	.pcedu-msgpage__photo {
		height: min(var(--pc-msgpage-photo-h, 275px), 218px);
	}
	.pcedu-msgpage__sign { text-align: start; }
}

/* ── ৯. সাইডবার ────────────────────────────────────────────────────── */

.pcedu-sidebar .pcedu-card__head { font-size: var(--t-base); }
/* সরু কলামে জাস্টিফাই করলে শব্দের ফাঁক বেড়ে যায় */
.pcedu-sidebar .pcedu-justify,
.pcedu-sidebar .pcedu-justify p { text-align: start; }

.pcedu-leader {
	display: flex; gap: 14px;
	align-items: center;
	margin: 0 0 12px;
}
.pcedu-leader__photo {
	width: 82px; height: 94px;
	flex: none;
	object-fit: cover;
	object-position: center 22%;
	border: 1px solid var(--pc-border);
	padding: 3px; background: #fff;
	border-radius: 3px;
}
.pcedu-leader__body { min-width: 0; }
.pcedu-leader__name {
	margin: 0;
	font-weight: 600;
	color: var(--pc-primary);
	/* মাপটি কাস্টমাইজার থেকে — দুটি কার্ডেই একসঙ্গে */
	font-size: var(--pc-leader-name, var(--t-base));
	line-height: var(--lh-snug);
}
.pcedu-leader__role {
	margin: 2px 0 0;
	font-size: var(--t-xs);
	color: var(--pc-muted);
	line-height: var(--lh-snug);
}
.pcedu-leader__quote {
	margin: 0;
	font-size: var(--t-sm);
	line-height: var(--lh-ui);
	color: #3a403c;
	border-inline-start: 3px solid var(--pc-accent);
	padding-inline-start: 12px;
}

.pcedu-noticeboard { list-style: none; margin: 0; padding: 0; }
.pcedu-noticeboard__item {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding-block: 7px;
	margin: 0;
	border-block-end: 1px dashed var(--pc-rule);
}
.pcedu-noticeboard__item:first-child { padding-block-start: 0; }
.pcedu-noticeboard__item:last-child { border-block-end: 0; padding-block-end: 0; }

/* তারিখের চিপ — "৩" এর চেয়ে "৯ অক্টো" অনেক বেশি কাজের */
.pcedu-noticeboard__chip {
	flex: none;
	width: 42px;
	display: grid;
	place-items: center;
	padding: 4px 2px 5px;
	background: var(--pc-primary-soft);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	line-height: 1.15;
	margin-block-start: 2px;
}
.pcedu-noticeboard__day {
	font-size: var(--t-md);
	font-weight: 700;
	color: var(--pc-primary);
}
.pcedu-noticeboard__mon {
	font-size: 0.68rem;
	color: var(--pc-muted);
}
.pcedu-noticeboard__text {
	font-size: var(--t-base);
	line-height: var(--lh-ui);
	min-width: 0;
}

.pcedu-tag-new {
	display: inline-block;
	background: var(--pc-red);
	color: #fff;
	font-size: 0.66rem;
	font-weight: 600;
	line-height: 1.5;
	padding: 1px 7px;
	border-radius: 20px;
	vertical-align: 2px;
	margin-inline-start: 4px;
}

.pcedu-notices { list-style: none; margin: 0; padding: 0; }
.pcedu-notice {
	display: flex; flex-direction: column; gap: 2px;
	padding-block: 10px;
	margin: 0;
	border-block-end: 1px solid var(--pc-rule);
}
.pcedu-notice:first-child { padding-block-start: 0; }
.pcedu-notice:last-child { border-block-end: 0; padding-block-end: 0; }
.pcedu-notice__title { font-size: var(--t-base); line-height: var(--lh-ui); }
.pcedu-notice__date { font-size: var(--t-xs); color: var(--pc-muted); }

.pcedu-connect { display: grid; gap: 9px; }
.pcedu-connect__btn {
	display: flex; align-items: center; justify-content: center; gap: 9px;
	padding: 12px;
	border-radius: var(--pc-radius);
	color: #fff;
	font-size: var(--t-base); font-weight: 500;
	line-height: var(--lh-snug);
}
.pcedu-connect__btn .pcedu-icon { width: 18px; height: 18px; }
.pcedu-connect__btn--fb { background: var(--pc-blue); }
.pcedu-connect__btn--wa { background: var(--pc-green); color: #0c2e18; }
.pcedu-connect__btn--brand {
	background: var(--pc-primary-dark);
	color: var(--pc-accent);
	font-weight: 600;
}
.pcedu-connect__btn--brand:hover { background: var(--pc-primary); color: var(--pc-accent); }
.pcedu-connect__btn:hover { filter: brightness(1.08); color: #fff; }
.pcedu-connect__btn--wa:hover { color: #0c2e18; }

/* যোগাযোগের বোতামগুলোও একই পরিবারের — শুধু রঙ নিজের */
.pcedu-connect__btn {
	border-radius: 7px;
	box-shadow: 0 2px 0 0 rgba(0,0,0,.18);
	transition: transform .14s ease, box-shadow .14s ease, filter .16s ease;
}
.pcedu-connect__btn:hover { transform: translateY(-2px); box-shadow: 0 4px 0 0 rgba(0,0,0,.18); }
.pcedu-connect__btn:active { transform: translateY(0); box-shadow: 0 1px 0 0 rgba(0,0,0,.18); }

/* ── ১০. শিক্ষক, গ্যালারি, ভিডিও ──────────────────────────────────── */

.pcedu-people {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--pc-gap);
}

/* শিক্ষক কার্ড — উপরে ছবি ও নাম পাশাপাশি, নিচে তথ্যের সারি */
.pcedu-tcard {
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: #fff;
	overflow: hidden;
	box-shadow: var(--pc-shadow);
	display: flex;
	flex-direction: column;
}
.pcedu-tcard__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	background: var(--pc-primary-soft);
	border-block-end: 1px solid var(--pc-border);
}
.pcedu-tcard__photo {
	width: 62px; height: 72px;
	flex: none;
	object-fit: cover;
	object-position: center 20%;
	border: 1px solid var(--pc-border);
	padding: 2px;
	background: #fff;
	border-radius: 3px;
	display: block;
}
.pcedu-tcard__id { min-width: 0; }
.pcedu-tcard__name {
	margin: 0;
	font-size: var(--t-base);
	color: var(--pc-primary);
	line-height: var(--lh-snug);
}
.pcedu-tcard__role {
	margin: 2px 0 0;
	font-size: var(--t-xs);
	color: var(--pc-muted);
	line-height: var(--lh-snug);
}

.pcedu-tcard__rows { margin: 0; padding: 2px 12px 8px; }
.pcedu-tcard__row {
	display: grid;
	grid-template-columns: 17px auto minmax(0, 1fr);
	align-items: baseline;
	gap: 8px;
	padding-block: 4px;
	border-block-end: 1px dashed var(--pc-rule);
	font-size: var(--t-sm);
	line-height: var(--lh-snug);
}
.pcedu-tcard__row:last-child { border-block-end: 0; }
.pcedu-tcard__row .pcedu-icon {
	width: 15px; height: 15px;
	color: var(--pc-primary);
	align-self: center;
}
.pcedu-tcard__row dt { color: var(--pc-muted); }
.pcedu-tcard__row dt::after { content: ":"; }
.pcedu-tcard__row dd { margin: 0; font-weight: 500; }

.pcedu-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--pc-gap-sm);
}
.pcedu-gallery__item {
	margin: 0; position: relative;
	overflow: hidden;
	border-radius: var(--pc-radius);
	background: var(--pc-primary-soft);
}
.pcedu-gallery__open {
	display: block; width: 100%;
	padding: 0; border: 0; background: none; cursor: zoom-in;
}
.pcedu-gallery__item img {
	width: 100%; display: block;
	aspect-ratio: 3 / 2; object-fit: cover;
	transition: transform .35s ease;
}
.pcedu-gallery__item:hover img { transform: scale(1.04); }
.pcedu-gallery__item figcaption {
	position: absolute; inset-inline: 0; bottom: 0;
	background: linear-gradient(transparent, rgba(0,0,0,.76));
	color: #fff;
	font-size: var(--t-sm);
	line-height: var(--lh-snug);
	padding: 26px 11px 9px;
	pointer-events: none;
}

/* লাইটবক্স — ছবির উচ্চতা ক্যাপশনের জায়গা রেখে বাঁধা,
   নইলে লেখাটি ডায়ালগের বাইরে পাতার উপর গিয়ে পড়ে */
.pcedu-lightbox {
	border: 0;
	padding: 0;
	width: min(94vw, 1100px);
	max-width: min(94vw, 1100px);
	max-height: 92vh;
	background: transparent;
	overflow: visible;
}
.pcedu-lightbox::backdrop { background: rgba(0,0,0,.84); }

.pcedu-lightbox__figure {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.pcedu-lightbox img {
	display: block;
	max-width: 100%;
	max-height: 74vh;
	width: auto; height: auto;
	border-radius: var(--pc-radius);
	background: #fff;
}
.pcedu-lightbox figcaption {
	color: #fff;
	text-align: center;
	font-size: var(--t-base);
	line-height: var(--lh-snug);
}
.pcedu-lightbox figcaption[hidden] { display: none; }

.pcedu-lightbox__close {
	position: absolute;
	top: -16px; inset-inline-end: -16px;
	width: 38px; height: 38px;
	border: 0; border-radius: 50%;
	background: #fff; color: var(--pc-ink);
	font-size: 24px; line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0,0,0,.4);
	z-index: 2;
}

.pcedu-videos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--pc-gap-sm);
}
.pcedu-video {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #111;
	border-radius: var(--pc-radius);
	overflow: hidden;
}
.pcedu-video iframe,
.pcedu-video video,
.pcedu-video img {
	position: absolute; inset: 0;
	width: 100%; height: 100%; border: 0;
	object-fit: cover;
}

/* চারটি বা তার কম ভিডিও — ডেস্কটপে সবগুলো এক সারিতে */
.pcedu-videos--row { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/*
 | ক্লিপের নামটি ছবির ভিতরে পোড়ানো নেই, HTML-এ আছে। চার ভাগের এক
 | ভাগ প্রস্থে ভিডিও ছোট হয়ে যায় — ভিতরে লেখা থাকলে সেটিও ছোট হয়ে
 | পড়ত না। উপরে-বাঁয়ে রাখা হয়েছে যাতে প্লেয়ারের কন্ট্রোল বার
 | কখনো এর উপরে না পড়ে।
 */
.pcedu-video__tag {
	position: absolute;
	inset-inline-start: 8px;
	inset-block-start: 8px;
	z-index: 2;
	max-width: calc(100% - 16px);
	pointer-events: none;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(8, 40, 23, .78);
	color: #fff;
	font-size: var(--t-xs);
	line-height: 1.75;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ── ১০খ. ভর্তির কাগজপত্রের তালিকা ─────────────────────────────────── */

.pcedu-doclist__group + .pcedu-doclist__group {
	margin-block-start: 22px;
	padding-block-start: 18px;
	border-block-start: 1px solid var(--pc-border);
}
.pcedu-doclist__head {
	margin: 0 0 4px;
	font-size: var(--t-base);
	color: var(--pc-primary);
}
.pcedu-doclist__note {
	margin: 0 0 10px;
	font-size: var(--t-sm);
	color: var(--pc-muted);
}
.pcedu-doclist ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.pcedu-doclist li {
	position: relative;
	min-width: 0;
	padding: 10px 14px 10px 42px;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-primary-soft);
}

/* টিক চিহ্নটি CSS দিয়েই আঁকা — আলাদা ছবি বা ফন্ট লাগে না */
.pcedu-doclist li::before {
	content: "";
	position: absolute;
	inset-inline-start: 15px;
	inset-block-start: 17px;
	width: 13px;
	height: 7px;
	border-inline-start: 2.5px solid var(--pc-primary);
	border-block-end: 2.5px solid var(--pc-primary);
	transform: rotate(-45deg);
}
.pcedu-doclist li b {
	display: block;
	font-weight: 600;
	color: var(--pc-ink, inherit);
}
.pcedu-doclist li span {
	display: block;
	margin-block-start: 2px;
	font-size: var(--t-sm);
	color: var(--pc-muted);
	line-height: 1.75;
}

@media (max-width: 560px) {
	.pcedu-doclist li { padding: 9px 12px 9px 36px; }
	.pcedu-doclist li::before { inset-inline-start: 13px; inset-block-start: 16px; width: 11px; height: 6px; }
}

/* ── ১০গ. বিভাগের ছক — কলেজ ও মাদ্রাসা ─────────────────────────────── */

/*
 | দুই কলামে বিভাগের তালিকা। প্রতিটি ঘরে বাঁয়ে ক্রমিক সংখ্যা, ডানে
 | নাম ও এক লাইনের বিবরণ। আইকনের বদলে সংখ্যা — কোন বিভাগে কোন
 | আইকন বসবে তা আগে থেকে জানা যায় না, আর ভুল আইকন কিছু না থাকার
 | চেয়েও খারাপ দেখায়।
 */
.pcedu-depts {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.pcedu-dept {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	margin: 0;
	padding: 11px 13px;
	background: var(--pc-primary-soft);
	border: 1px solid var(--pc-border);
	border-inline-start: 4px solid var(--pc-accent);
	border-radius: var(--pc-radius);
}
.pcedu-dept__no {
	flex: none;
	width: 26px; height: 26px;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--pc-primary);
	color: #fff;
	font-family: var(--pc-font-head);
	font-size: var(--t-sm);
	font-weight: 600;
	line-height: 1;
}
.pcedu-dept__body { min-width: 0; }
.pcedu-dept__name {
	margin: 0;
	font-family: var(--pc-font-head);
	font-weight: 600;
	font-size: var(--t-base);
	line-height: var(--lh-snug);
	color: var(--pc-primary);
}
.pcedu-dept__note {
	margin: 3px 0 0;
	font-size: var(--t-sm);
	line-height: var(--lh-snug);
	color: var(--pc-muted);
}

/* ── ১০ঘ. নামাজের সময়সূচি — মাদ্রাসা ───────────────────────────────── */

.pcedu-prayer {
	background: var(--pc-primary-dark);
	color: #eaf1ec;
	padding-block: 18px;
}
.pcedu-prayer__head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 0 13px;
	font-family: var(--pc-font-head);
	font-size: var(--t-lg);
	font-weight: 600;
	color: #fff;
}
.pcedu-prayer__head .pcedu-icon { width: 19px; height: 19px; color: var(--pc-accent); }

.pcedu-prayer__grid {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 9px;
}
.pcedu-prayer__item {
	margin: 0;
	text-align: center;
	padding: 9px 6px;
	border-radius: var(--pc-radius);
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.16);
}
.pcedu-prayer__waqt {
	display: block;
	font-family: var(--pc-font-head);
	font-size: var(--t-sm);
	line-height: var(--lh-snug);
	color: var(--pc-accent);
}
.pcedu-prayer__time {
	display: block;
	margin-block-start: 2px;
	font-family: var(--pc-font-head);
	font-size: var(--t-md);
	font-weight: 600;
	line-height: var(--lh-snug);
	color: #fff;
}

/* ── ১০ঙ. প্রতিষ্ঠানের ধরন অনুযায়ী গড়ন ──────────────────────────────── */

/*
 | রঙ ও ফন্ট আলাদা হয় কাস্টমাইজার থেকে। এখানে কেবল গড়নের পার্থক্য,
 | যাতে তিনটি ধরন পাশাপাশি রাখলে এক নকশার তিন রঙ মনে না হয়।
 */

/* কলেজ — কার্ডের শিরোনাম বাঁ দিকে ঘেঁষা, কোণ কম গোল, ঝরঝরে গড়ন */
.pcedu-kind-college .pcedu-card__head {
	justify-content: flex-start;
	text-align: start;
	padding-inline-start: 18px;
}
.pcedu-kind-college .pcedu-card,
.pcedu-kind-college .pcedu-dept,
.pcedu-kind-college .pcedu-corner .pcedu-linklist li { border-radius: 4px; }
.pcedu-kind-college .pcedu-btn { border-radius: 4px; }
.pcedu-kind-college .pcedu-officials__grid a { border-radius: 4px; }

/* মাদ্রাসা — কোণ বেশি গোল, শিরোনামের নিচে দুই রেখা, বিভাগে সোনালি ছোঁয়া */
.pcedu-kind-madrasah .pcedu-card,
.pcedu-kind-madrasah .pcedu-dept,
.pcedu-kind-madrasah .pcedu-corner .pcedu-linklist li { border-radius: 10px; }
.pcedu-kind-madrasah .pcedu-btn { border-radius: 999px; padding-inline: 26px 24px; }
.pcedu-kind-madrasah .pcedu-btn::before { border-start-start-radius: 999px; border-end-start-radius: 999px; }
.pcedu-kind-madrasah .pcedu-card__head {
	box-shadow: inset 0 -2px 0 rgba(255,255,255,.28);
}
.pcedu-kind-madrasah .pcedu-dept {
	border-inline-start-width: 3px;
	border-inline-start-color: var(--pc-primary);
}
.pcedu-kind-madrasah .pcedu-dept__no { background: var(--pc-accent); color: #1b2113; }

/* ── ১১. অফিসিয়াল লিংক ────────────────────────────────────────────── */

.pcedu-officials {
	background: var(--pc-primary-soft);
	border-block: 1px solid var(--pc-border);
	padding-block: 26px;
}
.pcedu-officials__head {
	margin: 0 0 16px;
	font-size: var(--t-lg);
	color: var(--pc-primary);
	text-align: center;
}
.pcedu-officials__grid {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}
.pcedu-officials__grid li { margin: 0; }
.pcedu-officials__grid a {
	display: flex;
	align-items: center;
	gap: 9px;
	background: #fff;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 11px 13px;
	font-size: var(--t-base);
	line-height: var(--lh-snug);
	height: 100%;
	transition: border-color .16s ease, box-shadow .16s ease;
}
.pcedu-officials__grid a:hover {
	border-color: var(--pc-primary);
	box-shadow: 0 2px 8px rgba(20,83,45,.12);
}
.pcedu-officials__grid .pcedu-icon {
	width: 14px; height: 14px;
	color: var(--pc-accent);
}

/* ── ১২. পোস্ট ও ভেতরের পাতা ──────────────────────────────────────── */

.pcedu-crumb {
	background: #fff;
	border-block-end: 1px solid var(--pc-rule);
	font-size: var(--t-sm);
}
.pcedu-crumb .pcedu-wrap {
	display: flex; align-items: center; gap: 7px;
	flex-wrap: wrap; padding-block: 10px;
}
.pcedu-crumb__sep { display: inline-flex; color: var(--pc-muted); }
.pcedu-crumb__sep .pcedu-icon { width: 13px; height: 13px; }
.pcedu-crumb [aria-current] { color: var(--pc-muted); }

.pcedu-pagehead {
	background: var(--pc-primary-soft);
	border-block-end: var(--pc-accent-line) solid var(--pc-accent);
}
.pcedu-pagehead__title {
	margin: 0;
	padding-block: calc(var(--pc-head-pad, 7px) * 1.9);
	font-size: clamp(1.15rem, 2.6vw, var(--t-xl));
	color: var(--pc-primary);
}

.pcedu-postlist { display: grid; gap: var(--pc-gap); }

.pcedu-entry {
	display: flex; gap: var(--pc-gap);
	background: #fff;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: var(--pc-gap);
}
.pcedu-entry__thumb { flex: none; width: 30%; max-width: 220px; }
.pcedu-entry__thumb img {
	width: 100%; display: block;
	aspect-ratio: 3 / 2; object-fit: cover;
	border-radius: var(--pc-radius);
}
.pcedu-entry__body { min-width: 0; }
.pcedu-entry__title { margin: 0 0 5px; font-size: var(--t-lg); }
.pcedu-entry__excerpt { margin: 0 0 9px; font-size: var(--t-base); }
.pcedu-entry__more {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: var(--t-base); font-weight: 500;
}
.pcedu-entry__more .pcedu-icon { width: 13px; height: 13px; }

/* পোস্টের মেটা — হেডারের .pcedu-meta থেকে আলাদা নাম, নইলে
   এর display:flex হেডারের লাইনটিকে বাঁয়ে ঠেলে দেয়। */
.pcedu-postmeta {
	font-size: var(--t-sm);
	color: var(--pc-muted);
	display: flex; align-items: center; gap: 7px;
	flex-wrap: wrap; margin: 0 0 10px;
}
.pcedu-postmeta .pcedu-icon { width: 13px; height: 13px; }

.pcedu-single__thumb { margin: 0 0 var(--pc-gap); }
.pcedu-single__thumb img { width: 100%; border-radius: var(--pc-radius); }
.pcedu-single__thumb figcaption {
	font-size: var(--t-sm); color: var(--pc-muted);
	margin-block-start: 7px;
}

.pcedu-tags { margin-block-start: var(--pc-gap); font-size: var(--t-sm); }
.pcedu-tags a {
	display: inline-block;
	background: var(--pc-primary-soft);
	padding: 3px 11px; border-radius: 3px;
	margin: 0 5px 5px 0;
}

.pcedu-prose table,
.pcedu-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--t-base);
	line-height: var(--lh-ui);
	margin-block-end: 1em;
}
.pcedu-prose th, .pcedu-table th {
	background: var(--pc-primary);
	color: #fff;
	font-weight: 600;
	text-align: start;
}
.pcedu-prose th, .pcedu-prose td,
.pcedu-table th, .pcedu-table td {
	border: 1px solid var(--pc-border);
	padding: 9px 11px;
	vertical-align: top;
}
.pcedu-prose tbody tr:nth-child(even),
.pcedu-table tbody tr:nth-child(even) { background: #fafbfa; }

.pcedu-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.pagination .nav-links,
.pcedu-postnav .nav-links {
	display: flex; gap: 8px; flex-wrap: wrap; align-items: stretch;
}
.pagination .page-numbers,
.pcedu-postnav a {
	display: block;
	background: #fff;
	border: 1px solid var(--pc-border);
	padding: 9px 15px;
	border-radius: var(--pc-radius);
	font-size: var(--t-base);
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover,
.pcedu-postnav a:hover {
	background: var(--pc-primary); color: #fff; border-color: var(--pc-primary);
}
.pcedu-postnav .nav-links > * { flex: 1; min-width: 200px; }
.pcedu-navlabel { display: block; font-size: var(--t-xs); color: var(--pc-muted); }
.pcedu-postnav a:hover .pcedu-navlabel { color: rgba(255,255,255,.75); }
.pcedu-navtitle { display: block; font-weight: 500; }

.pcedu-404 { text-align: center; }
.pcedu-404__code {
	font-size: clamp(3rem, 10vw, 4.4rem);
	font-weight: 700;
	color: var(--pc-primary-soft);
	margin: 0; line-height: 1;
}
.pcedu-404__lead { font-size: var(--t-md); }
.pcedu-404 .pcedu-search { justify-content: center; margin-block: var(--pc-gap); }
.pcedu-404 .pcedu-search input[type="search"] {
	width: 240px; opacity: 1; padding: 10px 12px; border: 1px solid var(--pc-border);
}
.pcedu-404__subhead { margin-block-start: 28px; font-size: var(--t-lg); color: var(--pc-primary); }
.pcedu-404 .pcedu-notices { text-align: start; }

.pcedu-commentlist { list-style: none; margin: 0; padding: 0; }
.pcedu-commentlist ol { list-style: none; padding-inline-start: 24px; }
.pcedu-commentlist .comment-body { border-block-end: 1px solid var(--pc-rule); padding-block: 14px; }
.pcedu-comments input[type="text"],
.pcedu-comments input[type="email"],
.pcedu-comments input[type="url"],
.pcedu-comments textarea {
	width: 100%; max-width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	font: inherit; font-size: var(--t-base);
}

/* ── ১৩. ফুটার ─────────────────────────────────────────────────────── */

.pcedu-footer {
	background: var(--pc-footer, var(--pc-primary));
	color: var(--pc-footer-text, #e2eae3);
	margin-block-start: var(--pc-gap);
}
.pcedu-footer__grid {
	display: grid;
	/* লিংকের কলাম দুটি চওড়া, ঠিকানার কলামটি সরু — ঠিকানার লেখা ছোট বলে
	   আগে ডান পাশে অনেকখানি ফাঁকা পড়ে থাকত। */
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 28px 36px;
	padding-block: 32px;
}
.pcedu-footer__title {
	color: #fff;
	font-size: var(--t-md);
	margin: 0 0 16px;
	padding-block-end: 9px;
	border-block-end: 2px solid var(--pc-accent);
	display: inline-block;
}
.pcedu-footer__menu {
	list-style: none;
	margin: 0; padding: 0;
	columns: 2; column-gap: 30px;
	column-fill: balance;
}
.pcedu-footer__menu li { margin-block-end: 9px; break-inside: avoid; }
.pcedu-footer a {
	color: #e2eae3;
	font-size: var(--t-base);
	line-height: var(--lh-snug);
}
.pcedu-footer a:hover { color: var(--pc-accent); }

.pcedu-footer__col--contact .pcedu-footer__menu { columns: 1; }
.pcedu-footer__address p { margin: 0 0 8px; }

.pcedu-footer__map iframe,
.pcedu-footer__map img {
	width: 100%;
	min-height: 180px;
	border: 3px solid rgba(255,255,255,.14);
	border-radius: var(--pc-radius);
	display: block;
}
.pcedu-footer__address {
	font-style: normal;
	font-size: var(--t-base);
	margin-block-start: 14px;
}
.pcedu-footer__address p {
	display: flex; align-items: flex-start; gap: 9px;
	margin: 0 0 7px;
	line-height: var(--lh-snug);
}
.pcedu-footer__address .pcedu-icon {
	width: 15px; height: 15px;
	margin-block-start: .4em;
	color: var(--pc-accent);
}

.pcedu-footer__bar { background: rgba(0,0,0,.3); font-size: var(--t-sm); }
.pcedu-footer__bar .pcedu-wrap {
	display: flex; justify-content: space-between; gap: 12px;
	flex-wrap: wrap; padding-block: 12px;
}
.pcedu-footer__bar p { margin: 0; line-height: var(--lh-snug); }

/*
 | কারিগরি সহযোগিতার লাইনটি গাঢ় পটিতে সোনালি রঙে প্রায় মিশে যেত।
 | হালকা রঙে ও এক ধাপ বড় মাপে লেখা হয়, যাতে ফুটারের নিচে গিয়েও
 | লাইনটি সহজে পড়া যায়।
 */
.pcedu-footer__credit { font-size: var(--t-base); }
.pcedu-footer__credit a {
	color: #f6e9c2;
	font-weight: 500;
}
.pcedu-footer__credit a:hover,
.pcedu-footer__credit a:focus-visible { color: #fff; text-decoration: underline; }

.pcedu-footer__widget + .pcedu-footer__widget { margin-block-start: 22px; }

.pcedu-totop {
	position: fixed;
	inset-inline-end: 16px; bottom: 16px;
	width: 44px; height: 44px;
	border: 0; border-radius: 50%;
	background: var(--pc-primary);
	color: #fff;
	display: grid; place-items: center;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0,0,0,.26);
	z-index: 80;
}
.pcedu-totop:hover { background: var(--pc-accent); color: #1b2113; }
.pcedu-totop[hidden] { display: none; }
.pcedu-totop .pcedu-icon { width: 20px; height: 20px; }

/* ── ১৪. রেসপন্সিভ ─────────────────────────────────────────────────── */

@media (max-width: 1200px) {
	.pcedu-layout { grid-template-columns: minmax(0, 1fr) 312px; }
	.pcedu-menu a { padding: 11px 11px; }
}

@media (max-width: 1024px) {
	.pcedu-layout { grid-template-columns: minmax(0, 1fr) 290px; }
	.pcedu-menu a { font-size: var(--t-sm); padding: 10px 9px; }
	.pcedu-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pcedu-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }

	/*
	 | হোম পেজে ছবি ঠিক চারটি। তিন কলামে সেটি ৩+১ হয়ে শেষেরটি একা
	 | পড়ে যেত, তাই ঠিক চারটি হলে দুই সারিতে দুইটি করে। বেশি ছবি
	 | থাকলে (গ্যালারির পাতা) নিয়মটি লাগে না।
	 */
	.pcedu-gallery:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.pcedu-officials__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pcedu-footer__grid { grid-template-columns: 1fr 1fr; }
	.pcedu-footer__col--contact { grid-column: 1 / -1; }
}

/* এখান থেকে হ্যামবার্গার মেনু */
@media (max-width: 980px) {
	.pcedu-nav .pcedu-wrap {
		padding-inline: var(--pc-gap);
		flex-wrap: wrap;
	}
	.pcedu-nav__toggle { display: flex; flex: none; width: auto; order: -2; }
	/* ফোনে হোম আইকনটি বাড়তি — প্রতিষ্ঠানের নামে চাপলেই হোমে যায়,
	   আর মেনুর ভেতরেও হোম আছে। তাই এখানে দেখানো হয় না। */
	.pcedu-nav__home { display: none; }

	/* বোতামের পাশে নাম, খোলা মেনু নিজের সারিতে নামে */
	.pcedu-nav__brand { flex: 1; }
	.pcedu-nav.is-stuck .pcedu-nav__brand { font-size: var(--t-sm); }
	.pcedu-nav__brand img { width: 28px; height: 28px; }

	/* .pcedu-nav দিয়ে — নইলে উপরের .pcedu-nav .pcedu-menu নিয়মটি জেতে */
	.pcedu-nav .pcedu-menu {
		display: none;
		flex: 1 0 100%;
		flex-direction: column;
		padding-block-end: 8px;
		max-height: 70vh;
		overflow-y: auto;
	}
	.pcedu-nav.is-open .pcedu-menu { display: flex; }
	.pcedu-nav.is-open .pcedu-wrap { align-items: flex-start; }

	.pcedu-menu a {
		white-space: normal;
		text-align: start;
		font-size: var(--t-base);
		border-block-end: 1px solid rgba(255,255,255,.1);
		padding-inline-end: 48px;
	}
	.pcedu-submenu {
		position: static;
		display: none;
		box-shadow: none;
		min-width: 0;
		border-block-start: 0;
		background: rgba(0,0,0,.18);
	}
	.pcedu-menu > li:hover > .pcedu-submenu,
	.pcedu-menu > li:focus-within > .pcedu-submenu { display: none; }
	.pcedu-menu > li.is-open > .pcedu-submenu { display: block; }
	.pcedu-submenu a { padding-inline-start: 32px; }

	.pcedu-submenu-toggle {
		inset-inline-end: 0; top: 0;
		transform: none;
		width: 48px; height: 46px;
		display: grid; place-items: center;
	}

	.pcedu-layout { grid-template-columns: minmax(0, 1fr); }
	.pcedu-row--2 { grid-template-columns: minmax(0, 1fr); }
	.pcedu-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/* ট্যাবলেটে হিরো পুরো প্রস্থ নেয়, নিচ থেকে উঠে আসে */
	.pcedu-hero {
		inset-inline: 0;
		width: auto;
		justify-content: flex-end;
		background: linear-gradient(transparent, rgba(8, 40, 23, .92) 55%);
		padding: 40px 18px 16px;
	}
	.pcedu-slider:has(.pcedu-hero) .pcedu-slide__caption { display: none; }

	/* হিরো নিচে বসায় তীর ও ডট উপরে সরে যায়, নইলে বোতামের উপর পড়ে */
	.pcedu-slider:has(.pcedu-hero) .pcedu-slider__arrow {
		top: 10px;
		transform: none;
		height: 40px;
		width: 38px;
		border-radius: var(--pc-radius);
	}
	.pcedu-slider:has(.pcedu-hero) .pcedu-slider__arrow--prev { inset-inline-end: 56px; border-inline-end: 0; }
	.pcedu-slider:has(.pcedu-hero) .pcedu-slider__arrow--next { inset-inline-end: 10px; }
	.pcedu-slider:has(.pcedu-hero) .pcedu-slider__dots {
		inset-block: 18px auto;
		inset-inline: 14px auto;
		justify-content: flex-start;
	}
}

@media (max-width: 782px) {
	:root { --pc-gap: 12px; }

	/*
	 | ফোনে উপরের পটিটি বাদ। ছোট পর্দায় সবচেয়ে দামি জায়গাটা একেবারে
	 | উপরে — সেখানে স্লোগান ও আইকনের সারি বসিয়ে প্রতিষ্ঠানের নাম ও
	 | লোগোকে নিচে ঠেলে দেওয়ার মানে হয় না। ফোন, ইমেইল ও সামাজিক
	 | মাধ্যমের লিংক ফুটারে ও যোগাযোগের পাতায় আছেই।
	 |
	 | ডেস্কটপে পটিটি আগের মতোই থাকে।
	 */
	.pcedu-topbar { display: none; }

	/*
	 | টপবার চলে যাওয়ায় ঠিকানাটি হেডারেই থেকে যায়, কিন্তু স্থাপিত সাল
	 | ও EIIN-এর সঙ্গে এক লাইনে ধরে না — তাই নিজের লাইনে নামিয়ে দেওয়া
	 | হয়, আর মাঝের কমাটিও সঙ্গে সঙ্গে লুকিয়ে যায়।
	 */
	.pcedu-meta__place { display: block; margin-block-start: 2px; }
	.pcedu-meta__sep { display: none; }

	.pcedu-corners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pcedu-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pcedu-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/*
	 | ফোনে ভিডিও গ্যালারিও ছবির গ্যালারির মতো দুটি করে — তিন বা চার
	 | কলামে প্রতিটি ভিডিও এত ছোট হয়ে যায় যে কী দেখানো হচ্ছে বোঝাই যায় না।
	 */
	.pcedu-videos,
	.pcedu-videos--row { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/*
	 | অফিসিয়াল লিংকের সারি ফোনে বাদ। সরু পর্দায় এক কলামে বারো-চোদ্দটি
	 | বাইরের লিংক পাতাটিকে অসম্ভব লম্বা করে দেয়, অথচ ফোন থেকে এগুলোতে
	 | কেউ প্রায় যায় না। ফুটারে ও ডেস্কটপে সারিটি আগের মতোই থাকে।
	 */
	.pcedu-officials { display: none; }
	.pcedu-officials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/* নামাজের ছয়টি ঘর ফোনে তিনটি করে দুই সারিতে */
	.pcedu-prayer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pcedu-depts { grid-template-columns: minmax(0, 1fr); }
	.pcedu-stats { padding-block: 22px; }
	.pcedu-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.pcedu-stat { padding: 14px 10px 12px; }
	.pcedu-stat__icon { width: 38px; height: 38px; margin-bottom: 6px; }
	.pcedu-stat__icon .pcedu-icon { width: 20px; height: 20px; }
	/* বিজোড় সংখ্যায় শেষ ঘরটি একা পড়ে থাকে — সেটিকে দুই কলাম জুড়ে দিই */
	.pcedu-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }

	.pcedu-entry { flex-direction: column; }
	.pcedu-entry__thumb { width: 100%; max-width: none; }
}

@media (max-width: 600px) {
	:root {
		--t-body: 0.97rem;
		--t-base: 0.92rem;
	}

	.pcedu-identity .pcedu-wrap {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 11px;
		padding-block: 11px;
	}
	.pcedu-identity__logo img,
	.pcedu-identity__logo .custom-logo { max-height: 54px; }
	.pcedu-identity__title { text-align: start; }
	.pcedu-meta { font-size: var(--t-xs); }

	.pcedu-identity__search { grid-column: 1 / -1; }
	.pcedu-search { width: 100%; }
	.pcedu-search input[type="search"] {
		width: 100%; opacity: 1;
		padding: 9px 11px;
		border: 1px solid var(--pc-border);
		flex: 1;
	}

	.pcedu-card__head { padding: 10px 13px; }
	.pcedu-card__body { padding: 13px; }

	.pcedu-corners { grid-template-columns: minmax(0, 1fr); }
	.pcedu-people { grid-template-columns: minmax(0, 1fr); }
	.pcedu-corner__inner { grid-template-columns: 92px minmax(0, 1fr); gap: 11px; }
	.pcedu-hero__actions .pcedu-btn { flex: 1; text-align: center; padding-inline: 12px; }
	.pcedu-officials__grid { grid-template-columns: minmax(0, 1fr); }

	.pcedu-facts__row { grid-template-columns: minmax(0, 46%) minmax(0, 54%); }
	.pcedu-facts dt, .pcedu-facts dd { padding: 6px 10px; font-size: var(--t-sm); }

	/* ফোনে ছবিটি সেটিংয়ের চেয়ে ছোট — নইলে লেখার জন্য জায়গাই থাকে না */
	.pcedu-message__photo {
		width: min(var(--pc-msg-photo-w, 150px), 118px);
		height: min(var(--pc-msg-photo-h, 172px), 136px);
		margin-inline-end: 12px;
	}
	.pcedu-message--full .pcedu-message__photo {
		width: min(var(--pc-msgpage-photo-w, 240px), 150px);
		height: min(var(--pc-msgpage-photo-h, 275px), 172px);
	}

	/* ফোনে তথ্যবক্স ছবির পাশে ঠাসা হয়ে যায় — তাই এক কলামে উপর-নিচে */
	.pcedu-about { grid-template-columns: minmax(0, 1fr); gap: var(--pc-gap-sm); }
	/* ফোনে ছবিটি পুরো প্রস্থে, উচ্চতা সেটিংয়েরটিই */
	.pcedu-about__photo { align-self: stretch; }

	/* ফোনে ৫৯:২২ অনুপাত ১৪৫px ফালি হয়ে যায় — হিরোর লেখা ও বোতামের
	   জায়গা থাকে না। তাই ছবিটি এখানে অনেক লম্বা। */
	.pcedu-slide__img { aspect-ratio: 16 / 11; }
	.pcedu-slide__caption { font-size: var(--t-base); padding: 34px 13px 11px; }
	.pcedu-slider__arrow { width: 34px; height: 48px; font-size: 22px; }

	.pcedu-marquee__badge { padding: 8px 11px; }
	.pcedu-marquee__badge span { display: none; }

	/*
	 | ফোনে ফুটারের লিংক কলাম দুটি বাদ।
	 |
	 | ওই লিংকগুলোর প্রায় সবই উপরের মেনুতে আছে — ইতিহাস, শিক্ষকমণ্ডলী,
	 | নোটিশ, গ্যালারি, ভর্তি, ফলাফল, যোগাযোগ। ফোনে পাতার একেবারে
	 | শেষে সেগুলো আবার লম্বা করে সাজালে কেবল স্ক্রলই বাড়ে, নতুন কিছু
	 | পাওয়া যায় না। ঠিকানা ও যোগাযোগ থাকে, কারণ সেটি শুধু এখানেই আছে।
	 |
	 | ডেস্কটপে তিন কলামই আগের মতো।
	 */
	.pcedu-footer__col--links { display: none; }

	.pcedu-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px 16px;
		padding-block: 24px;
	}
	.pcedu-footer__col--contact { grid-column: 1 / -1; }
	.pcedu-footer__menu { columns: 2; column-gap: 14px; }
	.pcedu-footer__title { font-size: var(--t-base); margin-block-end: 12px; }
	.pcedu-footer a { font-size: var(--t-sm); }
	.pcedu-footer__bar .pcedu-wrap { justify-content: center; text-align: center; }

	/* ফোনে বাক্সের ছায়া ও ধার অপ্রয়োজনীয় — পর্দার পুরোটাই কাজে লাগুক */
	.pcedu-boxed .pcedu-main,
	.pcedu-layout-content .pcedu-main { box-shadow: none; }
	.pcedu-layout-site .pcedu-page { box-shadow: none; max-width: none; }

	/* ছোট পর্দায় বোতামটি ছবির কোণের ভেতরেই থাকে, নইলে পর্দার বাইরে চলে যায় */
	.pcedu-lightbox__close { top: 6px; inset-inline-end: 6px; width: 34px; height: 34px; }

	.pcedu-totop { width: 40px; height: 40px; inset-inline-end: 12px; bottom: 12px; }
}

@media (max-width: 520px) {
	/* সরু পর্দায় তালিকার ভেতরের দুই কলাম ভেঙে যায় — এক কলাম, কিন্তু
	   দুটি ব্লক পাশাপাশিই থাকে। */
	.pcedu-footer__menu { columns: 1; }
}

@media (max-width: 360px) {
	/* সবচেয়ে সরু ফোনে পাশাপাশি রাখা আর সম্ভব নয় */
	.pcedu-footer__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 400px) {
	.pcedu-gallery { gap: 8px; }
	.pcedu-prayer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pcedu-corner__inner { grid-template-columns: minmax(0, 1fr); }
	.pcedu-corner__media { max-width: 130px; margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.pcedu-marquee__track > span { animation: none; padding-inline-start: 0; }
	.pcedu-gallery__item:hover img { transform: none; }
	.pcedu-slide { transition: none; }
	*, *::before, *::after { transition-duration: .01ms !important; }
}

/* ── ১৫. প্রিন্ট ───────────────────────────────────────────────────── */

@media print {
	.pcedu-topbar, .pcedu-nav, .pcedu-marquee-wrap, .pcedu-slider-wrap,
	.pcedu-footer, .pcedu-search, .pcedu-sidebar, .pagination,
	.pcedu-postnav, .skip-link, .pcedu-crumb, .pcedu-totop,
	.pcedu-officials, .pcedu-videos, .pcedu-connect,
	.pcedu-lightbox { display: none !important; }

	body { background: #fff; font-size: 12pt; line-height: 1.6; }
	.pcedu-boxed .pcedu-main,
	.pcedu-layout-content .pcedu-main { box-shadow: none; max-width: 100%; }
	.pcedu-layout-site .pcedu-page { box-shadow: none; max-width: 100%; }
	.pcedu-layout { grid-template-columns: 1fr; }
	.pcedu-card { border: 0; box-shadow: none; break-inside: avoid; }
	.pcedu-card__head {
		background: none; color: #000;
		border-block-end: 2px solid #000;
		justify-content: flex-start;
	}
	.pcedu-stats { background: none; color: #000; }
	.pcedu-stats::before, .pcedu-stats::after { display: none; }
	.pcedu-stat { background: none; border-color: #999; box-shadow: none; }
	.pcedu-stat__icon { background: none; border-color: #999; }
	.pcedu-stat__number { color: #000; }
	a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
}

/* ── ১৬. যোগাযোগ পাতা ──────────────────────────────────────────────── */

.pcedu-contact {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--pc-gap);
	align-items: start;
	margin-block-end: var(--pc-gap);
}
.pcedu-contact__chats,
.pcedu-contact__tiles { display: grid; gap: var(--pc-gap-sm); }

/* চ্যাটের কার্ড */
.pcedu-chatcard {
	background: var(--pc-card);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 18px 16px;
	text-align: center;
}
.pcedu-chatcard__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border-radius: 10px;
	color: #fff;
	background: var(--pc-primary);
}
.pcedu-chatcard--wa .pcedu-chatcard__icon { background: var(--pc-green); color: #0c2e18; }
.pcedu-chatcard--fb .pcedu-chatcard__icon { background: var(--pc-blue); }
.pcedu-chatcard__icon .pcedu-icon { width: 22px; height: 22px; }

.pcedu-chatcard__name {
	margin: 10px 0 12px;
	font-size: var(--t-md);
	line-height: var(--lh-tight);
}
.pcedu-chatcard__btn {
	display: block;
	padding: 9px 14px;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-primary-soft);
	color: var(--pc-primary);
	font-size: var(--t-base);
	font-weight: 500;
	transition: background .16s ease, color .16s ease;
}
.pcedu-chatcard__btn:hover { background: var(--pc-primary); color: #fff; }

/* তথ্যের টাইল */
.pcedu-infotile {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--pc-card);
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	padding: 12px 14px;
}
.pcedu-infotile__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	flex: none;
	border-radius: 8px;
	background: var(--pc-primary);
	color: #fff;
}
.pcedu-infotile__icon .pcedu-icon { width: 19px; height: 19px; }
.pcedu-infotile__body { min-width: 0; }
.pcedu-infotile__label {
	display: block;
	font-size: var(--t-xs);
	color: var(--pc-muted);
	line-height: var(--lh-tight);
}
.pcedu-infotile__value {
	display: block;
	font-weight: 600;
	font-size: var(--t-base);
	line-height: var(--lh-snug);
	color: var(--pc-ink);
	overflow-wrap: anywhere;
}
a.pcedu-infotile__value:hover { color: var(--pc-primary); }

/* নিচের সারি — অফিস সময় ও মানচিত্র */
.pcedu-contact__lower {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--pc-gap);
	align-items: start;
	margin-block-end: var(--pc-gap);
}
.pcedu-contact__map iframe,
.pcedu-contact__map > * {
	width: 100%;
	min-height: 260px;
	border: 0;
	display: block;
	border-radius: var(--pc-radius);
}

/* অফিস সময়ের ছক — দুই কলামে দিনগুলো */
.pcedu-hours {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
}
.pcedu-hours__row {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding: 7px 11px;
	border: 1px dashed var(--pc-rule);
	border-radius: var(--pc-radius);
	font-size: var(--t-base);
	line-height: var(--lh-tight);
}
.pcedu-hours__row dt { font-weight: 600; }
/* সময়টি এক লাইনেই থাকুক — "বৃহস্পতিবার" লম্বা বলে নইলে ভেঙে যায় */
.pcedu-hours__row dd {
	margin: 0;
	color: var(--pc-muted);
	font-size: var(--t-sm);
	white-space: nowrap;
}

/* বন্ধের দিন আলাদা করে চোখে পড়ে, আর পুরো সারি জুড়ে বসে */
.pcedu-hours__row--off {
	grid-column: 1 / -1;
	background: var(--pc-primary);
	border-style: solid;
	border-color: var(--pc-primary);
	color: #fff;
}
.pcedu-hours__row--off dd { color: #fff; }

@media (max-width: 782px) {
	.pcedu-contact,
	.pcedu-contact__lower { grid-template-columns: minmax(0, 1fr); }
	.pcedu-hours { grid-template-columns: minmax(0, 1fr); }
}

/* পরিচিতি পাতার ছবি — লেখার উপরে পুরো প্রস্থে */
.pcedu-about__banner {
	display: block;
	width: 100%;
	height: auto;
	max-height: 340px;
	object-fit: cover;
	object-position: center;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	margin-block-end: var(--pc-gap-sm);
	background: var(--pc-primary-soft);
}

/* ───────── নোটিশের সংযুক্ত ফাইলের বোতাম (১.২০.০) ───────── */

.pcedu-filebtns {
	display: inline-flex;
	gap: 6px;
	flex-wrap: wrap;
	align-items: center;
}

.pcedu-filebtn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 11px;
	border-radius: 4px;
	border: 1px solid var(--pc-primary);
	color: var(--pc-primary);
	background: #fff;
	font-size: var(--t-sm, 14px);
	line-height: 1.6;
	text-decoration: none;
	white-space: nowrap;
}

.pcedu-filebtn:hover,
.pcedu-filebtn:focus {
	background: var(--pc-primary);
	color: #fff;
}

.pcedu-filebtn--down {
	border-color: var(--pc-accent);
	color: #8a4b00;
}

.pcedu-filebtn--down:hover,
.pcedu-filebtn--down:focus {
	background: var(--pc-accent);
	color: #1b1b1b;
}

/* পাশের নোটিশ বোর্ডে জায়গা কম — ছোট মাপ, নিজের লাইনে */
.pcedu-filebtns--sm {
	margin-top: 5px;
	gap: 5px;
}

.pcedu-filebtns--sm .pcedu-filebtn {
	padding: 2px 8px;
	font-size: var(--t-xs, 12.5px);
}

.pcedu-nofile { color: var(--pc-muted, #8a8a8a); }

.pcedu-notice__filecell { white-space: nowrap; }

@media (max-width: 560px) {
	.pcedu-notice__filecell { white-space: normal; }
	.pcedu-filebtn { padding: 3px 9px; }
}
