/* ==========================================================================
   Pressify Modern — "Australian Coastal" skin
   A modern editorial-magazine restyle layered over the base Pressify CSS.
   Loaded AFTER pressify-main.css, so equal-specificity rules win by order.
   Palette: deep ocean blue + teal + warm sand/gold on a soft coastal mist.
   ========================================================================== */

:root {
	/* Brand palette */
	--c-ocean-900: #07293b;
	--c-ocean-800: #0a3d62;
	--c-ocean-700: #0e567f;
	--c-ocean-600: #1577ab;
	--c-ocean-500: #2a8fc4;
	--c-teal-600:  #0e8a9a;
	--c-teal-500:  #14a3b3;
	--c-teal-400:  #43c2cf;
	--c-sand-600:  #d2842a;
	--c-sand-500:  #e79a3c;
	--c-sand-400:  #f1b65e;
	--c-sand-200:  #f7e3c2;
	--c-coral:     #ff6f61;

	/* Neutrals (cool, coastal) */
	--ink:        #112a36;
	--ink-soft:   #2c4450;
	--muted:      #5d6f78;
	--muted-2:    #8a9aa2;
	--line:       #e2eaee;
	--line-soft:  #eef3f5;
	--mist:       #f3f7f9;
	--mist-2:     #e9f1f4;
	--surface:    #ffffff;

	/* Map onto the theme's existing tokens (used across templates) */
	--pressify-primary:      var(--c-ocean-800);
	--pressify-accent:       var(--c-ocean-600);
	--pressify-accent-2:     #ffffff;
	--pressify-text:         var(--ink);
	--pressify-text-muted:   var(--muted);
	--pressify-border:       var(--line);
	--pressify-bg:           var(--mist);
	--pressify-card-bg:      var(--surface);
	--pressify-link:         var(--c-ocean-600);
	--pressify-link-ext:     var(--c-teal-600);
	--pressify-link-hover:   var(--c-ocean-800);

	/* Typography */
	--font-head: 'Fraunces', Georgia, 'Times New Roman', serif;
	--font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--fs-body: 1.0625rem;          /* 17px */
	--lh-body: 1.72;
	--measure: 44rem;              /* readable line length for articles */

	/* Shape + depth */
	--radius-sm: 8px;
	--radius:    14px;
	--radius-lg: 20px;
	--radius-pill: 999px;
	--shadow-xs: 0 1px 2px rgba(16,42,54,.06);
	--shadow-sm: 0 2px 10px rgba(16,42,54,.06), 0 1px 2px rgba(16,42,54,.04);
	--shadow:    0 8px 24px rgba(16,42,54,.08), 0 2px 6px rgba(16,42,54,.05);
	--shadow-lg: 0 18px 48px rgba(10,61,98,.16);
	--ring:      0 0 0 3px rgba(21,119,171,.28);

	--gradient-ocean: linear-gradient(135deg, var(--c-ocean-700) 0%, var(--c-teal-600) 100%);
	--gradient-overlay: linear-gradient(180deg, rgba(7,41,59,0) 0%, rgba(7,41,59,.10) 38%, rgba(7,41,59,.82) 100%);

	--ease: cubic-bezier(.22,.61,.36,1);
	--t-fast: .16s var(--ease);
	--t: .26s var(--ease);
}

