/*
Theme Name: Healthy Ageing World
Theme URI: https://healthyageing.world/
Author: SCFI Age Friendly Bharat Foundation
Description: Editorial news theme for healthyageing.world — masthead, newspaper-style homepage, article, category, author pages and The Silver Shop.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: healthyageing
*/

:root {
	--ha-red: #ad0000;
	--ha-red-dark: #8a0000;
	--ha-ink: #1e1e1e;
	--ha-text: #2e2e2e;
	--ha-muted: #5f5f5f;
	--ha-sun: #ffbd27;
	--ha-rule: #e5e5e5;
	--ha-soft: #f6f4f2;
	--ha-paper: #ffffff;
	--ha-serif: Lora, Georgia, "Times New Roman", serif;
	--ha-sans: Montserrat, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--ha-wrap: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: clip; }
body { margin: 0; background: var(--ha-paper); color: var(--ha-text); font-family: var(--ha-sans); font-size: 16px; line-height: 1.6; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ha-ink); text-decoration: none; }
a:hover { color: var(--ha-red); }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--ha-red); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--ha-serif); color: var(--ha-ink); font-weight: 600; }

.ha-wrap { max-width: var(--ha-wrap); margin: 0 auto; padding: 0 24px; }
.ha-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ha-skip { position: absolute; left: -9999px; top: 8px; background: var(--ha-ink); color: #fff; padding: 10px 14px; z-index: 100; }
.ha-skip:focus { left: 8px; color: #fff; }
.ha-show-sm { display: none !important; }

/* Top bar */
.ha-topbar { border-bottom: 1px solid var(--ha-rule); font-size: 13px; color: var(--ha-muted); }
.ha-topbar__in { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between; padding-top: 9px; padding-bottom: 9px; }
.ha-topbar__left, .ha-topbar__right { display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: center; }
.ha-topbar__sep { color: #c4c4c4; }
.ha-topbar a { color: var(--ha-muted); }
.ha-topbar a:hover { color: var(--ha-red); }
.ha-topbar .ha-topbar__wa { color: var(--ha-red); font-weight: 600; }

/* Masthead */
.ha-masthead { padding: 26px 0 16px; text-align: center; }
.ha-masthead__in { display: flex; align-items: center; justify-content: center; }
.ha-logo { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; color: var(--ha-ink); }
.ha-logo:hover { color: var(--ha-ink); }
.ha-logo__img { max-height: 110px; width: auto; }
.ha-logo__the { font-size: 12px; letter-spacing: 4px; text-transform: uppercase; color: var(--ha-muted); }
.ha-logo__name { font-family: var(--ha-serif); font-style: italic; font-weight: 500; font-size: 64px; letter-spacing: -1.2px; line-height: 1; }
.ha-logo__world { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: 5px; text-transform: uppercase; color: var(--ha-red); font-weight: 600; }
.ha-logo__world span { width: 56px; height: 1px; background: var(--ha-sun); }
.ha-masthead__tag { margin: 12px 0 0; font-size: 12px; letter-spacing: 2.4px; text-transform: uppercase; color: var(--ha-muted); }
.ha-iconbtn { width: 44px; height: 44px; border: 0; background: transparent; color: var(--ha-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }

/* Navigation */
.ha-nav { border-top: 1px solid var(--ha-ink); border-bottom: 1px solid var(--ha-rule); background: var(--ha-paper); position: sticky; top: 0; z-index: 50; }
.admin-bar .ha-nav { top: 32px; }
.ha-nav__in { display: flex; align-items: center; justify-content: center; gap: 20px; }
.ha-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 28px; font-size: 14px; font-weight: 600; letter-spacing: .2px; }
.ha-nav__list > li { position: relative; }
.ha-nav__list > li > a { display: block; padding: 14px 0; color: var(--ha-ink); border-bottom: 2px solid transparent; }
.ha-nav__list > li > a:hover, .ha-nav__list > .current-menu-item > a, .ha-nav__list > .current-menu-ancestor > a, .ha-nav__list > .current-category-ancestor > a { color: var(--ha-red); border-bottom-color: var(--ha-sun); }
.ha-nav__list .sub-menu { list-style: none; margin: 0; padding: 8px 0; position: absolute; left: -16px; top: 100%; min-width: 220px; background: #fff; border: 1px solid var(--ha-rule); border-top: 2px solid var(--ha-red); box-shadow: 0 8px 24px rgba(0,0,0,.08); display: none; z-index: 60; }
.ha-nav__list li:hover > .sub-menu, .ha-nav__list li:focus-within > .sub-menu { display: block; }
.ha-nav__list .sub-menu a { display: block; padding: 8px 16px; font-weight: 500; font-size: 14px; }
.ha-nav__search { display: flex; align-items: center; border: 1px solid var(--ha-rule); }
.ha-nav__search input { border: 0; padding: 8px 10px; font: inherit; font-size: 14px; width: 150px; background: transparent; }
.ha-nav__search button { border: 0; background: transparent; padding: 8px 10px; color: var(--ha-ink); cursor: pointer; display: flex; }

.ha-latest { display: flex; gap: 14px; align-items: baseline; padding-top: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--ha-rule); font-size: 14px; }
.ha-latest__label { font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--ha-red); white-space: nowrap; }

/* Shared bits */
.ha-kicker { display: inline-block; font-family: var(--ha-sans); font-size: 11px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; color: var(--ha-red); }
a.ha-kicker:hover { color: var(--ha-red-dark); text-decoration: underline; }
.ha-kicker--muted { color: var(--ha-muted); }
.ha-label { margin: 0; font-family: var(--ha-sans); font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--ha-ink); }
.ha-meta { font-size: 13px; color: var(--ha-muted); }
.ha-btn { display: inline-block; padding: 12px 20px; background: var(--ha-red); color: #fff; border: 1px solid var(--ha-red); font-weight: 600; font-size: 14px; font-family: var(--ha-sans); cursor: pointer; line-height: 1.3; }
.ha-btn:hover { background: var(--ha-red-dark); border-color: var(--ha-red-dark); color: #fff; }
.ha-btn--line { background: transparent; color: var(--ha-red); }
.ha-btn--line:hover { background: var(--ha-red); color: #fff; }
.ha-btn--sun { background: transparent; color: var(--ha-sun); border-color: var(--ha-sun); }
.ha-btn--sun:hover { background: var(--ha-sun); color: var(--ha-ink); border-color: var(--ha-sun); }
.ha-btn--sm { padding: 8px 14px; font-size: 13px; }
.ha-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.ha-avatar { border-radius: 50%; }

.ha-sechead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; border-bottom: 2px solid var(--ha-ink); padding-bottom: 10px; margin-bottom: 24px; }
.ha-sechead__title { margin: 0; font-size: 28px; flex: 0 1 auto; }
.ha-sechead__sub { font-size: 13px; color: var(--ha-muted); }
.ha-sechead__more { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--ha-red); }

.ha-section { padding: 38px 0; border-bottom: 1px solid var(--ha-rule); }
.ha-grid { display: grid; gap: 28px; }
.ha-grid--4 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.ha-grid--3 { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.ha-grid--products { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 22px; }

/* Cards */
.ha-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.ha-card__img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--ha-soft); }
.ha-card__body { display: flex; flex-direction: column; gap: 6px; }
.ha-card__title { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 600; }
.ha-card__title a:hover { color: var(--ha-red); }
.ha-card__excerpt { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ha-muted); }
.ha-card--row { flex-direction: row; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--ha-rule); }
.ha-card--row .ha-card__img { flex: 0 0 160px; }
.ha-card--row .ha-card__img img { aspect-ratio: 1 / 1; }
.ha-card--lead .ha-card__title { font-size: 34px; line-height: 1.15; }
.ha-card--lead .ha-card__img img { aspect-ratio: 16 / 9; }

