/* =====================================================================
 * MADRASATUT TAQWA — SHARED SITE STYLESHEET
 * header.php / sidebar.php / footer.php সহ সকল পেজে ব্যবহৃত হয়
 * ===================================================================== */

  :root{
    --green:#0d6e3f;
    --green-deep:#0a4f2e;
    --gold:#c9970c;
    --gold-muted:#e8c877;
    --ivory:#faf7f0;
    --white:#ffffff;
    --ink:#22261f;
    --slate:#5b5f56;
    --hairline:#e4ddca;

    --font-display-bn:'Noto Serif Bengali', serif;
    --font-body-bn:'Hind Siliguri', sans-serif;
    --font-body-en:'Inter', sans-serif;
    --font-ar:'Amiri', serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--ivory); color:var(--ink); font-family:var(--font-body-bn); line-height:1.7; -webkit-font-smoothing:antialiased;}
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  .wrap{max-width:1240px; margin:0 auto; padding:0 24px;}
  @media(min-width:1024px){ .wrap{padding:0 64px;} }
  h1,h2,h3{font-family:var(--font-display-bn); font-weight:700; line-height:1.2; color:var(--ink);}
  .eyebrow{font-family:var(--font-body-en); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--gold);}
  .rule{width:70px; height:2px; background:var(--gold); margin:14px auto 0;}

  .utility-bar{background:var(--green-deep); color:var(--ivory); font-family:var(--font-body-bn); font-size:13px;}
  .utility-bar .wrap{display:flex; justify-content:space-between; align-items:center; padding-top:8px; padding-bottom:8px; gap:16px; flex-wrap:wrap;}
  .utility-bar a{opacity:.92;}
  .utility-bar a:hover{opacity:1; text-decoration:underline;}
  .utility-contacts{display:flex; gap:20px; flex-wrap:wrap;}

  header.site-header{background:var(--white); border-bottom:1px solid var(--hairline); position:sticky; top:0; z-index:50;}
  .nav-row{display:flex; align-items:center; justify-content:space-between; padding:16px 0;}
  .logo-lockup{display:flex; align-items:center; gap:12px;}
  .logo-mark{width:46px; height:46px; border-radius:50%; background:var(--green); display:flex; align-items:center; justify-content:center; color:var(--gold-muted); font-family:var(--font-ar); font-size:22px; flex-shrink:0;}
  .logo-text .name-bn{font-family:var(--font-display-bn); font-weight:700; font-size:19px; color:var(--green-deep); line-height:1.25;}
  .logo-text .name-sub{font-family:var(--font-body-en); font-size:11px; letter-spacing:.06em; color:var(--slate); text-transform:uppercase;}

  nav.main-nav{display:none;}
  @media(min-width:960px){
    nav.main-nav{display:flex; align-items:center; gap:2px; font-family:var(--font-body-bn); font-size:15px; font-weight:500;}
    nav.main-nav > .nav-item{position:relative;}
    nav.main-nav > .nav-item > a, nav.main-nav > .nav-item > span{display:flex; align-items:center; gap:4px; padding:10px 14px; color:var(--ink); cursor:pointer; border-radius:6px;}
    nav.main-nav > .nav-item:hover > a, nav.main-nav > .nav-item:hover > span{color:var(--green);}
    nav.main-nav .caret{font-size:10px; color:var(--gold); margin-top:1px;}
    .dropdown{position:absolute; top:100%; left:0; min-width:230px; background:var(--white); border:1px solid var(--hairline); border-top:2px solid var(--gold); border-radius:0 0 8px 8px; box-shadow:0 12px 28px rgba(10,60,35,.10); opacity:0; visibility:hidden; transform:translateY(6px); transition:.18s ease; padding:8px;}
    nav.main-nav > .nav-item:hover .dropdown{opacity:1; visibility:visible; transform:translateY(0);}
    .dropdown a{display:block; padding:10px 14px; font-size:14px; border-radius:6px; color:var(--ink);}
    .dropdown a:hover{background:var(--ivory); color:var(--green);}
  }
  .nav-cta{display:none;}
  @media(min-width:960px){ .nav-cta{display:inline-flex; align-items:center; background:var(--green); color:var(--white); font-family:var(--font-body-bn); font-weight:600; font-size:14px; padding:10px 20px; border-radius:6px; margin-left:8px; transition:.15s ease;} .nav-cta:hover{background:var(--green-deep);} }
  .mobile-toggle{display:flex; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px;}
  .mobile-toggle span{width:24px; height:2px; background:var(--green-deep);}
  @media(min-width:960px){ .mobile-toggle{display:none;} }
  .mobile-menu{display:none; border-top:1px solid var(--hairline); padding:12px 0 20px;}
  .mobile-menu.open{display:block;}
  .mobile-menu a{display:block; padding:11px 4px; font-size:15px; border-bottom:1px solid var(--hairline);}
  .mobile-menu .group-label{font-family:var(--font-body-en); font-size:11px; letter-spacing:.08em; color:var(--gold); text-transform:uppercase; padding:14px 4px 4px;}
  @media(min-width:960px){ .mobile-menu{display:none !important;} }

  .hero{position:relative; overflow:hidden; padding:72px 0 88px;}
  .hero-pattern{position:absolute; inset:0; opacity:.07; pointer-events:none; background-image:radial-gradient(circle at 15% 20%, var(--green) 0, transparent 45%), radial-gradient(circle at 85% 75%, var(--gold) 0, transparent 40%);}
  .hero-grid{position:relative; display:grid; gap:48px; align-items:center;}
  @media(min-width:920px){ .hero-grid{grid-template-columns:1.1fr .9fr;} }
  .hero-kicker-ar{font-family:var(--font-ar); font-size:26px; color:var(--gold); margin-bottom:14px;}
  .hero h1{font-size:38px; letter-spacing:-.01em; max-width:16ch;}
  @media(min-width:640px){ .hero h1{font-size:48px;} }
  .hero .lede{margin-top:20px; font-size:17px; color:var(--slate); max-width:46ch; line-height:1.75;}
  .hero-cta-row{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
  .btn{font-family:var(--font-body-bn); font-weight:600; font-size:15px; padding:13px 26px; border-radius:6px; display:inline-flex; align-items:center; gap:8px; transition:.15s ease; cursor:pointer; border:1.5px solid transparent;}
  .btn-primary{background:var(--green); color:var(--white);}
  .btn-primary:hover{background:var(--green-deep);}
  .btn-ghost{border-color:var(--gold); color:var(--green-deep); background:transparent;}
  .btn-ghost:hover{background:var(--gold); border-color:var(--gold); color:var(--white);}
  .hero-panel{background:var(--white); border:1px solid var(--hairline); border-radius:8px; padding:28px; position:relative;}
  .hero-panel::before{content:""; position:absolute; top:0; left:24px; right:24px; height:3px; background:var(--gold);}
  .hero-panel .panel-title{font-family:var(--font-display-bn); font-weight:600; font-size:18px; margin-bottom:16px;}
  .notice-item{display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--hairline);}
  .notice-item:last-child{border-bottom:none;}
  .notice-date{font-family:var(--font-body-en); font-size:11px; color:var(--gold); font-weight:700; letter-spacing:.04em; white-space:nowrap; padding-top:2px;}
  .notice-text{font-size:14px; color:var(--ink);}
  .notice-text a:hover{color:var(--green); text-decoration:underline;}
  .notice-empty{font-size:14px; color:var(--slate); padding:8px 0;}

  .stats-strip{padding:0 0 64px;}
  .stats-row{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
  @media(min-width:760px){ .stats-row{grid-template-columns:repeat(4,1fr);} }
  .stat-card{background:var(--white); border:1px solid var(--hairline); border-radius:8px; padding:26px 20px; text-align:center;}
  .stat-num{font-family:var(--font-display-bn); font-weight:700; font-size:30px; color:var(--green);}
  .stat-label{font-size:14px; color:var(--slate); margin-top:6px;}

  section.block{padding:72px 0;}
  section.block.alt{background:var(--white); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline);}
  .section-head{text-align:center; max-width:640px; margin:0 auto 44px;}
  .section-head h2{font-size:30px;}
  @media(min-width:640px){ .section-head h2{font-size:34px;} }
  .section-head p{color:var(--slate); margin-top:14px; font-size:16px;}

  .programs-grid{display:grid; gap:22px; grid-template-columns:1fr;}
  @media(min-width:640px){ .programs-grid{grid-template-columns:repeat(2,1fr);} }
  @media(min-width:1000px){ .programs-grid{grid-template-columns:repeat(3,1fr);} }
  .program-card{background:var(--ivory); border:1px solid var(--hairline); border-radius:8px; padding:28px; transition:.18s ease;}
  .program-card:hover{border-color:var(--gold); transform:translateY(-2px);}
  .program-icon{width:44px; height:44px; border-radius:8px; background:var(--white); border:1px solid var(--hairline); display:flex; align-items:center; justify-content:center; font-family:var(--font-display-bn); font-weight:700; font-size:18px; color:var(--green); margin-bottom:16px;}
  .program-card h3{font-size:19px; margin-bottom:8px;}
  .program-card p{font-size:14.5px; color:var(--slate);}
  .program-fee{margin-top:14px; font-size:13px; color:var(--gold); font-weight:600;}

  .admission-strip{background:var(--green-deep); color:var(--ivory); border-radius:10px; padding:40px 32px; display:grid; gap:24px; align-items:center; position:relative; overflow:hidden;}
  @media(min-width:800px){ .admission-strip{grid-template-columns:1.4fr .6fr; padding:48px;} }
  .admission-strip::after{content:""; position:absolute; right:-40px; bottom:-40px; width:220px; height:220px; border:1.5px solid var(--gold-muted); opacity:.25; border-radius:50%;}
  .admission-strip h2{color:var(--white); font-size:26px; position:relative;}
  @media(min-width:640px){ .admission-strip h2{font-size:30px;} }
  .admission-strip p{color:#dfeee3; margin-top:12px; font-size:15px; max-width:52ch; position:relative;}
  .admission-strip .btn-primary{background:var(--gold); color:var(--green-deep); position:relative;}
  .admission-strip .btn-primary:hover{background:var(--gold-muted);}
  .admission-actions{display:flex; flex-direction:column; gap:12px; position:relative;}

  footer{background:var(--green-deep); color:#dfeee3; padding:64px 0 28px; position:relative; overflow:hidden;}
  .footer-corner{position:absolute; right:0; bottom:0; width:140px; height:140px; opacity:.14; background:repeating-linear-gradient(45deg, var(--gold-muted) 0 2px, transparent 2px 18px); -webkit-mask:radial-gradient(circle at 100% 100%, black 0 70%, transparent 71%); mask:radial-gradient(circle at 100% 100%, black 0 70%, transparent 71%);}
  .footer-grid{display:grid; gap:40px; grid-template-columns:1.4fr 1fr 1fr 1fr; position:relative;}
  @media(max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:560px){ .footer-grid{grid-template-columns:1fr;} }
  footer h4{font-family:var(--font-body-en); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-muted); margin-bottom:16px;}
  .footer-about .name-bn{font-family:var(--font-display-bn); font-weight:700; color:var(--white); font-size:19px;}
  .footer-about p{margin-top:12px; font-size:14px; color:#c9dccd; max-width:34ch;}
  .footer-social{display:flex; gap:10px; margin-top:16px;}
  .footer-social a{width:34px; height:34px; border:1px solid #2f6b4a; border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--ivory);}
  .footer-social a:hover{border-color:var(--gold-muted); color:var(--gold-muted);}
  footer ul li{margin-bottom:10px; font-size:14.5px;}
  footer ul li a:hover{color:var(--gold-muted); text-decoration:underline;}
  .footer-bottom{margin-top:48px; padding-top:22px; border-top:1px solid #1c5c39; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; color:#a9c9b1; position:relative;}

  @media (prefers-reduced-motion: reduce){ *{transition:none !important; scroll-behavior:auto !important;} }

/* ---------------------------------------------------------------------
 * SIDEBAR WIDGETS (include/sidebar.php) — sidebar_widgets টেবিলের ডাটা
 * --------------------------------------------------------------------- */
.sidebar-widgets{display:flex; flex-direction:column; gap:24px;}
.widget-card{background:var(--white); border:1px solid var(--hairline); border-radius:8px; padding:22px;}
.widget-title{font-family:var(--font-display-bn); font-weight:700; font-size:17px; color:var(--ink);}
.widget-rule{width:44px; height:2px; background:var(--gold); margin:10px 0 16px;}
.widget-notice-list{display:flex; flex-direction:column; gap:12px;}
.widget-notice-list li{list-style:none; padding-bottom:12px; border-bottom:1px solid var(--hairline); font-size:14px;}
.widget-notice-list li:last-child{border-bottom:none; padding-bottom:0;}
.widget-notice-list .notice-date{display:block; font-family:var(--font-body-en); font-size:11px; color:var(--gold); font-weight:700; letter-spacing:.04em; margin-bottom:3px;}
.widget-notice-list a:hover{color:var(--green); text-decoration:underline;}
.widget-link-list li{list-style:none; padding:9px 0; border-bottom:1px solid var(--hairline); font-size:14.5px;}
.widget-link-list li:last-child{border-bottom:none;}
.widget-link-list a:hover{color:var(--green); text-decoration:underline;}
.widget-html-content{font-size:14.5px; color:var(--slate); line-height:1.75;}
