/*
Theme Name: WPD Blog
Theme URI: https://www.webpromotiondelhi.com/blog/
Author: WebPromotionDelhi
Author URI: https://www.webpromotiondelhi.com/
Description: Fast, SEO-friendly classic blog theme for WebPromotionDelhi. Header, footer and service links match the main website. Includes table of contents, FAQ schema, related posts, reading time and breadcrumbs. Works with Yoast SEO.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: wpd-blog
Tags: blog, two-columns, right-sidebar, custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready
*/

:root {
  --wpd-blue: #106eea;
  --wpd-blue-dark: #03228f;
  --wpd-blue-light: #4e95ed;
  --wpd-orange: #f47b20;
  --wpd-navy: #0a1f44;
  --wpd-text: #3b4658;
  --wpd-muted: #6b7686;
  --wpd-bg: #f4f7fc;
  --wpd-card: #ffffff;
  --wpd-line: #e3e9f2;
  --wpd-radius: 14px;
  --wpd-shadow: 0 6px 24px rgba(10, 31, 68, .08);
  --wpd-font: 'Livvic', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--wpd-bg); color: var(--wpd-text); font-family: var(--wpd-font); font-size: 17px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--wpd-blue); text-decoration: none; transition: color .2s; }
a:hover { color: var(--wpd-blue-dark); }
h1, h2, h3, h4, h5 { color: var(--wpd-navy); font-weight: 700; line-height: 1.25; margin: 0 0 .6em; }
p { margin: 0 0 1.15em; }
ul, ol { padding-left: 1.3em; }
.wpd-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.screen-reader-text { position: absolute; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
.skip-link:focus { clip: auto; width: auto; height: auto; background: #fff; padding: 10px 16px; z-index: 100000; top: 8px; left: 8px; }

/* ------------------------------------------------ header */
.wpd-topbar { background: var(--wpd-navy); color: #dbe5f7; font-size: 14px; }
.wpd-topbar .wpd-container { display: flex; justify-content: space-between; align-items: center; min-height: 40px; gap: 16px; flex-wrap: wrap; }
.wpd-topbar a { color: #fff; }
.wpd-topbar span + span { margin-left: 22px; }
.wpd-topbar i { color: var(--wpd-orange); margin-right: 6px; }
.wpd-header { background: #fff; position: sticky; top: 0; z-index: 999; box-shadow: 0 2px 14px rgba(10, 31, 68, .08); }
.admin-bar .wpd-header { top: 32px; }
.wpd-nav-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 82px; gap: 20px; }
.wpd-logo img { height: 64px; width: auto; }
.wpd-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
.wpd-menu > li { position: relative; }
.wpd-menu > li > a { display: block; padding: 28px 11px; color: var(--wpd-navy); font-weight: 600; font-size: 16px; white-space: nowrap; }
.wpd-menu > li > a:hover, .wpd-menu > li.is-current > a { color: var(--wpd-blue); }
.wpd-menu > li.has-sub > a::after { content: "\f107"; font-family: FontAwesome; margin-left: 6px; font-size: 13px; }
.wpd-sub { position: absolute; left: 0; top: 100%; min-width: 280px; background: #fff; border-radius: 0 0 var(--wpd-radius) var(--wpd-radius); box-shadow: var(--wpd-shadow); list-style: none; margin: 0; padding: 10px 0; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s; }
.wpd-menu > li:hover > .wpd-sub, .wpd-menu > li:focus-within > .wpd-sub { opacity: 1; visibility: visible; transform: none; }
.wpd-sub li a { display: block; padding: 8px 22px; color: var(--wpd-text); font-size: 15px; font-weight: 500; }
.wpd-sub li a:hover { background: var(--wpd-bg); color: var(--wpd-blue); }
.wpd-sub.is-wide { width: 620px; columns: 2; column-gap: 0; }
.wpd-sub.is-wide li { break-inside: avoid; }
.wpd-btn { display: inline-block; white-space: nowrap; background-image: linear-gradient(95deg, var(--wpd-blue-dark) 0%, var(--wpd-blue-light) 100%); color: #fff !important; padding: 11px 26px; border-radius: 30px; font-weight: 700; border: 0; cursor: pointer; font-family: inherit; font-size: 16px; line-height: 1.4; }
.wpd-btn:hover { filter: brightness(1.1); color: #fff; }
.wpd-btn.is-orange { background: var(--wpd-orange); background-image: none; }
.wpd-btn.is-ghost { background: transparent; border: 2px solid #fff; box-shadow: none; background-image: none; }
.wpd-burger { display: none; background: none; border: 0; font-size: 26px; color: var(--wpd-navy); cursor: pointer; padding: 6px 10px; }

/* ------------------------------------------------ hero + page bands */
.wpd-hero { background: radial-gradient(circle at 80% 20%, rgba(78, 149, 237, .45), transparent 45%), linear-gradient(120deg, var(--wpd-navy) 0%, var(--wpd-blue-dark) 60%, var(--wpd-blue) 100%); color: #fff; padding: 70px 0 62px; text-align: center; }
.wpd-hero h1 { color: #fff; font-size: clamp(30px, 4.6vw, 48px); margin-bottom: 14px; }
.wpd-hero p { max-width: 720px; margin: 0 auto 26px; color: #dbe5f7; font-size: 19px; }
.wpd-hero .wpd-search { max-width: 560px; margin: 0 auto; }
.wpd-band { background: linear-gradient(120deg, var(--wpd-navy) 0%, var(--wpd-blue-dark) 70%, var(--wpd-blue) 100%); color: #fff; padding: 46px 0 40px; }
.wpd-band h1 { color: #fff; font-size: clamp(26px, 3.6vw, 40px); max-width: 920px; margin-bottom: 14px; }
.wpd-band .wpd-meta { color: #cfdcf5; }
.wpd-band .wpd-meta a { color: #fff; }
.wpd-crumbs { font-size: 14px; margin-bottom: 14px; color: #cfdcf5; }
.wpd-crumbs a { color: #fff; }
.wpd-crumbs span.sep { margin: 0 8px; opacity: .6; }
.wpd-chip { display: inline-block; background: rgba(255, 255, 255, .16); color: #fff; padding: 3px 14px; border-radius: 20px; font-size: 13px; font-weight: 600; margin: 0 6px 10px 0; }
a.wpd-chip:hover { background: var(--wpd-orange); color: #fff; }
.wpd-chip.on-light { background: #e8f0fe; color: var(--wpd-blue); }
a.wpd-chip.on-light:hover { background: var(--wpd-blue); color: #fff; }

/* ------------------------------------------------ layout */
.wpd-main { padding: 46px 0 70px; }
.wpd-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 36px; align-items: start; }
.wpd-sidebar { position: sticky; top: 110px; display: grid; gap: 24px; }
.admin-bar .wpd-sidebar { top: 142px; }
.wpd-widget { background: var(--wpd-card); border-radius: var(--wpd-radius); padding: 24px; box-shadow: var(--wpd-shadow); }
.wpd-widget h3, .wpd-widget .widget-title { font-size: 19px; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 2px solid var(--wpd-line); position: relative; }
.wpd-widget h3::after, .wpd-widget .widget-title::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 54px; height: 2px; background: var(--wpd-orange); }
.wpd-widget ul { list-style: none; margin: 0; padding: 0; }
.wpd-widget li { padding: 8px 0; border-bottom: 1px dashed var(--wpd-line); font-size: 16px; }
.wpd-widget li:last-child { border-bottom: 0; }
.wpd-widget li a { color: var(--wpd-text); font-weight: 500; }
.wpd-widget li a:hover { color: var(--wpd-blue); }
.wpd-widget .count { float: right; background: var(--wpd-bg); color: var(--wpd-muted); border-radius: 12px; font-size: 13px; padding: 0 9px; }
.wpd-cta { background: linear-gradient(135deg, var(--wpd-navy), var(--wpd-blue-dark)); color: #dbe5f7; text-align: center; }
.wpd-cta h3 { color: #fff; border: 0; }
.wpd-cta h3::after { display: none; }
.wpd-cta .phone { display: block; font-size: 24px; font-weight: 700; color: #fff; margin: 10px 0 16px; }

/* ------------------------------------------------ search */
.wpd-search { display: flex; background: #fff; border-radius: 40px; overflow: hidden; box-shadow: var(--wpd-shadow); }
.wpd-search input[type=search] { flex: 1; border: 0; padding: 14px 22px; font: inherit; color: var(--wpd-text); outline: 0; min-width: 0; }
.wpd-search button { border: 0; background: var(--wpd-orange); color: #fff; padding: 0 24px; cursor: pointer; font-size: 17px; }

/* ------------------------------------------------ cards */
.wpd-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.wpd-card { background: var(--wpd-card); border-radius: var(--wpd-radius); overflow: hidden; box-shadow: var(--wpd-shadow); display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.wpd-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(10, 31, 68, .14); }
.wpd-card .thumb { display: block; aspect-ratio: 16 / 9; background: linear-gradient(135deg, var(--wpd-blue-dark), var(--wpd-blue-light)); overflow: hidden; }
.wpd-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.wpd-card:hover .thumb img { transform: scale(1.05); }
.wpd-card .body { padding: 22px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.wpd-card .cat { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--wpd-orange); margin-bottom: 8px; }
.wpd-card h2, .wpd-card h3 { font-size: 21px; margin-bottom: 10px; }
.wpd-card h2 a, .wpd-card h3 a { color: var(--wpd-navy); }
.wpd-card h2 a:hover, .wpd-card h3 a:hover { color: var(--wpd-blue); }
.wpd-card .excerpt { color: var(--wpd-text); font-size: 16px; margin-bottom: 14px; flex: 1; }
.wpd-meta { font-size: 14px; color: var(--wpd-muted); display: flex; flex-wrap: wrap; gap: 6px 16px; }
.wpd-meta i { margin-right: 5px; color: var(--wpd-orange); }
.wpd-meta .wpd-views, .wpd-meta .wpd-ccount { white-space: nowrap; }
.wpd-meta .wpd-views b, .wpd-meta .wpd-ccount b { font-weight: 600; }
.hg-meta { font-size: 13px; color: #e6edf9; margin-top: 8px; gap: 4px 14px; }
.hg-small .hg-meta { font-size: 11px; margin-top: 5px; gap: 2px 10px; }
.hg-meta i { color: #ffb066; }
.wpd-trending .t-stats { font-size: 12px; gap: 2px 12px; margin-top: 3px; }
.wpd-card.is-featured { grid-column: 1 / -1; }
.wpd-card.is-featured .thumb { aspect-ratio: 1200 / 630; }
.wpd-card.is-featured h2 { font-size: 30px; }
.wpd-card.is-featured .body { padding: 28px 34px 32px; }
.wpd-more { font-weight: 700; margin-top: 4px; }
.wpd-more i { margin-left: 6px; transition: margin .2s; }
.wpd-more:hover i { margin-left: 11px; }

.wpd-pagination { margin-top: 38px; }
.wpd-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.wpd-pagination .page-numbers { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border-radius: 10px; background: #fff; color: var(--wpd-navy); font-weight: 600; box-shadow: var(--wpd-shadow); }
.wpd-pagination .page-numbers.current, .wpd-pagination .page-numbers:hover { background: var(--wpd-blue); color: #fff; }

.wpd-layout > div { min-width: 0; }
/* category chips: one line, scrolling marquee (pauses on hover; plain scrollable row if motion is reduced) */
.wpd-cats { overflow: hidden; margin-bottom: 30px; -webkit-mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent); }
.wpd-cats-track { display: flex; flex-wrap: nowrap; width: max-content; animation: wpd-marquee 40s linear infinite; }
.wpd-cats:hover .wpd-cats-track { animation-play-state: paused; }
.wpd-cats .wpd-chip { margin: 0 8px 0 0; white-space: nowrap; flex: 0 0 auto; }
@keyframes wpd-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .wpd-cats { overflow-x: auto; }
  .wpd-cats-track { animation: none; }
  .wpd-cats-track .dup { display: none; }
}

/* ------------------------------------------------ single post */
.wpd-article { background: var(--wpd-card); border-radius: var(--wpd-radius); box-shadow: var(--wpd-shadow); padding: 34px 38px 38px; }
.wpd-article .wpd-featured { margin: -34px -38px 30px; border-radius: var(--wpd-radius) var(--wpd-radius) 0 0; overflow: hidden; }
.wpd-article .wpd-featured img { width: 100%; }
.wpd-content { font-size: 18px; }
.wpd-content h2 { font-size: 29px; margin: 1.6em 0 .55em; scroll-margin-top: 110px; }
.wpd-content h3 { font-size: 23px; margin: 1.4em 0 .5em; scroll-margin-top: 110px; }
.wpd-content h2:first-child { margin-top: 0; }
.wpd-content ul, .wpd-content ol { margin: 0 0 1.3em; }
.wpd-content li { margin-bottom: .45em; }
.wpd-content a { text-decoration: underline; text-underline-offset: 3px; }
.wpd-content blockquote { margin: 1.6em 0; padding: 18px 24px; border-left: 5px solid var(--wpd-orange); background: var(--wpd-bg); border-radius: 0 var(--wpd-radius) var(--wpd-radius) 0; font-size: 19px; color: var(--wpd-navy); }
.wpd-content table { width: 100%; border-collapse: collapse; margin: 0 0 1.5em; font-size: 16px; }
.wpd-content th, .wpd-content td { border: 1px solid var(--wpd-line); padding: 10px 14px; text-align: left; }
.wpd-content th { background: var(--wpd-bg); color: var(--wpd-navy); }
.wpd-content figure { margin: 1.5em 0; }
.wpd-content figcaption { font-size: 14px; color: var(--wpd-muted); text-align: center; margin-top: 6px; }
.wpd-content .wp-block-image img, .wpd-content img { border-radius: 10px; }
.wpd-callout { background: #eef5ff; border: 1px solid #cfe0fb; border-left: 5px solid var(--wpd-blue); border-radius: 12px; padding: 18px 22px; margin: 1.6em 0; }
.wpd-callout strong { color: var(--wpd-navy); }

.wpd-toc { background: var(--wpd-bg); border: 1px solid var(--wpd-line); border-radius: 12px; padding: 18px 24px; margin: 0 0 30px; }
.wpd-toc strong { display: block; color: var(--wpd-navy); font-size: 18px; margin-bottom: 8px; }
.wpd-toc ol { margin: 0; padding-left: 1.2em; font-size: 16px; }
.wpd-toc li { margin-bottom: 4px; }
.wpd-toc a { color: var(--wpd-text); }
.wpd-toc a:hover { color: var(--wpd-blue); }

.wpd-faq { margin-top: 40px; }
.wpd-faq h2 { font-size: 27px; }
.wpd-faq details { border: 1px solid var(--wpd-line); border-radius: 12px; margin-bottom: 12px; background: #fff; }
.wpd-faq summary { cursor: pointer; font-weight: 700; color: var(--wpd-navy); padding: 15px 52px 15px 20px; list-style: none; position: relative; }
.wpd-faq summary::-webkit-details-marker { display: none; }
.wpd-faq summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 24px; color: var(--wpd-orange); }
.wpd-faq details[open] summary::after { content: "\2212"; }
.wpd-faq details[open] summary { border-bottom: 1px solid var(--wpd-line); }
.wpd-faq .answer { padding: 14px 20px 4px; }

.wpd-tags { margin: 34px 0 0; padding-top: 22px; border-top: 1px solid var(--wpd-line); }
.wpd-tags a { display: inline-block; background: var(--wpd-bg); color: var(--wpd-text); border-radius: 18px; padding: 3px 14px; font-size: 14px; margin: 0 6px 8px 0; }
.wpd-tags a:hover { background: var(--wpd-blue); color: #fff; }
.wpd-share { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 18px; font-weight: 600; color: var(--wpd-navy); }
.wpd-share a { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--wpd-bg); color: var(--wpd-navy); }
.wpd-share a:hover { background: var(--wpd-blue); color: #fff; }
.wpd-author { display: flex; gap: 18px; align-items: center; background: var(--wpd-bg); border-radius: var(--wpd-radius); padding: 22px; margin-top: 30px; }
.wpd-author img { border-radius: 50%; flex: 0 0 auto; }
.wpd-author strong { color: var(--wpd-navy); font-size: 18px; }
.wpd-author p { margin: 4px 0 0; font-size: 15px; }
.wpd-postcta { margin-top: 36px; background: linear-gradient(120deg, var(--wpd-navy), var(--wpd-blue-dark)); border-radius: var(--wpd-radius); color: #dbe5f7; padding: 30px 34px; display: flex; gap: 24px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.wpd-postcta h3 { color: #fff; margin: 0 0 6px; font-size: 24px; }
.wpd-postcta p { margin: 0; }
.wpd-related { margin-top: 46px; }
.wpd-related h2 { font-size: 27px; margin-bottom: 20px; }
.wpd-related .wpd-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.wpd-related .wpd-card h3 { font-size: 18px; }
.wpd-related .wpd-card .body { padding: 16px 18px 18px; }

/* ------------------------------------------------ comments */
.wpd-comments { margin-top: 40px; background: var(--wpd-card); border-radius: var(--wpd-radius); box-shadow: var(--wpd-shadow); padding: 30px 38px; }
.wpd-comments ol { list-style: none; padding: 0; }
.wpd-comments li.comment { border-bottom: 1px solid var(--wpd-line); padding: 16px 0; }
.wpd-comments input[type=text], .wpd-comments input[type=email], .wpd-comments input[type=url], .wpd-comments textarea { width: 100%; padding: 12px 16px; border: 1px solid var(--wpd-line); border-radius: 10px; font: inherit; background: var(--wpd-bg); }
.wpd-comments .form-submit input { background: var(--wpd-blue); color: #fff; border: 0; padding: 12px 30px; border-radius: 30px; font: inherit; font-weight: 700; cursor: pointer; }

/* ------------------------------------------------ 404 / empty */
.wpd-empty { background: #fff; border-radius: var(--wpd-radius); box-shadow: var(--wpd-shadow); padding: 60px 30px; text-align: center; }
.wpd-empty .big { font-size: 110px; font-weight: 800; color: var(--wpd-blue); line-height: 1; }

/* ------------------------------------------------ footer */
.wpd-ctaband { background: linear-gradient(120deg, var(--wpd-blue-dark), var(--wpd-blue)); color: #fff; padding: 46px 0; }
.wpd-ctaband .wpd-container { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.wpd-ctaband h2 { color: #fff; margin: 0 0 6px; font-size: 30px; }
.wpd-ctaband p { margin: 0; color: #dbe5f7; }
.wpd-footer { background: var(--wpd-navy); color: #b9c6de; padding: 64px 0 0; font-size: 16px; }
.wpd-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; }
.wpd-footer h4 { color: #fff; font-size: 19px; margin-bottom: 18px; position: relative; padding-bottom: 12px; }
.wpd-footer h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 44px; height: 2px; background: var(--wpd-orange); }
.wpd-footer ul { list-style: none; margin: 0; padding: 0; }
.wpd-footer li { margin-bottom: 9px; }
.wpd-footer a { color: #b9c6de; }
.wpd-footer a:hover { color: #fff; }
.wpd-footer .logo-box { background: #fff; display: inline-block; padding: 8px 14px; border-radius: 10px; margin-bottom: 16px; }
.wpd-footer .logo-box img { height: 54px; width: auto; }
.wpd-footer .contact li { display: flex; gap: 10px; }
.wpd-footer .contact i { color: var(--wpd-orange); margin-top: 6px; width: 16px; }
.wpd-copy { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 46px; padding: 20px 0; text-align: center; font-size: 15px; }
.wpd-copy a { color: #fff; font-weight: 600; }
.wpd-floatcall { position: fixed; right: 18px; bottom: 18px; z-index: 998; display: flex; flex-direction: column; gap: 10px; }
.wpd-floatcall a { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 24px; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }
.wpd-floatcall .wa { background: #25d366; }
.wpd-floatcall .ph { background: var(--wpd-blue); }

/* ------------------------------------------------ responsive */
@media (max-width: 1100px) {
  .wpd-menu > li > a { padding: 28px 9px; font-size: 15px; }
  .wpd-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 26px; }
}
@media (max-width: 960px) {
  .wpd-burger { display: block; }
  .wpd-nav-wrap { flex-wrap: wrap; min-height: 70px; }
  .wpd-logo img { height: 52px; }
  .wpd-navbox { display: none; width: 100%; order: 3; padding-bottom: 14px; }
  .wpd-navbox.is-open { display: block; }
  .wpd-menu { flex-direction: column; align-items: stretch; }
  .wpd-menu > li > a { padding: 12px 6px; border-bottom: 1px solid var(--wpd-line); }
  .wpd-sub, .wpd-sub.is-wide { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; width: auto; columns: 1; padding: 0 0 0 16px; display: none; }
  .wpd-menu > li.is-open > .wpd-sub { display: block; }
  .wpd-header-cta { display: none; }
  .wpd-layout { grid-template-columns: 1fr; }
  .wpd-sidebar { position: static; }
  .wpd-footer-grid { grid-template-columns: 1fr 1fr; }
  .wpd-related .wpd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .wpd-grid { grid-template-columns: 1fr; }
  .wpd-article { padding: 22px 20px 26px; }
  .wpd-article .wpd-featured { margin: -22px -20px 22px; }
  .wpd-content { font-size: 17px; }
  .wpd-content h2 { font-size: 25px; }
  .wpd-comments { padding: 22px 20px; }
  .wpd-footer-grid { grid-template-columns: 1fr; }
  .wpd-related .wpd-grid { grid-template-columns: 1fr; }
  .wpd-topbar .wpd-container { justify-content: center; }
  .wpd-postcta { padding: 24px 22px; }
  .wpd-author { flex-direction: column; text-align: center; }
}
@media print { .wpd-topbar, .wpd-header, .wpd-sidebar, .wpd-footer, .wpd-ctaband, .wpd-floatcall, .wpd-postcta { display: none; } }

/* ------------------------------------------------ home hero grid (slider + 4 posts) */
.wpd-herogrid { background: var(--wpd-bg); padding: 22px 0 0; }
.wpd-hg { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; height: 400px; }
.wpd-hg.no-side { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.wpd-slider { grid-row: 1 / 3; position: relative; border-radius: 10px; overflow: hidden; background: var(--wpd-navy); }
.wpd-slide, .hg-small { position: relative; overflow: hidden; border-radius: 10px; background: linear-gradient(135deg, var(--wpd-blue-dark), var(--wpd-blue-light)); }
.wpd-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease; border-radius: 0; }
.wpd-slide.is-active { opacity: 1; visibility: visible; }
.hg-img { position: absolute; inset: 0; display: block; }
.hg-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.wpd-slide:hover .hg-img img, .hg-small:hover .hg-img img { transform: scale(1.05); }
.hg-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 20px 18px; background: linear-gradient(to top, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .45) 55%, rgba(0, 0, 0, 0) 100%); }
.hg-chip { display: inline-block; color: #fff !important; font-size: 13px; font-weight: 600; line-height: 1; padding: 6px 11px; border-radius: 4px; margin-bottom: 9px; }
.hg-chip:hover { filter: brightness(1.12); }
.hg-body h2 { margin: 0; font-size: 30px; line-height: 1.22; font-weight: 800; }
.hg-body h2 a { color: #fff; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hg-small .hg-body { padding: 40px 14px 12px; }
.hg-small .hg-body h2 { font-size: 17px; line-height: 1.25; font-weight: 700; }
.hg-small .hg-body h2 a { -webkit-line-clamp: 3; }
.hg-small .hg-chip { font-size: 12px; padding: 5px 9px; margin-bottom: 6px; }
.wpd-dots { position: absolute; right: 16px; top: 14px; display: flex; gap: 6px; z-index: 3; }
.wpd-dots button { width: 9px; height: 9px; border-radius: 50%; border: 0; padding: 0; background: rgba(255, 255, 255, .55); cursor: pointer; }
.wpd-dots button.is-active { background: #fff; width: 22px; border-radius: 6px; }
.wpd-main.after-hero { padding-top: 30px; }
.wpd-sectitle { font-size: 24px; margin: 0 0 18px; padding-left: 14px; border-left: 4px solid var(--wpd-orange); }

/* ------------------------------------------------ trending widget */
.wpd-trending h3 i { color: #ef4444; margin-right: 4px; }
.wpd-trending .t-item { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px dashed var(--wpd-line); }
.wpd-trending .t-item:last-child { border-bottom: 0; padding-bottom: 0; }
.wpd-trending .t-thumb { position: relative; flex: 0 0 104px; height: 78px; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg, var(--wpd-blue-dark), var(--wpd-blue-light)); }
.wpd-trending .t-thumb img { width: 100%; height: 100%; object-fit: cover; }
.wpd-trending .t-rank { position: absolute; left: 6px; top: 6px; z-index: 2; background: #ef4444; color: #fff; font-size: 12px; font-weight: 800; width: 22px; height: 22px; line-height: 22px; text-align: center; border-radius: 50%; }
.wpd-trending .t-body { min-width: 0; }
.wpd-trending .t-cat { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 2px; }
.wpd-trending h4 { margin: 0 0 4px; font-size: 16px; line-height: 1.3; }
.wpd-trending h4 a { color: var(--wpd-navy); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wpd-trending h4 a:hover { color: var(--wpd-blue); }
.wpd-trending .t-date { font-size: 12px; color: var(--wpd-muted); }
.wpd-trending .t-date i { color: var(--wpd-orange); }

@media (max-width: 960px) {
  .wpd-hg { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 150px 150px; height: auto; }
  .wpd-slider { grid-column: 1 / -1; grid-row: 1; }
  .hg-body h2 { font-size: 24px; }
}
@media (max-width: 640px) {
  .wpd-hg { grid-template-rows: 240px 150px 150px; }
  .hg-body h2 { font-size: 21px; }
  .hg-small .hg-body h2 { font-size: 14px; }
  .hg-small .hg-body { padding: 30px 10px 10px; }
}
/* keep the (hidden) dropdowns inside the viewport on narrower screens */
.wpd-menu > li.has-sub + li.has-sub > .wpd-sub { left: -150px; }
html, body { overflow-x: clip; }
/* ------------------------------------------------ menu icons + footer social */
.wpd-sub li a { display: flex; align-items: center; gap: 11px; }
.wpd-sub li a .wpd-ico { width: 24px; height: 24px; object-fit: contain; flex: 0 0 24px; }
.wpd-footer ul:not(.contact-list) li a { display: inline-flex; align-items: center; gap: 11px; }
.wpd-footer li a .wpd-ico { width: 26px; height: 26px; flex: 0 0 26px; object-fit: contain; background: #fff; border-radius: 7px; padding: 3px; }
.wpd-social { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.wpd-social a { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .1); color: #fff; font-size: 17px; transition: background .2s, transform .2s; }
.wpd-social a:hover { background: var(--wpd-orange); color: #fff; transform: translateY(-3px); }
@media (max-width: 960px) {
  .wpd-sub li a { padding: 8px 6px; }
}
/* icon + text on one line (specific selectors so older cached rules cannot stack them) */
.wpd-menu .wpd-sub li > a { display: flex; flex-direction: row; align-items: center; gap: 0; }
.wpd-menu .wpd-sub li > a > img.wpd-ico { flex: 0 0 24px; }
.wpd-footer ul li > a { display: flex; flex-direction: row; align-items: center; }
.wpd-footer ul li > a > img.wpd-ico { flex: 0 0 26px; width: 26px; height: 26px; margin-right: 11px !important; background: #fff; border-radius: 7px; padding: 3px; box-sizing: border-box; }
.wpd-footer ul li > a > span { flex: 1 1 auto; min-width: 0; }