/* ----------------------------------------------------------------- Base -- */
html { scroll-behavior: smooth; }
body.pressify-body {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	color: var(--ink);
	background-color: var(--mist);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.pressify-body a { color: var(--pressify-link); text-decoration: none; transition: color var(--t-fast); }
.pressify-body a:hover { color: var(--pressify-link-hover); }
::selection { background: var(--c-sand-200); color: var(--ink); }
:focus-visible { outline: none; box-shadow: var(--ring); border-radius: 4px; }
img { max-width: 100%; height: auto; }

/* --------------------------------------------------------- Typography --- */
.pressify-body h1, .pressify-body h2, .pressify-body h3,
.pressify-body h4, .pressify-body h5, .pressify-body h6 {
	font-family: var(--font-head);
	color: var(--c-ocean-900);
	font-weight: 600;
	line-height: 1.18;
	letter-spacing: -.012em;
}
.pressify-body h1 { font-size: clamp(2.1rem, 1.4rem + 2.6vw, 3.35rem); font-weight: 600; }
.pressify-body h2 { font-size: clamp(1.55rem, 1.1rem + 1.6vw, 2.2rem); }
.pressify-body h3 { font-size: clamp(1.28rem, 1.05rem + .9vw, 1.6rem); }
.pressify-container { max-width: 1240px; padding-inline: clamp(1rem, 4vw, 1.5rem); }
.pressify-container--narrow { max-width: 760px; }

/* ----------------------------------------------------------- Top bar ---- */
.pressify-top-bar {
	background: var(--c-ocean-900);
	color: #cfe1ea;
	font-size: .82rem;
	border: 0;
}
.pressify-top-bar a { color: #dcebf2; }
.pressify-top-bar a:hover { color: #fff; }

/* ------------------------------------------------------------ Header ---- */
.pressify-header {
	background: rgba(255,255,255,.86);
	backdrop-filter: saturate(160%) blur(10px);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid var(--line);
	box-shadow: var(--shadow-xs);
	position: sticky; top: 0; z-index: 200;
}
.pressify-header__inner { padding-block: .7rem; gap: 1.25rem; }
.pressify-header__logo img, .pressify-header__logo .custom-logo { max-height: 52px; width: auto; }

/* Primary nav */
.pressify-nav { background: transparent; border: 0; }
.pressify-nav__inner { gap: 1rem; }
.pressify-nav-menu { gap: .15rem; }
.pressify-nav-menu a {
	color: var(--ink-soft);
	font-weight: 500;
	font-size: .95rem;
	padding: .55rem .8rem;
	border-radius: var(--radius-pill);
	transition: background var(--t-fast), color var(--t-fast);
}
.pressify-nav-menu a:hover { background: var(--mist-2); color: var(--c-ocean-800); }
.pressify-nav-menu .current-menu-item > a,
.pressify-nav-menu .current-cat > a { color: var(--c-ocean-700); background: var(--mist-2); }
.pressify-nav-menu li.menu-item-has-children > a::after { color: var(--muted); }

/* Mega/dropdown menus */
.pressify-nav-menu ul.sub-menu,
.pressify-nav-menu .sub-menu {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	padding: .5rem;
	overflow: hidden;
}
.pressify-nav-menu .sub-menu a { border-radius: var(--radius-sm); padding: .5rem .7rem; }

/* Nav utility buttons (search, dark toggle) */
.pressify-nav__utils { gap: .4rem; }
.pressify-nav-search-btn, .pressify-dark-toggle, .pressify-nav-toggle {
	width: 42px; height: 42px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: var(--radius-pill);
	border: 1px solid var(--line);
	background: var(--surface);
	color: var(--c-ocean-700);
	transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.pressify-nav-search-btn:hover, .pressify-dark-toggle:hover, .pressify-nav-toggle:hover {
	background: var(--mist-2); border-color: var(--c-ocean-500); color: var(--c-ocean-800);
}
.pressify-nav-toggle__bar { background: var(--c-ocean-800); height: 2px; border-radius: 2px; }

/* ------------------------------------------------------------ Ticker ---- */
.pressify-ticker {
	background: var(--surface);
	border-bottom: 1px solid var(--line);
	box-shadow: var(--shadow-xs);
}
.pressify-ticker__label {
	background: var(--gradient-ocean);
	color: #fff; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
	font-size: .72rem; border-radius: var(--radius-pill);
	padding: .3rem .85rem;
}
.pressify-ticker__item a { color: var(--ink-soft); font-weight: 500; }
.pressify-ticker__item a:hover { color: var(--c-ocean-700); }

/* ------------------------------------------------------- Category pills -- */
.pressify-badge, .pressify-card__category, .pressify-hero__badge {
	display: inline-flex; align-items: center;
	font-family: var(--font-body);
	font-size: .68rem; font-weight: 700;
	letter-spacing: .055em; text-transform: uppercase;
	padding: .32rem .68rem;
	border-radius: var(--radius-pill);
	background: var(--mist-2);
	color: var(--c-ocean-700);
	line-height: 1;
	transition: background var(--t-fast), color var(--t-fast);
}
.pressify-card__category:hover, .pressify-hero__badge:hover { background: var(--c-ocean-600); color: #fff; }
.pressify-hero__badge { background: rgba(255,255,255,.92); color: var(--c-ocean-800); backdrop-filter: blur(4px); }

/* -------------------------------------------------------------- Cards ---- */
.pressify-card {
	background: var(--surface);
	border: 1px solid var(--line-soft);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: transform var(--t), box-shadow var(--t), border-color var(--t);
	display: flex; flex-direction: column;
}
.pressify-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
	border-color: var(--mist-2);
}
.pressify-card__thumb { overflow: hidden; position: relative; aspect-ratio: 16 / 10; background: var(--mist-2); }
.pressify-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.pressify-card:hover .pressify-card__thumb img { transform: scale(1.06); }
.pressify-card__body { padding: 1.05rem 1.15rem 1.2rem; gap: .55rem; display: flex; flex-direction: column; }
.pressify-card__title { font-size: 1.16rem; line-height: 1.28; font-weight: 600; margin: .15rem 0 .1rem; }
.pressify-card__title a { color: var(--c-ocean-900); background-image: linear-gradient(var(--c-ocean-600), var(--c-ocean-600)); background-size: 0% 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size var(--t), color var(--t-fast); }
.pressify-card__title a:hover { color: var(--c-ocean-700); background-size: 100% 2px; }
.pressify-card__excerpt { color: var(--muted); font-size: .92rem; line-height: 1.6; }
.pressify-card__meta { color: var(--muted-2); font-size: .8rem; margin-top: auto; padding-top: .5rem; }

/* Hero / overlay cards */
.pressify-card--hero, .pressify-hero__item {
	position: relative; border-radius: var(--radius-lg); overflow: hidden;
	box-shadow: var(--shadow);
	border: 0;
}
.pressify-card--hero .pressify-card__thumb, .pressify-hero__item .pressify-hero__img { aspect-ratio: auto; height: 100%; }
.pressify-card__overlay, .pressify-hero__overlay {
	position: absolute; inset: 0;
	background: var(--gradient-overlay);
	display: flex; flex-direction: column; justify-content: flex-end;
	padding: clamp(1.1rem, 3vw, 2rem);
	color: #fff;
}
.pressify-hero__title, .pressify-card--hero .pressify-card__title { color: #fff; }
.pressify-hero__title a, .pressify-card--hero .pressify-card__title a { color: #fff; background-image: none; }
.pressify-hero__title { font-size: clamp(1.5rem, 1rem + 2.4vw, 2.6rem); line-height: 1.14; text-shadow: 0 2px 18px rgba(7,41,59,.4); }
.pressify-hero__title--sm, .pressify-hero__item--small .pressify-hero__title { font-size: clamp(1.1rem, .9rem + 1vw, 1.35rem); }
.pressify-hero__meta, .pressify-card__hero-meta { color: rgba(255,255,255,.86); }
.pressify-hero__item img, .pressify-hero__img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.pressify-hero__item:hover img { transform: scale(1.05); }

/* List-style cards */
.pressify-card--list { flex-direction: row; align-items: stretch; gap: 0; }
.pressify-card--list .pressify-card__thumb { flex: 0 0 38%; aspect-ratio: 4 / 3; }
.pressify-card--list .pressify-card__body { padding: .85rem 1rem; }

/* --------------------------------------------------- Home page sections -- */
.pressify-home-section { margin-block: clamp(2.4rem, 5vw, 3.6rem); }
.pressify-home-section__title {
	font-family: var(--font-head);
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.85rem);
	font-weight: 600; color: var(--c-ocean-900);
	display: flex; align-items: center; gap: .7rem;
	margin-bottom: 1.3rem;
	position: relative;
}
.pressify-home-section__title::before {
	content: ""; width: 6px; height: 1.4em; border-radius: var(--radius-pill);
	background: var(--gradient-ocean);
}
.pressify-home-section__all {
	margin-left: auto; font-family: var(--font-body); font-size: .82rem; font-weight: 600;
	color: var(--c-ocean-600); text-transform: uppercase; letter-spacing: .04em;
	display: inline-flex; align-items: center; gap: .3rem;
	padding: .4rem .8rem; border-radius: var(--radius-pill); background: var(--mist-2);
	transition: background var(--t-fast), color var(--t-fast);
}
.pressify-home-section__all:hover { background: var(--c-ocean-600); color: #fff; }
.pressify-home-section__grid { gap: clamp(1rem, 2.4vw, 1.6rem); }

/* ---------------------------------------------------------- Single post -- */
.pressify-single__wrap { gap: clamp(1.6rem, 3.5vw, 3rem); }
.pressify-single__header { margin-bottom: 1.4rem; }
.pressify-single__title { font-size: clamp(1.9rem, 1.3rem + 2.6vw, 3rem); line-height: 1.12; margin: .5rem 0 .8rem; }
.pressify-single__thumb { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); margin-bottom: 1.6rem; }
.pressify-single__thumb img { width: 100%; }
.pressify-single__entry { font-size: 1.09rem; line-height: 1.8; color: var(--ink-soft); }
.pressify-single__entry > p,
.pressify-single__entry > ul,
.pressify-single__entry > ol,
.pressify-single__entry > h2,
.pressify-single__entry > h3,
.pressify-single__entry > figure,
.pressify-single__entry > blockquote { max-width: var(--measure); }
.pressify-single__entry h2 { margin-top: 2.2rem; margin-bottom: .7rem; padding-top: .3rem; }
.pressify-single__entry h3 { margin-top: 1.7rem; margin-bottom: .5rem; }
.pressify-single__entry p { margin-bottom: 1.25rem; }
.pressify-single__entry a {
	color: var(--c-ocean-600); font-weight: 500;
	border-bottom: 1px solid rgba(21,119,171,.32);
	transition: border-color var(--t-fast), color var(--t-fast);
}
.pressify-single__entry a:hover { color: var(--c-ocean-800); border-color: var(--c-ocean-600); }
.pressify-single__entry img { border-radius: var(--radius); }
.pressify-single__entry blockquote {
	border: 0; border-left: 4px solid var(--c-teal-500);
	background: var(--mist); border-radius: 0 var(--radius) var(--radius) 0;
	padding: 1rem 1.3rem; margin: 1.6rem 0; font-style: italic; color: var(--ink-soft);
}
.pressify-single__entry :is(ul,ol) { padding-left: 1.3rem; margin-bottom: 1.25rem; }
.pressify-single__entry li { margin-bottom: .45rem; }
.pressify-single__entry :is(h2,h3,h4) { color: var(--c-ocean-900); }
.pressify-single__entry table { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-xs); }

/* Sidebar */
.pressify-single__sidebar { font-size: .95rem; }
.pressify-single__sidebar .widget,
.pressify-single__sidebar > * { margin-bottom: 1.4rem; }

/* Breadcrumbs */
.pressify-breadcrumbs { font-size: .82rem; color: var(--muted); }
.pressify-breadcrumbs a { color: var(--c-ocean-600); }
.pressify-breadcrumbs__sep { color: var(--muted-2); }
.pressify-breadcrumbs__current { color: var(--ink-soft); font-weight: 500; }

/* Post meta row */
.pressify-meta { color: var(--muted); font-size: .86rem; gap: .5rem; }
.pressify-meta__avatar img { border-radius: var(--radius-pill); border: 2px solid var(--surface); box-shadow: var(--shadow-xs); }
.pressify-meta__author { color: var(--ink-soft); font-weight: 600; }
.pressify-meta__sep { color: var(--muted-2); }

/* Table of contents */
.pressify-toc {
	background: var(--surface); border: 1px solid var(--line);
	border-radius: var(--radius); box-shadow: var(--shadow-xs);
	padding: .4rem .25rem;
}
.pressify-toc__title { color: var(--c-ocean-800); font-family: var(--font-head); font-weight: 600; }
.pressify-toc__list a { color: var(--ink-soft); border-radius: var(--radius-sm); transition: background var(--t-fast), color var(--t-fast); }
.pressify-toc__list a:hover { background: var(--mist-2); color: var(--c-ocean-700); }

/* Social share */
.pressify-social-share__btn {
	width: 42px; height: 42px; border-radius: var(--radius-pill);
	background: var(--surface); border: 1px solid var(--line); color: var(--c-ocean-700);
	display: inline-flex; align-items: center; justify-content: center;
	transition: transform var(--t-fast), background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.pressify-social-share__btn:hover { transform: translateY(-2px); background: var(--c-ocean-600); color: #fff; border-color: var(--c-ocean-600); }

/* Related posts */
.pressify-related { border-top: 1px solid var(--line); margin-top: 2.4rem; padding-top: 1.8rem; }
.pressify-related__title { font-family: var(--font-head); color: var(--c-ocean-900); }

/* --------------------------------------------------------- Buttons ------ */
.pressify-body .wp-block-button__link,
.pressify-btn, button.pressify-btn, .pressify-cta {
	background: var(--gradient-ocean); color: #fff; font-weight: 600;
	border: 0; border-radius: var(--radius-pill);
	padding: .7rem 1.4rem; box-shadow: var(--shadow-sm);
	transition: transform var(--t-fast), box-shadow var(--t-fast), filter var(--t-fast);
}
.pressify-body .wp-block-button__link:hover,
.pressify-btn:hover, .pressify-cta:hover { transform: translateY(-2px); box-shadow: var(--shadow); filter: brightness(1.05); color: #fff; }

/* --------------------------------------------------- Search overlay ----- */
.pressify-search-overlay { background: rgba(7,41,59,.55); backdrop-filter: blur(6px); }
.pressify-search-overlay__inner { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.pressify-search-overlay__input { font-size: 1.2rem; }
.pressify-search-result { border-radius: var(--radius-sm); transition: background var(--t-fast); }
.pressify-search-result:hover, .pressify-search-result.is-active { background: var(--mist-2); }

/* ------------------------------------------------------------ Footer ---- */
.pressify-footer-widgets {
	background: var(--c-ocean-900);
	color: #b9d0db;
	border-top: 4px solid var(--c-teal-500);
}
.pressify-footer-widget__title { color: #fff; font-family: var(--font-head); font-weight: 600; }
.pressify-footer-widgets a { color: #cfe1ea; }
.pressify-footer-widgets a:hover { color: var(--c-sand-400); }
.pressify-footer-bottom { background: #061f2d; color: #8fb0bd; border-top: 1px solid rgba(255,255,255,.06); }
.pressify-footer-bottom a { color: #b9d0db; }
.pressify-popular-posts__num { background: var(--c-teal-500); color: #fff; border-radius: var(--radius-pill); }

/* Back to top */
.pressify-back-to-top {
	background: var(--gradient-ocean); color: #fff; border: 0;
	border-radius: var(--radius-pill); box-shadow: var(--shadow);
	transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.pressify-back-to-top:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }

/* --------------------------------------------------- Pagination --------- */
.pressify-body .page-numbers,
.pressify-body .nav-links a, .pressify-body .nav-links span {
	border-radius: var(--radius-sm); border: 1px solid var(--line);
	padding: .5rem .85rem; color: var(--ink-soft); background: var(--surface);
	transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.pressify-body .page-numbers.current { background: var(--gradient-ocean); color: #fff; border-color: transparent; }
.pressify-body .page-numbers:hover { background: var(--mist-2); border-color: var(--c-ocean-500); color: var(--c-ocean-800); }

/* --------------------------------------------------- Custom blocks tweak  */
.pressify-block-info-box { border-radius: var(--radius); border: 1px solid var(--line); box-shadow: var(--shadow-xs); }
.pressify-block-pros-cons__container { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }

/* ------------------------------------------------------- Dark mode ------ */
html[data-theme="dark"], body.pressify-dark {
	--ink: #e6eef2;
	--ink-soft: #cdd9df;
	--muted: #9fb2bb;
	--muted-2: #7f95a0;
	--line: #1d3947;
	--line-soft: #18313d;
	--mist: #0b222e;
	--mist-2: #122e3b;
	--surface: #102a37;
	--c-ocean-900: #eaf2f6;
	--pressify-primary: #eaf2f6;
	--pressify-card-bg: #102a37;
	--pressify-bg: #0b222e;
}
html[data-theme="dark"] .pressify-header,
body.pressify-dark .pressify-header { background: rgba(11,34,46,.85); border-bottom-color: var(--line); }
html[data-theme="dark"] .pressify-card__title a,
body.pressify-dark .pressify-card__title a { color: #eaf2f6; }

/* ------------------------------------------------------- Responsive ----- */
@media (max-width: 1024px) {
	.pressify-single__sidebar { margin-top: 2rem; }
}
@media (max-width: 768px) {
	:root { --fs-body: 1rem; }
	.pressify-header__inner { padding-block: .55rem; }
	.pressify-header__logo img, .pressify-header__logo .custom-logo { max-height: 42px; }
	.pressify-home-section { margin-block: 2.2rem; }
	.pressify-card--list { flex-direction: column; }
	.pressify-card--list .pressify-card__thumb { flex: none; aspect-ratio: 16/10; }
	.pressify-single__entry { font-size: 1.02rem; }
	/* Tap targets */
	.pressify-nav-menu a { padding: .7rem .9rem; }
}
@media (max-width: 480px) {
	.pressify-hero__title { font-size: clamp(1.25rem, 1rem + 4vw, 1.7rem); }
	.pressify-card__body { padding: .9rem 1rem 1.05rem; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	* { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	.pressify-card:hover { transform: none; }
}

/* ============================ Refinements (v2) ===========================
   Light-header nav links, white overlay titles on hero imagery, and
   reserved height for feature/hero cards (also avoids lazy-load shift).
   ======================================================================== */
.pressify-header .pressify-nav-menu > li > a { color: var(--ink-soft); border-radius: var(--radius-pill); }
.pressify-header .pressify-nav-menu > li > a:hover { color: var(--c-ocean-800); background: var(--mist-2); }
.pressify-header .pressify-nav-menu .current-menu-item > a,
.pressify-header .pressify-nav-menu .current-cat > a {
	color: var(--c-ocean-700); background: var(--mist-2); border-bottom-color: var(--c-teal-500);
}

.pressify-hero__overlay .pressify-hero__title,
.pressify-hero__overlay .pressify-hero__title a,
.pressify-hero__link .pressify-hero__title,
.pressify-card--hero .pressify-card__title,
.pressify-card--hero .pressify-card__title a,
.pressify-card__overlay .pressify-card__title,
.pressify-card__overlay .pressify-card__title a { color: #fff; background-image: none; }
.pressify-card--hero .pressify-card__category,
.pressify-card__overlay .pressify-card__category { background: rgba(255,255,255,.92); color: var(--c-ocean-800); }

.pressify-card--hero { display: block; min-height: 360px; }
.pressify-home-section__grid--hero-3 > .pressify-card--hero { min-height: 100%; }
.pressify-card--hero .pressify-card__link { height: 100%; min-height: inherit; display: block; }
.pressify-card--hero .pressify-card__thumb { position: absolute; inset: 0; height: 100%; width: 100%; aspect-ratio: auto; }
.pressify-card--hero .pressify-card__thumb img { height: 100%; width: 100%; object-fit: cover; }
.pressify-hero__item { min-height: 240px; }
.pressify-hero__item--main { min-height: 380px; }
.pressify-hero__item--small { min-height: 184px; }

@media (max-width: 768px) {
	.pressify-card--hero { min-height: 300px; }
	.pressify-hero__item--main { min-height: 280px; }
}

/* ============================ Refinements (v3) ===========================
   Nav lives in .pressify-nav (a sibling of .pressify-header), so target that.
   Bulletproof cover-image fill for hero/feature cards (absolute inset:0).
   ======================================================================== */
.pressify-nav .pressify-nav-menu > li > a { color: var(--ink-soft); border-radius: var(--radius-pill); }
.pressify-nav .pressify-nav-menu > li > a:hover { color: var(--c-ocean-800); background: var(--mist-2); }
.pressify-nav .pressify-nav-menu .current-menu-item > a,
.pressify-nav .pressify-nav-menu .current-cat > a {
	color: var(--c-ocean-700); background: var(--mist-2); border-bottom-color: var(--c-teal-500);
}
.pressify-nav .pressify-nav-menu .sub-menu a { color: var(--ink-soft); }
.pressify-nav .pressify-nav-menu .sub-menu a:hover { color: var(--c-ocean-700); }

/* Hero (featured) images fill their box regardless of height cascade. */
.pressify-hero__item { position: relative; }
.pressify-hero__link { min-height: inherit; height: 100%; }
.pressify-hero__img, .pressify-hero__item img.wp-post-image {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.pressify-hero__overlay { z-index: 2; }
.pressify-card--hero .pressify-card__overlay { z-index: 2; }
.pressify-card--hero .pressify-card__thumb img { position: absolute; inset: 0; }

/* ============================ Refinements (v4 — polish) =================
   Addresses live feedback: sticky-header overlap, ticker legibility,
   desktop hamburger, one-line nav, list cards, category hero, footer
   numbers, share hover, and TOC padding.
   ====================================================================== */

/* (0) STICKY OVERLAP FIX — the theme's .pressify-nav is the intended sticky
   bar (z-index 1000). Don't also make the header sticky, and give the nav a
   solid background so page content can't bleed through it while scrolling. */
.pressify-header { position: static; top: auto; }
.pressify-nav { background: var(--surface); box-shadow: var(--shadow-sm); }
html[data-theme="dark"] .pressify-nav, body.pressify-dark .pressify-nav { background: #0b222e; }

/* (a) Breaking ticker: bright, legible on the dark top bar. */
.pressify-ticker { background: transparent; border: 0; box-shadow: none; }
.pressify-ticker__item, .pressify-ticker__item a { color: rgba(255,255,255,.92); }
.pressify-ticker__item a:hover { color: #fff; }

/* (b) Desktop: hide the mobile hamburger and keep the nav on a single line. */
@media (min-width: 769px) {
	.pressify-nav-toggle { display: none !important; }
	.pressify-nav__inner, .pressify-nav-menu { flex-wrap: nowrap; }
	.pressify-nav .pressify-nav-menu > li > a { padding: .5rem .68rem; font-size: .9rem; white-space: nowrap; }
}
@media (min-width: 769px) and (max-width: 1120px) {
	.pressify-nav .pressify-nav-menu > li > a { padding: .45rem .5rem; font-size: .84rem; }
}

/* (c) Category / archive hero: white title + breadcrumb on the ocean header. */
.pressify-archive-header .pressify-archive-header__title,
.pressify-archive-header h1 { color: #fff; }
.pressify-archive-header .pressify-archive-header__desc,
.pressify-archive-header .pressify-archive-header__col { color: rgba(255,255,255,.92); }
.pressify-archive-header .pressify-breadcrumbs,
.pressify-breadcrumbs--archive { color: rgba(255,255,255,.78); }
.pressify-archive-header .pressify-breadcrumbs a,
.pressify-breadcrumbs--archive a { color: #fff; }
.pressify-archive-header .pressify-breadcrumbs__current,
.pressify-breadcrumbs--archive .pressify-breadcrumbs__current { color: rgba(255,255,255,.92); }

/* (d) Compact list cards (sidebars): cleaner proportions, tidy single-row meta. */
.pressify-card--list { align-items: stretch; }
.pressify-card--list .pressify-card__thumb { flex: 0 0 36%; max-width: 150px; aspect-ratio: 1/1; }
.pressify-card--list .pressify-card__body { padding: .7rem .9rem; gap: .35rem; justify-content: center; }
.pressify-card--list .pressify-card__title { font-size: 1rem; line-height: 1.28; }
.pressify-card--list .pressify-card__category { font-size: .62rem; padding: .26rem .55rem; }
.pressify-card--list .pressify-meta__avatar { display: none; }
.pressify-card--list .pressify-card__meta { font-size: .74rem; display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .45rem; }

/* (e) Footer popular-post numbers: small, clean teal chips. */
.pressify-popular-posts__num {
	width: 1.55rem; height: 1.55rem; min-width: 1.55rem; padding: 0;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: .78rem; font-weight: 700; line-height: 1;
	color: var(--c-teal-400); background: rgba(20,163,179,.16);
	border: 1px solid rgba(20,163,179,.4); border-radius: 50%;
}

/* (f) Floating social-share: icon stays white & visible on hover. */
.pressify-social-share__btn:hover { background: var(--c-ocean-600); color: #fff; border-color: var(--c-ocean-600); }
.pressify-social-share--floating .pressify-social-share__btn:hover,
.pressify-social-share--floating .pressify-social-share__btn:hover svg { color: #fff !important; }
.pressify-social-share--floating .pressify-social-share__btn:hover { background: var(--c-ocean-600) !important; }

/* (g) Table of contents: restore comfortable side padding + tidy rows. */
.pressify-toc { padding: 1rem 1.15rem; }
.pressify-toc__list a, .pressify-toc__item a { padding: .3rem .4rem; border-radius: var(--radius-sm); }
.pressify-toc__item.is-active a, .pressify-toc__item a:hover { background: var(--mist-2); }
.pressify-toc__item a::before { min-width: 1.4rem; }

/* (h) Mobile: solid sticky nav (no transparency bleed) + safe stacking. */
@media (max-width: 768px) {
	.pressify-header { position: static; background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
	.pressify-nav { background: #fff; z-index: 1000; }
	html[data-theme="dark"] .pressify-header, body.pressify-dark .pressify-header { background: #0b222e; }
	html[data-theme="dark"] .pressify-nav, body.pressify-dark .pressify-nav { background: #0b222e; }
}

/* ============================ Refinements (v5 — dark mode + contrast) ===
   Dark mode toggles `html.pressify-dark` (not data-theme), so the skin's
   earlier dark rules never fired. (A) makes the category/archive hero legible
   in every mode; (B)+(C) give the whole skin a correct dark theme.
   ====================================================================== */

/* (A) Archive / category hero — always a dark colored gradient: force light
   text, links and subcategory chips so they're readable. */
.pressify-archive-header,
.pressify-archive-header__col,
.pressify-archive-header__col--meta { color: #fff; }
.pressify-archive-header .pressify-archive-header__desc { color: rgba(255,255,255,.92); }
.pressify-archive-header .pressify-archive-header__desc a {
	color: #fff; text-decoration: underline; text-underline-offset: 2px;
	text-decoration-color: rgba(255,255,255,.55);
}
.pressify-archive-header .pressify-archive-header__desc a:hover { text-decoration-color: #fff; }
.pressify-archive-header__count { color: #fff; }
.pressify-archive-header__subcats .pressify-chip {
	color: #fff; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.26);
}
.pressify-archive-header__subcats .pressify-chip:hover { background: rgba(255,255,255,.24); color: #fff; }
.pressify-archive-header__subcats .pressify-chip__label { color: #fff; }
.pressify-archive-header__subcats .pressify-chip__count { background: rgba(0,0,0,.28); color: #fff; }

/* (B) Dark-theme tokens for the coastal skin (correct selector). */
html.pressify-dark {
	--ink: #e8eff3;
	--ink-soft: #cfdae0;
	--muted: #a2b4bd;
	--muted-2: #7e949f;
	--line: #22404f;
	--line-soft: #1a3543;
	--mist: #0c2330;
	--mist-2: #15323f;
	--surface: #112a38;
	--c-ocean-900: #eef4f7;
}

/* (C) Dark-theme component fixes (fixed ocean colors -> light/teal). */
html.pressify-dark body.pressify-body { background: var(--mist); color: var(--ink); }
html.pressify-dark .pressify-header { background: rgba(12,35,48,.92); border-bottom-color: var(--line); }
html.pressify-dark .pressify-nav { background: #0c2330; box-shadow: 0 2px 10px rgba(0,0,0,.4); }
html.pressify-dark .pressify-nav .pressify-nav-menu > li > a { color: var(--ink-soft); }
html.pressify-dark .pressify-nav .pressify-nav-menu > li > a:hover { color: #fff; background: var(--mist-2); }
html.pressify-dark .pressify-nav .pressify-nav-menu .current-menu-item > a,
html.pressify-dark .pressify-nav .pressify-nav-menu .current-cat > a { color: var(--c-teal-400); background: var(--mist-2); }
html.pressify-dark .pressify-nav-search-btn,
html.pressify-dark .pressify-dark-toggle { background: var(--surface); border-color: var(--line); color: var(--c-teal-400); }

/* Category pills / badges everywhere — readable teal chip on dark. */
html.pressify-dark .pressify-card__category,
html.pressify-dark .pressify-badge,
html.pressify-dark .pressify-hero__badge {
	background: rgba(20,163,179,.18); color: var(--c-teal-400);
}
html.pressify-dark .pressify-card__category:hover { background: var(--c-teal-500); color: #04222a; }

/* Cards / sections / "view all" */
html.pressify-dark .pressify-card { border-color: var(--line-soft); }
html.pressify-dark .pressify-card__title a { color: var(--ink); }
html.pressify-dark .pressify-home-section__all { background: var(--mist-2); color: var(--c-teal-400); }
html.pressify-dark .pressify-home-section__all:hover { background: var(--c-teal-500); color: #04222a; }

/* Post body, breadcrumbs, TOC, blockquote links in dark */
html.pressify-dark .pressify-breadcrumbs a { color: var(--c-teal-400); }
html.pressify-dark .pressify-single__entry a { color: var(--c-teal-400); border-bottom-color: rgba(67,194,207,.4); }
html.pressify-dark .pressify-single__entry a:hover { color: #6fd3dc; border-bottom-color: var(--c-teal-400); }
html.pressify-dark .pressify-single__entry blockquote { background: var(--mist-2); border-left-color: var(--c-teal-500); }
html.pressify-dark .pressify-toc { background: var(--surface); border-color: var(--line); }
html.pressify-dark .pressify-toc__title { color: var(--c-teal-400); }
html.pressify-dark .pressify-toc__list a, html.pressify-dark .pressify-toc__item a { color: var(--ink-soft); }
html.pressify-dark .pressify-toc__item.is-active a, html.pressify-dark .pressify-toc__item a:hover { background: var(--mist-2); color: var(--c-teal-400); }

/* Pagination in dark mode */
html.pressify-dark .page-numbers,
html.pressify-dark .pressify-pagination a,
html.pressify-dark .pressify-pagination span {
	background: var(--surface); color: var(--ink-soft); border-color: var(--line);
}
html.pressify-dark .page-numbers.current,
html.pressify-dark .pressify-pagination .current {
	background: var(--gradient-ocean); color: #fff; border-color: transparent;
}
html.pressify-dark .page-numbers:hover { background: var(--mist-2); color: #fff; }

/* Floating share + search results in dark */
html.pressify-dark .pressify-social-share__btn { background: var(--surface); border-color: var(--line); color: var(--c-teal-400); }
html.pressify-dark .pressify-search-result:hover, html.pressify-dark .pressify-search-result.is-active { background: var(--mist-2); }

/* =====================================================================
   NLIA mobile navigation redesign (v6) — clean dropdown panel
   Appended last so it overrides earlier mobile nav rules.
   ===================================================================== */
@media (max-width: 768px) {
	.pressify-nav__inner {
		display: flex !important;
		align-items: center;
		gap: .5rem;
		padding: .55rem 1rem;
		position: relative;
		flex-wrap: nowrap;
	}
	/* Unified round-square control buttons */
	.pressify-nav-toggle,
	.pressify-nav-search-btn,
	.pressify-dark-toggle {
		width: 42px; height: 42px;
		border-radius: 12px;
		border: 1px solid var(--line);
		background: var(--surface);
		display: inline-flex !important;
		align-items: center; justify-content: center;
		color: var(--ink);
		flex: 0 0 auto;
	}
	.pressify-nav-toggle { order: 0; flex-direction: column; gap: 5px; }
	.pressify-nav__utils { order: 5; margin-left: auto; display: flex; gap: .45rem; }

	/* Hamburger -> X animation */
	.pressify-nav-toggle__bar { display: block; width: 20px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .25s ease, opacity .2s ease; }
	.pressify-nav-toggle.is-active .pressify-nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.pressify-nav-toggle.is-active .pressify-nav-toggle__bar:nth-child(2) { opacity: 0; }
	.pressify-nav-toggle.is-active .pressify-nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	/* Menu: hidden by default, full-width dropdown panel when open */
	.pressify-nav-menu {
		order: 10; width: 100%; flex-basis: 100%;
		display: none !important;
		list-style: none; margin: 0; padding: 0;
	}
	.pressify-nav-menu.is-open {
		display: block !important;
		position: absolute; top: 100%; left: 0; right: 0; z-index: 1001;
		background: var(--surface);
		border-top: 1px solid var(--line);
		box-shadow: 0 16px 34px rgba(15,23,42,.16);
		padding: .4rem;
		max-height: 78vh; overflow-y: auto;
		animation: nliaNavSlide .2s ease;
	}
	@keyframes nliaNavSlide { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
	.pressify-nav-menu li { width: 100%; margin: 0; }
	.pressify-nav-menu > li + li { border-top: 1px solid var(--line-soft); }
	.pressify-nav-menu a {
		display: block !important; width: 100%;
		padding: .95rem 1rem !important;
		border-radius: 10px;
		font-size: 1.02rem; font-weight: 600;
		text-align: left; white-space: normal; line-height: 1.3;
	}
	.pressify-nav-menu a:hover,
	.pressify-nav-menu a:focus { background: var(--mist-2); }
	.pressify-nav-menu .current-menu-item > a,
	.pressify-nav-menu .current-cat > a { background: var(--mist-2); color: var(--c-ocean-700); }

	/* Sub-menus: static & indented inside the panel */
	.pressify-nav-menu .sub-menu {
		position: static !important; display: none;
		box-shadow: none; border: 0; margin: 0; padding: 0 0 .25rem .85rem;
		background: transparent; min-width: 0;
	}
	.pressify-nav-menu .sub-menu.is-open { display: block; }
	.pressify-nav-menu .sub-menu a { font-weight: 500; font-size: .96rem; color: var(--muted); padding: .7rem 1rem !important; }
	.pressify-nav-menu li.menu-item-has-children > a::after { float: right; }
}

/* Dark mode panel */
html.pressify-dark .pressify-nav-menu.is-open { background: #0c2330; border-top-color: var(--line); box-shadow: 0 16px 34px rgba(0,0,0,.5); }
html.pressify-dark .pressify-nav-toggle,
html.pressify-dark .pressify-nav-search-btn,
html.pressify-dark .pressify-dark-toggle { background: #0c2330; border-color: var(--line); color: var(--ink); }
html.pressify-dark .pressify-nav-toggle__bar { background: var(--ink); }
