/* ============================================================
   mymensingh.info — premium editorial theme (v2)
   Brand: navy #232a7d · red #e11d2e · font: Hind Siliguri
   ============================================================ */
:root{
  --navy:#232a7d; --navy-dark:#1a2068; --navy-deep:#12163f;
  --red:#e11d2e; --red-dark:#b91424; --red-soft:#fdeef0;
  --bg:#f5f6fb; --card:#ffffff; --ink:#1d2135; --muted:#626a88;
  --line:#e7eaf4; --gold:#f5a623;
  --radius:16px; --radius-sm:10px;
  --shadow:0 4px 18px rgba(23,28,85,.07);
  --shadow-lg:0 14px 40px rgba(23,28,85,.13);
  --font:'Hind Siliguri',-apple-system,'Segoe UI',Roboto,'Noto Sans Bengali','SolaimanLipi',sans-serif;
  --head-h:132px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.8;-webkit-font-smoothing:antialiased;font-size:1.02rem}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration:none;transition:color .18s}
a:hover{color:var(--red)}
::selection{background:var(--navy);color:#fff}
.wrap{max-width:1200px;margin:0 auto;padding:0 22px}
.wrap.narrow{max-width:820px}
main{display:block}

/* ---------- reading progress ---------- */
.read-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:200;background:transparent;pointer-events:none}
.read-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),#ff7a45);border-radius:0 4px 4px 0;transition:width .08s linear}