.ha-list { list-style: none; margin: 0; padding: 0; }
.ha-list__item { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--ha-rule); }
.ha-list__item:last-child { border-bottom: 0; }
.ha-list__num { font-family: var(--ha-serif); font-size: 30px; line-height: 1; color: var(--ha-red); min-width: 20px; }
.ha-list__title { display: block; margin-top: 4px; font-family: var(--ha-serif); font-size: 19px; line-height: 1.32; color: var(--ha-ink); }

/* Homepage lead */
.ha-lead { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 36px; padding: 32px 0 38px; border-bottom: 1px solid var(--ha-rule); }
.ha-lead__img, .ha-card__img, .ha-band__img { display: block; }
.ha-lead__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; margin-bottom: 18px; background: var(--ha-soft); }
.ha-lead__title { margin: 8px 0 12px; font-size: 46px; line-height: 1.08; letter-spacing: -.6px; }
.ha-lead__title a:hover { color: var(--ha-red); }
.ha-lead__dek { margin: 0 0 14px; font-family: var(--ha-serif); font-size: 21px; line-height: 1.45; color: #3f3f3f; max-width: 46em; }
.ha-lead__side { border-left: 1px solid var(--ha-rule); padding-left: 28px; }
.ha-lead__side .ha-label { padding-bottom: 10px; border-bottom: 2px solid var(--ha-ink); }

/* Dark band */
.ha-band { background: var(--ha-ink); color: #fff; padding: 44px 0; margin: 0 calc(50% - 50vw); }
.ha-band .ha-sechead { border-bottom-color: #444; }
.ha-band .ha-sechead__title, .ha-band a { color: #fff; }
.ha-band .ha-sechead__sub { color: #cfcfcf; }
.ha-band .ha-sechead__more, .ha-band .ha-kicker { color: var(--ha-sun); }
.ha-band a:hover { color: var(--ha-sun); }
.ha-band__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 36px; }
.ha-band__feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.ha-band__feature > div:only-child { grid-column: 1 / -1; }
.ha-band__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ha-band__title { margin: 8px 0 0; font-size: 30px; line-height: 1.15; color: #fff; }
.ha-band__dek { margin: 12px 0 0; font-size: 15px; line-height: 1.6; color: #d6d6d6; }
.ha-band__list { display: flex; flex-direction: column; gap: 18px; }
.ha-band .ha-list__item { border-bottom-color: #444; }
.ha-band .ha-list__title { color: #fff; }
.ha-band .ha-btn--sun { color: var(--ha-sun); align-self: flex-start; }
.ha-band .ha-btn--sun:hover { color: var(--ha-ink); }

/* Two columns */
.ha-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 44px; }
.ha-two__col { min-width: 0; }

/* Shop */
.ha-shop__brand { display: flex; align-items: baseline; gap: 14px; margin: 8px 0 16px; }
.ha-shop__brand ~ .ha-shop__brand { margin-top: 34px; }
.ha-shop__name { font-family: var(--ha-serif); font-style: italic; font-size: 24px; color: var(--ha-ink); }
.ha-product { display: flex; flex-direction: column; min-width: 0; }
.ha-product__img { display: block; background: var(--ha-soft); aspect-ratio: 4 / 5; overflow: hidden; }
.ha-product__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.ha-product__img:hover img { transform: scale(1.03); }
.ha-ph { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; font-family: var(--ha-serif); font-style: italic; font-size: 22px; color: #b9b2ab; }
.ha-product .ha-kicker { margin-top: 12px; }
.ha-product__name { margin: 4px 0 0; font-size: 18px; line-height: 1.3; }
.ha-product__line { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: var(--ha-muted); }
.ha-product__foot { margin-top: auto; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ha-product__price { font-weight: 700; font-size: 15px; color: var(--ha-ink); }
.ha-callout { margin-top: 30px; padding: 20px 22px; border: 1px solid var(--ha-rule); border-top: 3px solid var(--ha-red); display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; }
.ha-callout__title { font-family: var(--ha-serif); font-size: 21px; font-weight: 600; color: var(--ha-ink); }
.ha-callout__text { font-size: 14px; color: var(--ha-muted); margin-top: 4px; }

/* Age Friendly Bharat */
.ha-afb { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 44px; }
.ha-afb__title { margin: 10px 0 14px; font-size: 36px; line-height: 1.12; }
.ha-afb p { margin: 0; font-size: 16px; line-height: 1.65; color: #3f3f3f; }
.ha-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); border-top: 1px solid var(--ha-rule); border-bottom: 1px solid var(--ha-rule); margin-top: 22px; }
.ha-stats > div { padding: 16px 14px 16px 0; }
.ha-stats > div + div { border-left: 1px solid var(--ha-rule); padding-left: 16px; }
.ha-stats strong { display: block; font-family: var(--ha-serif); font-size: 34px; font-weight: 600; color: var(--ha-red); line-height: 1.15; }
.ha-stats span { font-size: 13px; color: var(--ha-muted); }
.ha-event { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--ha-rule); }
.ha-event__date { text-align: center; border: 1px solid var(--ha-rule); padding: 8px 0; }
.ha-event__date strong { display: block; font-family: var(--ha-serif); font-size: 26px; color: var(--ha-red); line-height: 1; }
.ha-event__date span { font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--ha-muted); }
.ha-event a { font-family: var(--ha-serif); font-size: 19px; line-height: 1.3; }

/* Newsletter */
.ha-news { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; align-items: center; border-bottom: 0; }
.ha-news__title { margin: 0 0 8px; font-size: 30px; }
.ha-news p { margin: 0; color: #3f3f3f; }
.ha-news__form input[type=email], .ha-news__form input[type=text], .ha-news__form input[type=tel] { padding: 12px 14px; border: 1px solid #c2c2c2; font: inherit; }
.ha-news__form button, .ha-news__form input[type=submit] { background: var(--ha-red); color: #fff; border: 0; padding: 12px 22px; font: inherit; font-weight: 600; cursor: pointer; }

/* Forms from the Healthy Ageing App plugin, restyled to match */
body .haa-form { font-family: var(--ha-sans); font-size: 15px; }
body .haa-form input[type=text], body .haa-form input[type=email], body .haa-form input[type=tel], body .haa-form input[type=url], body .haa-form select, body .haa-form textarea { border: 1px solid #c2c2c2; border-radius: 0; min-height: 46px; color: var(--ha-ink); }
body .haa-form .haa-check { border: 1px solid var(--ha-rule); border-radius: 0; }
body .haa-form .haa-check input { accent-color: var(--ha-red); }
body .haa-form button { border-radius: 0; background: var(--ha-red); color: #fff; min-height: 48px; font-weight: 600; }
body .haa-form button:hover { background: var(--ha-red-dark); }
body .haa-form .haa-msg { border-radius: 0; }
body .haa-form .haa-msg.ok { background: #fff6e0; color: var(--ha-ink); }
body .haa-news { background: var(--ha-soft); color: var(--ha-ink); border-radius: 0; border-top: 3px solid var(--ha-red); }
body .haa-news h3, body .haa-news p, body .haa-news label { color: var(--ha-ink); }
body .haa-news h3 { font-family: var(--ha-serif); }
body .haa-news .haa-check { border-color: var(--ha-rule); background: #fff; }
body .haa-news button { background: var(--ha-red); color: #fff; }
.ha-news__form .haa-news > h3, .ha-news__form .haa-news > p { display: none; }

/* Article */
.ha-article { max-width: 760px; margin: 0 auto; padding: 36px 0 10px; }
.ha-article__title { margin: 10px 0 14px; font-size: 44px; line-height: 1.1; letter-spacing: -.5px; }
.ha-article__dek { margin: 0 0 20px; font-family: var(--ha-serif); font-size: 21px; line-height: 1.5; color: #3f3f3f; }
.ha-article__byline { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; padding: 14px 0; border-top: 1px solid var(--ha-rule); border-bottom: 1px solid var(--ha-rule); font-size: 14px; }
.ha-article__byline a { font-weight: 600; color: var(--ha-red); }
.ha-share { margin-left: auto; display: flex; flex-wrap: wrap; gap: 8px; }
.ha-share a { font-size: 12px; font-weight: 600; color: var(--ha-ink) !important; border: 1px solid var(--ha-rule); padding: 6px 10px; }
.ha-share a:hover { border-color: var(--ha-red); color: var(--ha-red) !important; }
.ha-article__figure { margin: 26px 0; }
.ha-article__figure img { width: 100%; }
.ha-article__figure figcaption { font-size: 13px; color: var(--ha-muted); margin-top: 8px; }
.ha-article__foot { margin-top: 30px; }
.ha-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.ha-tags a { font-size: 13px; border: 1px solid var(--ha-rule); padding: 5px 10px; }
.ha-authorbox { display: flex; gap: 16px; padding: 20px 0; border-top: 1px solid var(--ha-rule); border-bottom: 1px solid var(--ha-rule); }
.ha-authorbox__name { font-family: var(--ha-serif); font-size: 20px; font-weight: 600; }
.ha-authorbox p { margin: 6px 0 0; font-size: 14px; color: var(--ha-muted); }

.ha-prose { font-family: var(--ha-serif); font-size: 19px; line-height: 1.75; color: #262626; }
.ha-prose > * { margin-top: 0; margin-bottom: 1.1em; }
.ha-prose h2 { font-size: 28px; line-height: 1.25; margin-top: 1.6em; margin-bottom: .5em; }
.ha-prose h3 { font-size: 22px; margin-top: 1.4em; margin-bottom: .4em; }
.ha-prose a { color: var(--ha-red); text-decoration: underline; text-underline-offset: 3px; }
.ha-prose ul, .ha-prose ol { padding-left: 1.3em; }
.ha-prose li { margin-bottom: .45em; }
.ha-prose blockquote { margin: 1.4em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--ha-red); font-style: italic; font-size: 22px; }
.ha-prose small { font-family: var(--ha-sans); font-size: 13px; color: var(--ha-muted); line-height: 1.6; }
.ha-prose img { margin: 0 auto; }
.ha-prose figure { margin: 1.6em 0; }
.ha-prose figcaption { font-family: var(--ha-sans); font-size: 13px; color: var(--ha-muted); }
.ha-prose table { width: 100%; border-collapse: collapse; font-family: var(--ha-sans); font-size: 15px; }
.ha-prose th, .ha-prose td { border-bottom: 1px solid var(--ha-rule); padding: 8px; text-align: left; }
.ha-prose iframe { max-width: 100%; }

/* Pages */
.ha-page { max-width: 900px; margin: 0 auto; padding: 36px 0 40px; }
.ha-page__title { margin: 0 0 24px; font-size: 44px; line-height: 1.1; padding-bottom: 16px; border-bottom: 2px solid var(--ha-ink); }
.ha-page__body { font-family: var(--ha-sans); font-size: 17px; }

/* Archives */
.ha-archive__head { padding: 34px 0 20px; border-bottom: 2px solid var(--ha-ink); margin-bottom: 30px; }
.ha-archive__title { margin: 6px 0 0; font-size: 46px; line-height: 1.1; }
.ha-archive__desc { margin: 10px 0 0; font-size: 16px; color: var(--ha-muted); max-width: 46em; }
.ha-archive__desc p { margin: 0; }
.ha-subnav { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 14px; font-size: 14px; font-weight: 600; }
.ha-subnav a { color: var(--ha-red); }
.ha-archive__lead { padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid var(--ha-rule); }
.ha-archive__lead .ha-card { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 30px; align-items: center; }
.ha-archive__lead .ha-card > .ha-card__body:only-child { grid-column: 1 / -1; }
.ha-authorhead { display: flex; gap: 22px; align-items: center; }
.ha-pagination { padding: 30px 0 40px; }
.ha-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.ha-pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--ha-rule); font-weight: 600; font-size: 14px; }
.ha-pagination .current { background: var(--ha-red); color: #fff; border-color: var(--ha-red); }
.ha-empty { padding: 40px 0; color: var(--ha-muted); }
.ha-searchform { display: flex; gap: 8px; margin-top: 18px; max-width: 520px; }
.ha-searchform input { flex: 1; min-width: 0; padding: 12px 14px; border: 1px solid #c2c2c2; font: inherit; }

/* Product page */
.ha-productpage { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; padding: 36px 0 50px; }
.ha-productpage__img { background: var(--ha-soft); aspect-ratio: 4 / 5; }
.ha-productpage__img img { width: 100%; height: 100%; object-fit: cover; }
.ha-productpage__price { font-size: 24px; font-weight: 700; color: var(--ha-ink); margin: 6px 0 18px; }

/* Footer */
.ha-footer { background: var(--ha-ink); color: #cfcfcf; margin-top: 30px; }
.ha-footer a { color: #e6e6e6; }
.ha-footer a:hover { color: var(--ha-sun); }
.ha-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; padding-top: 48px; padding-bottom: 28px; font-size: 14px; }
.ha-footer__grid ul { list-style: none; margin: 0; padding: 0; line-height: 2; }
.ha-footer__grid p { line-height: 1.6; margin: 12px 0 0; }
.ha-footer__h { margin: 0 0 8px; font-family: var(--ha-sans); font-size: 14px; font-weight: 600; color: #fff; }
.ha-footer__logo { display: flex; flex-direction: column; }
.ha-footer__name { font-family: var(--ha-serif); font-style: italic; font-size: 30px; color: #fff; line-height: 1.1; }
.ha-footer__world { font-size: 11px; letter-spacing: 5px; text-transform: uppercase; color: var(--ha-sun); font-weight: 600; }
.ha-footer__base { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; padding-top: 18px; padding-bottom: 30px; border-top: 1px solid #3a3a3a; font-size: 12px; color: #a8a8a8; }
.ha-footer__base a { color: #cfcfcf; }
.ha-wa-float { position: fixed; right: 18px; bottom: 18px; width: 54px; height: 54px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.2); z-index: 40; }
.ha-wa-float:hover { color: #fff; }

/* WordPress core classes */
.alignleft { float: left; margin: 0 1.2em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.2em; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption-text, .wp-element-caption { font-size: 13px; color: var(--ha-muted); }
.sticky, .bypostauthor, .gallery-caption { }

/* Tablet */
@media (max-width: 1024px) {
	.ha-lead, .ha-band__grid { grid-template-columns: 1fr; }
	.ha-lead__side { border-left: 0; padding-left: 0; }
	.ha-nav__search { display: none; }
}

/* Phone */
@media (max-width: 760px) {
	.ha-wrap { padding: 0 16px; }
	.ha-hide-sm { display: none !important; }
	.ha-show-sm { display: inline-flex !important; }
	.ha-topbar__sep { display: none; }
	.ha-masthead { padding: 8px 0; border-bottom: 1px solid var(--ha-rule); }
	.ha-masthead__in { justify-content: space-between; }
	.ha-logo { gap: 2px; }
	.ha-logo__the { display: none; }
	.ha-logo__name { font-size: 28px; letter-spacing: -.5px; }
	.ha-logo__world { font-size: 9px; letter-spacing: 4px; gap: 8px; }
	.ha-logo__world span { width: 24px; }
	.ha-masthead__tag { display: none; }
	.ha-nav { border-top: 0; }
	.admin-bar .ha-nav { top: 0; position: relative; }
	.ha-nav__in { display: block; padding: 0; }
	.ha-nav__list { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; gap: 0 22px; padding: 0 16px; white-space: nowrap; scrollbar-width: none; }
	.ha-nav__list::-webkit-scrollbar { display: none; }
	.ha-nav__list > li > a { padding: 12px 0; }
	.ha-nav__list .sub-menu { display: none !important; }
	.ha-nav.is-open .ha-nav__list { flex-direction: column; flex-wrap: nowrap; overflow: visible; white-space: normal; padding: 6px 16px 10px; }
	.ha-nav.is-open .ha-nav__list > li > a { padding: 10px 0; border-bottom: 1px solid var(--ha-rule); }
	.ha-nav.is-open .ha-nav__list .sub-menu { display: block !important; position: static; border: 0; box-shadow: none; padding: 0 0 6px 14px; }
	.ha-nav.is-open .ha-nav__search { display: flex; margin: 0 16px 12px; }
	.ha-nav.is-open .ha-nav__search input { width: 100%; }
	.ha-latest { font-size: 13px; }
	.ha-lead { padding-top: 18px; gap: 22px; }
	.ha-lead__img { margin: 0 -16px; }
	.ha-lead__title { font-size: 30px; line-height: 1.12; }
	.ha-lead__dek { font-size: 17px; }
	.ha-section { padding: 28px 0; }
	.ha-sechead__title { font-size: 23px; }
	.ha-grid--4, .ha-grid--3 { grid-template-columns: 1fr; gap: 0; }
	.ha-grid--4 .ha-card, .ha-grid--3 .ha-card { flex-direction: row-reverse; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--ha-rule); }
	.ha-grid--4 .ha-card__img, .ha-grid--3 .ha-card__img { flex: 0 0 96px; }
	.ha-grid--4 .ha-card__img img, .ha-grid--3 .ha-card__img img { aspect-ratio: 1 / 1; }
	.ha-grid--4 .ha-card__body, .ha-grid--3 .ha-card__body { flex: 1; min-width: 0; }
	.ha-card__title { font-size: 18px; }
	.ha-grid--3 .ha-card__excerpt { display: none; }
	.ha-card--row .ha-card__img { flex: 0 0 96px; }
	.ha-band { padding: 28px 0; }
	.ha-band__feature { grid-template-columns: 1fr; }
	.ha-band__title { font-size: 23px; }
	.ha-grid--products { display: flex; overflow-x: auto; gap: 14px; scroll-snap-type: x mandatory; }
	.ha-grid--products .ha-product { flex: 0 0 160px; scroll-snap-align: start; }
	.ha-product__line { display: none; }
	.ha-afb__title { font-size: 26px; }
	.ha-stats strong { font-size: 28px; }
	.ha-article { padding-top: 20px; }
	.ha-article__title { font-size: 30px; }
	.ha-article__dek { font-size: 18px; }
	.ha-article__figure { margin: 18px -16px; }
	.ha-share { margin-left: 0; width: 100%; }
	.ha-prose { font-size: 18px; line-height: 1.7; }
	.ha-prose h2 { font-size: 24px; }
	.ha-page__title, .ha-archive__title { font-size: 32px; }
	.ha-archive__lead .ha-card { display: flex; flex-direction: column; }
	.ha-card--lead .ha-card__title { font-size: 26px; }
	.ha-authorhead { align-items: flex-start; }
	.ha-authorhead img { width: 64px; height: 64px; }
}

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