/* ---------- topbar ---------- */
.topbar{background:var(--navy-deep);color:#cdd2f5;font-size:.82rem;letter-spacing:.01em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:7px;padding-bottom:7px;gap:12px}
.topbar .tagline b{color:#fff;font-weight:700}

/* ---------- header ---------- */
.site-header{background:#fff;box-shadow:0 2px 14px rgba(23,28,85,.08);position:sticky;top:0;z-index:100}
.head-main{display:flex;align-items:center;gap:22px;padding-top:12px;padding-bottom:12px}
.brand{flex-shrink:0}
.brand img{height:52px;width:auto}
.head-search{margin-left:auto;display:flex;align-items:center;background:#f1f3fa;border:1.5px solid var(--line);border-radius:50px;padding:4px 4px 4px 18px;width:min(380px,42vw);transition:border-color .2s,box-shadow .2s}
.head-search:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(35,42,125,.12)}
.head-search input{flex:1;border:0;outline:0;background:transparent;font-family:var(--font);font-size:.95rem;color:var(--ink);min-width:0}
.head-search button{border:0;background:var(--navy);color:#fff;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1rem;flex-shrink:0;transition:background .2s,transform .2s}
.head-search button:hover{background:var(--red);transform:scale(1.06)}
.menu-toggle{display:none}

/* nav row */
.nav-row{background:var(--navy);color:#fff}
.nav-row .wrap{display:flex;align-items:center;gap:6px}
.nav-list{list-style:none;display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav-list::-webkit-scrollbar{display:none}
.nav-list>li{flex-shrink:0}
a.nav-link,.nav-drop>button{display:inline-flex;align-items:center;gap:6px;color:#e8ebff;font-weight:600;font-size:.96rem;padding:13px 15px;position:relative;white-space:nowrap;background:none;border:0;font-family:var(--font);cursor:pointer}
a.nav-link::after,.nav-drop>button::after{content:"";position:absolute;left:15px;right:15px;bottom:8px;height:2.5px;border-radius:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
a.nav-link:hover::after,a.nav-link.active::after,.nav-drop>button:hover::after{transform:scaleX(1)}
a.nav-link:hover,a.nav-link.active,.nav-drop>button:hover{color:#fff}
.nav-drop{position:relative}
.drop-menu{position:absolute;top:calc(100% + 2px);left:0;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;display:none;max-height:70vh;overflow:auto;z-index:120}
.nav-drop.open .drop-menu{display:block;animation:fadeSlide .18s ease}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.drop-menu a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-radius:9px;color:var(--ink);font-weight:500;font-size:.93rem}
.drop-menu a:hover{background:var(--red-soft);color:var(--red-dark)}
.drop-menu .cnt{font-size:.76rem;color:var(--muted);background:#f0f2f9;border-radius:20px;padding:1px 10px}
.nav-contact{color:#fff;font-weight:600;font-size:.92rem;padding:8px 18px;border:1.5px solid rgba(255,255,255,.4);border-radius:40px;white-space:nowrap;flex-shrink:0;transition:background .2s,border-color .2s}
.nav-contact:hover{background:var(--red);border-color:var(--red);color:#fff}

/* mobile drawer */
.mobile-drawer{display:none}

/* ---------- magazine hero ---------- */
.hero-mag{padding:30px 0 6px}
.hero-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:20px}
.hero-card{position:relative;display:block;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);min-height:420px;background:var(--navy-deep)}
.hero-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hero-card:hover img{transform:scale(1.05)}
.hero-card .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,35,0) 30%,rgba(10,12,35,.55) 62%,rgba(10,12,35,.92) 100%)}
.hero-card .hbody{position:absolute;left:0;right:0;bottom:0;padding:28px}
.hero-card .hbadge{display:inline-block;background:var(--red);color:#fff;font-size:.78rem;font-weight:700;padding:5px 14px;border-radius:30px;margin-bottom:12px;letter-spacing:.02em}
.hero-card h2{color:#fff;font-size:1.7rem;line-height:1.5;margin-bottom:8px}
.hero-card .hex{color:#d6dbff;font-size:.95rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}
.hero-card .hmeta{color:#aab0dd;font-size:.82rem}
.hero-side{display:grid;gap:20px;grid-template-rows:repeat(3,1fr)}
.hero-card.small{min-height:0}
.hero-card.small .hbody{padding:18px}
.hero-card.small h2{font-size:1.02rem;line-height:1.55;margin-bottom:4px}
.hero-card.small .hex{display:none}
.hero-card.small .hbadge{font-size:.7rem;padding:3px 11px;margin-bottom:8px}

/* ---------- layout + sidebar ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start;padding-top:8px}
.content{min-width:0}
.sidebar{position:sticky;top:calc(var(--head-h) + 18px);display:flex;flex-direction:column;gap:22px}
.widget{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.widget h3{font-size:1.08rem;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.widget h3::before{content:"";width:5px;height:20px;background:var(--red);border-radius:4px}
.w-search form{display:flex;background:#f1f3fa;border:1.5px solid var(--line);border-radius:50px;padding:4px 4px 4px 16px}
.w-search input{flex:1;border:0;outline:0;background:transparent;font-family:var(--font);font-size:.92rem;min-width:0}
.w-search button{border:0;background:var(--navy);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;flex-shrink:0}
.w-search button:hover{background:var(--red)}
.w-cats ul{list-style:none}
.w-cats li{border-bottom:1px dashed var(--line)}
.w-cats li:last-child{border-bottom:0}
.w-cats a{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;font-weight:500;font-size:.95rem;color:var(--ink)}
.w-cats a:hover{color:var(--red);padding-left:6px}
.w-cats .cnt{font-size:.76rem;background:#eef0fd;color:var(--navy);font-weight:700;border-radius:20px;padding:2px 11px}
.rpost{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}
.rpost:last-child{border-bottom:0;padding-bottom:0}
.rpost img{width:74px;height:56px;object-fit:cover;border-radius:9px;flex-shrink:0;background:#e6e9f5}
.rpost b{display:block;font-size:.88rem;line-height:1.5;color:var(--ink);font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rpost:hover b{color:var(--red)}
.rpost span{font-size:.76rem;color:var(--muted)}
.w-tags .chips{display:flex;flex-wrap:wrap;gap:8px}
.w-tags .chips a{background:#f1f3fa;border:1px solid var(--line);color:var(--ink);font-size:.82rem;font-weight:500;padding:6px 14px;border-radius:30px;transition:all .18s}
.w-tags .chips a:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-2px)}

/* ---------- sections ---------- */
.section{padding:34px 0 4px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.section-head h2{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:11px}
.section-head h2 .bar{width:6px;height:26px;background:linear-gradient(180deg,var(--red),#ff7a45);border-radius:4px;flex-shrink:0}
.section-head a.more{font-weight:700;color:var(--red);white-space:nowrap;font-size:.95rem}
.section-head a.more:hover{text-decoration:underline}

/* category cards */
.cat-band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:44px;padding-bottom:44px}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px}
.cat-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:22px 12px;text-align:center;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;display:block}
.cat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--navy)}
.cat-card .ico{font-size:1.9rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef0fd,#e2e6fb);border-radius:50%;margin:0 auto 12px;transition:transform .25s}
.cat-card:hover .ico{transform:scale(1.12) rotate(-6deg)}
.cat-card h3{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:4px}
.cat-card .n{font-size:.8rem;color:var(--muted)}

/* post cards */
.post-grid{display:grid;gap:22px}
.post-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.post-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.post-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.post-card .thumb{aspect-ratio:16/9;overflow:hidden;background:#dfe3f2;position:relative;display:block}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.post-card:hover .thumb img{transform:scale(1.07)}
.post-card .badge{position:absolute;top:12px;left:12px;background:var(--red);color:#fff;font-size:.74rem;font-weight:700;padding:4px 13px;border-radius:30px;box-shadow:0 3px 10px rgba(225,29,46,.4)}
.post-card .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.post-card h3{font-size:1.08rem;line-height:1.6;margin-bottom:8px;font-weight:700}
.post-card h3 a{color:var(--ink)}
.post-card h3 a:hover{color:var(--navy)}
.post-card p.ex{color:var(--muted);font-size:.9rem;line-height:1.7;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card .meta{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:.78rem;color:var(--muted);display:flex;gap:10px;align-items:center}

/* spotlight list */
.spot-list{display:flex;flex-direction:column;gap:14px}
.spot-item{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px 12px 12px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.spot-item:hover{transform:translateX(-4px);box-shadow:var(--shadow-lg)}
.spot-item img{width:120px;height:82px;object-fit:cover;border-radius:11px;flex-shrink:0;background:#e6e9f5}
.spot-item .st{flex:1;min-width:0}
.spot-item h3{font-size:1rem;line-height:1.55;margin-bottom:4px}
.spot-item h3 a{color:var(--ink)}
.spot-item h3 a:hover{color:var(--red)}
.spot-item .sm{font-size:.78rem;color:var(--muted)}
.spot-item .go{color:var(--red);font-weight:700;font-size:1.2rem;flex-shrink:0}

/* ---------- post page ---------- */
.crumbs{font-size:.85rem;color:var(--muted);margin:24px 0 16px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumbs a{color:var(--navy);font-weight:600}
.crumbs a:hover{color:var(--red)}
.crumbs .sep{color:#b9bed6}
.crumbs .here{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46vw}
.post{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:30px}
.post-head{padding:36px 42px 6px}
.post-cat{display:inline-block;background:linear-gradient(135deg,var(--red),#f04438);color:#fff;font-weight:700;font-size:.8rem;padding:6px 18px;border-radius:30px;margin-bottom:16px;letter-spacing:.02em;box-shadow:0 4px 12px rgba(225,29,46,.3)}
.post-cat:hover{color:#fff;transform:translateY(-2px)}
.post-head h1{font-size:2.05rem;line-height:1.5;font-weight:700;margin-bottom:16px;color:var(--navy-deep)}
.post-meta{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:.9rem;padding-bottom:24px;flex-wrap:wrap}
.post-meta .who{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--ink)}
.post-meta .mitem{display:inline-flex;align-items:center;gap:6px}
.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--navy),#3b46b8);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}
.avatar.big{width:64px;height:64px;font-size:1.5rem}
.post figure.featured{margin:0 0 6px;position:relative}
.post figure.featured img{width:100%;max-height:480px;object-fit:cover;border-radius:0}
.post figure.featured figcaption{font-size:.8rem;color:var(--muted);text-align:center;padding:10px 20px 4px;font-style:italic}

/* TOC */
.toc{background:linear-gradient(135deg,#f4f5fd,#eef0fb);border:1px solid var(--line);border-radius:var(--radius);margin:22px 42px 6px;padding:20px 24px}
.toc h3{font-size:1.02rem;margin-bottom:10px;color:var(--navy)}
.toc ol{margin:0 0 0 1.2em;color:var(--ink)}
.toc li{margin-bottom:6px;font-size:.95rem}
.toc a{color:var(--navy);font-weight:500}
.toc a:hover{color:var(--red)}

/* article body */
.post-body{padding:26px 42px 40px;font-size:1.14rem;line-height:2;color:#2a2e45;overflow-wrap:break-word}
.post-body>*:first-child{margin-top:0}
.post-body p{margin-bottom:1.25em}
.post-body>p:first-of-type::first-letter{font-size:3.1em;font-weight:700;color:var(--red);float:left;line-height:1;margin:6px 12px 0 0;font-family:var(--font)}
.post-body h2{font-size:1.5rem;font-weight:700;margin:1.7em 0 .8em;color:var(--navy-deep);padding-right:14px;border-right:5px solid var(--red);line-height:1.6;scroll-margin-top:calc(var(--head-h) + 20px)}
.post-body h3{font-size:1.24rem;font-weight:700;margin:1.6em 0 .6em;color:var(--navy);scroll-margin-top:calc(var(--head-h) + 20px)}
.post-body h3::before{content:"▸";color:var(--red);margin-right:8px}
.post-body h4{font-size:1.08rem;font-weight:700;margin:1.4em 0 .5em}
.post-body ul,.post-body ol{margin:0 1.6em 1.3em 0;padding:0}
.post-body li{margin-bottom:.55em}
.post-body ul>li::marker{color:var(--red)}
.post-body strong{color:var(--navy-deep)}
.post-body blockquote{background:#f7f8fd;border-right:5px solid var(--red);border-radius:12px 0 0 12px;margin:0 0 1.4em;padding:18px 24px;color:#3a3f63;font-style:italic}
.post-body blockquote p:last-child{margin-bottom:0}
.callout{background:var(--red-soft);border:1px solid #f3c2c7;border-radius:14px;padding:20px 24px;margin:1.5em 0}
.callout.info{background:#eef4ff;border-color:#bcd0f5}
.callout.tip{background:#ecfdf3;border-color:#a9e4c5}
.post-body img{border-radius:14px;margin:1.3em auto;box-shadow:var(--shadow)}
.post-body figure{margin:1.3em 0}
.post-body figure img{margin:0 auto}
.post-body figcaption{text-align:center;font-size:.85rem;color:var(--muted);margin-top:8px}
.post-body iframe{width:100%;height:400px;border:0;border-radius:14px;margin:1.2em 0}
.post-body hr{border:0;border-top:2px dashed var(--line);margin:2em 0}
.post-body code{background:#eef0fb;color:var(--red-dark);padding:2px 8px;border-radius:6px;font-size:.92em}
.post-body a{color:var(--navy);font-weight:600;border-bottom:1px dotted var(--navy)}
.post-body a:hover{color:var(--red);border-color:var(--red)}
/* tables */
.table-wrap{overflow-x:auto;margin:0 0 1.6em;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
table.info-table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:560px;margin:0}
table.info-table thead th{position:sticky;top:0;background:linear-gradient(135deg,var(--navy),#2f379e);color:#fff;text-align:right;padding:13px 16px;font-weight:700;white-space:nowrap;z-index:1}
table.info-table tbody td{border-top:1px solid var(--line);padding:12px 16px;vertical-align:top}
table.info-table tbody tr:nth-child(even){background:#f7f9fe}
table.info-table tbody tr:hover{background:#eef1fd}
.notice-box{background:#fff8e6;border:1px solid #f0d48a;border-radius:14px;padding:22px 26px;margin:1.5em 0}
.notice-box h3{color:#9a6b00;margin-bottom:6px}
.notice-box h3::before{content:""}

/* share */
.share-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 42px 30px}
.share-row .slabel{font-weight:700;color:var(--navy-deep);margin-left:6px}
.sh{border:0;cursor:pointer;font-family:var(--font);font-weight:700;font-size:.88rem;color:#fff;padding:9px 20px;border-radius:40px;transition:transform .18s,box-shadow .18s,opacity .18s}
.sh:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.18);color:#fff;opacity:.94}
.sh-fb{background:#1877f2}
.sh-wa{background:#25d366}
.sh-ms{background:#0084ff}
.sh-cp{background:var(--navy)}

/* author box */
.author-box{display:flex;gap:18px;align-items:center;margin:0 42px 38px;background:linear-gradient(135deg,#f4f5fd,#e9ecfb);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px}
.author-box .arole{font-size:.78rem;font-weight:700;color:var(--red);letter-spacing:.04em;margin-bottom:2px}
.author-box .aname{font-size:1.15rem;font-weight:700;color:var(--navy-deep);margin-bottom:4px}
.author-box .abio{font-size:.9rem;color:var(--muted);line-height:1.7}

/* related */
.related{margin:6px 0 40px}
.related .post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- category page ---------- */
.cat-hero{background:linear-gradient(120deg,var(--navy-deep),var(--navy) 55%,#303a9e);color:#fff;border-radius:20px;padding:44px;margin:4px 0 28px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.cat-hero::after{content:"";position:absolute;top:-60px;left:-60px;width:220px;height:220px;background:rgba(225,29,46,.25);border-radius:50%;filter:blur(10px)}
.cat-hero .ico{font-size:2.8rem;position:relative;z-index:1}
.cat-hero h1{font-size:2rem;margin:10px 0 6px;position:relative;z-index:1}
.cat-hero p{color:#c9cdf2;position:relative;z-index:1}
.cat-hero .bar{width:54px;height:5px;background:var(--red);border-radius:4px;margin-top:14px;position:relative;z-index:1}

/* ---------- search page ---------- */
.search-page{padding:44px 0 64px;max-width:860px}
.search-page h1{margin-bottom:20px;font-size:1.8rem;color:var(--navy-deep)}
.big-search{display:flex;background:#fff;border:2px solid var(--navy);border-radius:60px;padding:6px;max-width:640px;margin-bottom:30px;box-shadow:var(--shadow)}
.big-search input{flex:1;border:0;outline:0;font-family:var(--font);font-size:1.05rem;padding:12px 22px;background:transparent;min-width:0}
.big-search button{background:var(--red);border:0;color:#fff;font-family:var(--font);font-weight:700;border-radius:50px;padding:12px 36px;cursor:pointer;transition:background .2s}
.big-search button:hover{background:var(--red-dark)}
#searchResults .none{color:var(--muted);text-align:center;padding:44px;background:#fff;border:1px dashed var(--line);border-radius:var(--radius)}

/* ---------- footer ---------- */
.site-footer{background:linear-gradient(180deg,var(--navy-deep),#0d1030);color:#c9cdf2;margin-top:70px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:38px;padding:56px 0 40px}
.foot-brand img{height:48px;width:auto;background:#fff;border-radius:12px;padding:7px 12px;margin-bottom:16px}
.foot-brand p{font-size:.92rem;line-height:1.9;color:#aab0dd}
.site-footer h4{color:#fff;margin-bottom:16px;font-size:1.02rem;position:relative;padding-bottom:10px}
.site-footer h4::after{content:"";position:absolute;bottom:0;right:0;width:38px;height:3px;background:var(--red);border-radius:3px}
.foot-col ul{list-style:none}
.foot-col ul li{margin-bottom:9px}
.foot-col ul a{color:#aab0dd;font-size:.92rem;transition:color .18s,padding .18s}
.foot-col ul a:hover{color:#fff;padding-right:6px}
.foot-recent{display:flex;flex-direction:column;gap:14px}
.foot-recent a{display:flex;gap:12px;align-items:center}
.foot-recent img{width:64px;height:48px;object-fit:cover;border-radius:8px;flex-shrink:0;background:#232a5e}
.foot-recent b{display:block;font-size:.83rem;line-height:1.55;color:#dfe3ff;font-weight:600}
.foot-recent a:hover b{color:#fff}
.foot-recent span{font-size:.74rem;color:#8b91c4}
.copyright{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;text-align:center}
.copyright p{font-size:.86rem;color:#9aa0d6;margin-bottom:4px}
.copyright b{color:#fff}
.copyright .made{font-size:.85rem}
.copyright .heart{color:var(--red)}

/* ---------- floating bits ---------- */
.to-top{position:fixed;bottom:26px;left:26px;width:48px;height:48px;border-radius:50%;border:0;background:var(--red);color:#fff;font-size:1.35rem;cursor:pointer;box-shadow:0 10px 26px rgba(225,29,46,.45);opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .25s,transform .25s;z-index:150}
.to-top.show{opacity:1;pointer-events:auto;transform:none}
.to-top:hover{background:var(--red-dark)}
.toast{position:fixed;bottom:88px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--navy-deep);color:#fff;font-size:.9rem;font-weight:600;padding:12px 26px;border-radius:40px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:200}
.toast.show{opacity:1;transform:translateX(-50%)}

/* ---------- 404 ---------- */
.e404{text-align:center;padding:90px 20px}
.e404 h1{font-size:5rem;color:var(--navy)}
.e404 p{color:var(--muted);margin:10px 0 24px}
.btn{display:inline-block;background:var(--red);color:#fff;font-weight:700;padding:12px 36px;border-radius:50px}
.btn:hover{background:var(--red-dark);color:#fff}

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .post-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:1fr 1fr}
  .hero-grid{grid-template-columns:1fr}
  .hero-card{min-height:340px}
  .hero-side{grid-template-columns:repeat(3,1fr);grid-template-rows:none}
  .hero-card.small .hbody{padding:14px}
}
@media(max-width:760px){
  :root{--head-h:118px}
  .topbar{font-size:.74rem}
  .head-main{gap:12px}
  .head-search{display:none}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;border:0;border-radius:10px;font-size:1.35rem;width:44px;height:44px;cursor:pointer;flex-shrink:0}
  .brand img{height:44px}
  .nav-row .wrap{padding:0}
  .nav-row{display:none}
  .mobile-drawer{display:block;background:#fff;border-top:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s ease}
  .site-header.nav-open .mobile-drawer{max-height:80vh;overflow-y:auto}
  .mobile-drawer form{display:flex;margin:14px 20px 6px;background:#f1f3fa;border:1.5px solid var(--line);border-radius:50px;padding:4px 4px 4px 14px}
  .mobile-drawer input{flex:1;border:0;outline:0;background:transparent;font-family:var(--font);font-size:.95rem;min-width:0}
  .mobile-drawer button{border:0;background:var(--navy);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer}
  .drawer-head{font-size:.8rem;font-weight:700;color:var(--muted);margin:16px 22px 4px;letter-spacing:.03em}
  .drawer-link{display:flex;align-items:center;gap:10px;padding:11px 22px;font-weight:600;color:var(--ink);border-bottom:1px solid #f0f2f8;font-size:.96rem}
  .drawer-link:hover{background:#f4f6fd;color:var(--red)}
  .drawer-link .cnt{margin-right:auto;font-size:.75rem;background:#eef0fd;color:var(--navy);border-radius:20px;padding:1px 10px}
  .hero-grid{grid-template-columns:1fr}
  .hero-card{min-height:300px}
  .hero-card h2{font-size:1.3rem}
  .hero-side{grid-template-columns:1fr}
  .hero-card.small{min-height:190px}
  .sidebar{grid-template-columns:1fr}
  .post-grid.cols-2,.post-grid.cols-3,.related .post-grid{grid-template-columns:1fr}
  .post-head{padding:26px 22px 4px}
  .post-head h1{font-size:1.5rem}
  .toc{margin:18px 22px 4px;padding:16px 18px}
  .post-body{padding:20px 22px 30px;font-size:1.08rem}
  .share-row{padding:0 22px 24px}
  .author-box{margin:0 22px 28px;padding:20px}
  .foot-grid{grid-template-columns:1fr;gap:30px;padding:44px 0 30px}
  .cat-hero{padding:32px 24px}
  .spot-item img{width:96px;height:70px}
  .to-top{bottom:20px;left:20px}
}
