/* =====================================================================
   Rat Terrier Advice Pro — magazine.css
   Editorial layer: header, homepage, article, archive, footer.
   Mobile-first. Loads after theme.css and refines its tokens.
   ===================================================================== */

:root {
	--mag-bg:         var(--rta-bg, #faf7f0);
	--mag-surface:    #ffffff;
	--mag-ink:        var(--rta-text, #22272a);
	--mag-muted:      var(--rta-muted, #5a6166);
	--mag-green:      var(--rta-accent, #1f4d3f);
	--mag-green-dark: #163a2f;
	--mag-green-tint: #e9f1ed;
	--mag-tan:        var(--rta-primary, #b98a4e);
	--mag-tan-ink:    #77551f;
	--mag-tan-tint:   #f6eedf;
	--mag-line:       var(--rta-line, #e6dfd2);
	--mag-radius:     14px;
	--mag-shadow:     0 1px 2px rgba(34, 39, 42, .04), 0 10px 28px rgba(34, 39, 42, .07);
	--mag-measure:    46rem;
}

html { scroll-padding-top: 88px; }
body { font-size: 17px; line-height: 1.65; color: var(--mag-ink); background: var(--mag-bg); }
h1, h2, h3, h4 { font-family: var(--rta-display); font-weight: 700; line-height: 1.18; letter-spacing: -0.01em; color: var(--mag-ink); }
a { color: var(--mag-green); }
:focus-visible { outline: 3px solid var(--mag-tan); outline-offset: 2px; border-radius: 4px; }
.skip-link:focus { z-index: 100; }
.screen-reader-text { border: 0; padding: 0; margin: -1px; white-space: nowrap; }
.rta-container { max-width: 1180px; padding: 0 20px; }
.mag-narrow { max-width: calc(var(--mag-measure) + 40px); }

/* ---------- Buttons ---------- */
.mag-btn, .rta-cta-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 46px; padding: 11px 20px; border-radius: 10px; border: 1.5px solid transparent;
	font-family: var(--rta-font); font-weight: 600; font-size: 15.5px; line-height: 1.2;
	text-decoration: none; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.mag-btn:hover, .rta-cta-btn:hover { text-decoration: none; transform: none; }
.mag-btn--primary, .rta-cta-btn--primary { background: var(--mag-green); color: #fff; }
.mag-btn--primary:hover, .rta-cta-btn--primary:hover { background: var(--mag-green-dark); color: #fff; }
.mag-btn--ghost, .rta-cta-btn--ghost { background: transparent; color: var(--mag-green); border-color: var(--mag-green); }
.mag-btn--ghost:hover, .rta-cta-btn--ghost:hover { background: var(--mag-green-tint); }
.rta-cta-btn--secondary { background: var(--mag-tan-tint); color: var(--mag-tan-ink); border-color: #e3d2b3; }
.rta-cta-btn[href*="amazon."]::after { content: "\2197"; font-size: .9em; }

/* ---------- Header ---------- */
.mag-header { background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--mag-line); position: relative; z-index: 30; }
@media (min-width: 1024px) { .mag-header { position: sticky; top: 0; } .admin-bar .mag-header { top: 32px; } }
@media (max-width: 1023px) { .admin-bar .mag-header { top: auto; } }
.mag-header__inner { display: flex; align-items: center; gap: 20px; min-height: 64px; }
.mag-brand { flex: 0 0 auto; }
.mag-brand__link { display: inline-flex; align-items: center; gap: 10px; color: var(--mag-green); text-decoration: none; }
.mag-brand__link:hover { text-decoration: none; }
.mag-brand__mark { flex: 0 0 auto; display: block; }
.mag-brand__name { font-family: var(--rta-display); font-weight: 700; font-size: 21px; letter-spacing: -0.015em; color: var(--mag-ink); white-space: nowrap; }
.mag-brand img.custom-logo { max-height: 44px; width: auto; }

.mag-nav { display: none; flex: 1 1 auto; min-width: 0; }
@media (min-width: 1024px) { .mag-nav { display: block; } }
.mag-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 4px; }
.mag-menu > li { position: relative; }
.mag-menu a { display: block; padding: 10px 11px; border-radius: 8px; color: var(--mag-ink); font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap; }
.mag-menu a:hover, .mag-menu .current-menu-item > a, .mag-menu .current-menu-ancestor > a, .mag-menu .current-category-ancestor > a { color: var(--mag-green); background: var(--mag-green-tint); text-decoration: none; }
.mag-menu .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.mag-menu .sub-menu { list-style: none; margin: 0; padding: 8px; position: absolute; left: 0; top: 100%; min-width: 220px; background: #fff; border: 1px solid var(--mag-line); border-radius: 12px; box-shadow: var(--mag-shadow); display: none; z-index: 40; }
.mag-menu li:hover > .sub-menu, .mag-menu li:focus-within > .sub-menu { display: block; }
.mag-menu .sub-menu a { font-weight: 500; }

.mag-header__actions { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.mag-icon-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--mag-line); border-radius: 10px; background: #fff; color: var(--mag-ink); cursor: pointer; }
.mag-icon-btn:hover, .mag-icon-btn[aria-expanded="true"] { border-color: var(--mag-green); color: var(--mag-green); }
@media (min-width: 1024px) { .mag-menu-toggle { display: none; } }

.mag-panel { border-top: 1px solid var(--mag-line); background: #fff; padding: 16px 0 20px; }
.mag-panel[hidden] { display: none; }
@media (min-width: 1024px) { .mag-panel--menu { display: none !important; } }
.mag-menu-mobile, .mag-menu-mobile .sub-menu { list-style: none; margin: 0; padding: 0; }
.mag-menu-mobile a { display: block; padding: 13px 4px; border-bottom: 1px solid var(--mag-line); color: var(--mag-ink); font-weight: 600; text-decoration: none; }
.mag-menu-mobile .sub-menu a { padding-left: 20px; font-weight: 500; color: var(--mag-muted); }

.mag-search { display: flex; gap: 8px; max-width: 640px; }
.mag-search input[type="search"] { flex: 1 1 auto; min-width: 0; min-height: 46px; padding: 10px 14px; border: 1.5px solid var(--mag-line); border-radius: 10px; font: inherit; font-size: 16px; background: #fff; color: var(--mag-ink); }
.mag-search input[type="search"]:focus { border-color: var(--mag-green); }

/* ---------- Shared bits ---------- */
.mag-eyebrow { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--mag-tan-ink); }
.mag-kicker { display: inline-block; font-size: 12.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--mag-tan-ink); text-decoration: none; }
.mag-kicker:hover { color: var(--mag-green); text-decoration: underline; }
.mag-credit { margin-top: 8px; font-size: 12.5px; color: var(--mag-muted); }
.mag-credit a { color: inherit; text-decoration: underline; }
.mag-more { font-weight: 600; font-size: 15px; white-space: nowrap; text-decoration: none; }
.mag-more::after { content: " \2192"; }
.mag-more:hover { text-decoration: underline; }

.mag-section { padding: 44px 0; }
@media (min-width: 880px) { .mag-section { padding: 60px 0; } }
.mag-section__head { margin-bottom: 24px; }
.mag-section__head--row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 24px; }
.mag-section__title { margin: 0; font-size: clamp(25px, 3.200vw, 33px); }
.mag-section__sub { margin: 8px 0 0; max-width: 44rem; color: var(--mag-muted); }

/* ---------- Hero ---------- */
.mag-hero { padding: 32px 0 36px; background: linear-gradient(180deg, #fffdf8 0%, var(--mag-bg) 100%); border-bottom: 1px solid var(--mag-line); }
@media (min-width: 980px) { .mag-hero { padding: 56px 0 60px; } }
.mag-hero__grid { display: grid; gap: 26px; align-items: center; }
@media (min-width: 980px) { .mag-hero__grid { grid-template-columns: minmax(0, 1.050fr) minmax(0, 1fr); gap: 56px; } }
.mag-hero__title { margin: 0 0 16px; font-size: clamp(34px, 5.400vw, 58px); line-height: 1.060; letter-spacing: -0.02em; }
.mag-hero__sub { margin: 0 0 24px; max-width: 34rem; font-size: clamp(17px, 1.700vw, 19.500px); color: var(--mag-muted); }
.mag-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.mag-hero__media { margin: 0; }
.mag-hero__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; box-shadow: var(--mag-shadow); background: var(--mag-tan-tint); }
@media (max-width: 979px) { .mag-hero__media img { aspect-ratio: 16 / 9; max-height: 300px; } }
.mag-hero--text .mag-hero__grid { grid-template-columns: 1fr; }

/* ---------- Cards ---------- */
.mag-grid { display: grid; gap: 26px 24px; grid-template-columns: 1fr; }
@media (min-width: 680px) { .mag-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .mag-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.mag-card { display: flex; flex-direction: column; background: var(--mag-surface); border: 1px solid var(--mag-line); border-radius: var(--mag-radius); overflow: hidden; }
.mag-card__media { display: block; aspect-ratio: 3 / 2; background: var(--mag-tan-tint); overflow: hidden; }
.mag-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.mag-card__media img.is-portrait, .mag-topic__img.is-portrait { object-position: 50% 22%; }
.mag-card:hover .mag-card__media img { transform: scale(1.030); }
.mag-card__media--empty { display: grid; place-items: center; background: linear-gradient(135deg, var(--mag-green-tint), var(--mag-tan-tint)); text-decoration: none; }
.mag-card__placeholder { padding: 0 16px; font-family: var(--rta-display); font-weight: 700; font-size: 20px; color: var(--mag-green); text-align: center; }
.mag-card__body { display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 20px; }
.mag-card__title { margin: 0; font-size: 21px; line-height: 1.220; }
.mag-card__title a { color: var(--mag-ink); text-decoration: none; }
.mag-card__title a:hover { color: var(--mag-green); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.mag-card__excerpt { margin: 0; font-size: 15.5px; line-height: 1.550; color: var(--mag-muted); }
.mag-card__meta { margin: 2px 0 0; font-size: 13px; color: var(--mag-muted); }

/* Lead + side list */
.mag-featured { padding-top: 40px; }
.mag-featured__grid { display: grid; gap: 24px; }
@media (min-width: 980px) { .mag-featured__grid { grid-template-columns: minmax(0, 1.450fr) minmax(0, 1fr); gap: 32px; } .mag-featured__grid--solo { grid-template-columns: 1fr; } }
.mag-card--lead .mag-card__media { aspect-ratio: 16 / 9; }
.mag-card--lead .mag-card__body { padding: 22px 24px 26px; gap: 10px; }
.mag-card--lead .mag-card__title { font-size: clamp(25px, 3vw, 34px); line-height: 1.140; }
.mag-card--lead .mag-card__excerpt { font-size: 17px; }
.mag-featured__side { display: grid; gap: 16px; align-content: start; }
.mag-card--row { flex-direction: row; align-items: stretch; }
.mag-card--row .mag-card__media { flex: 0 0 34%; max-width: 150px; aspect-ratio: auto; min-height: 112px; }
.mag-card--row .mag-card__body { padding: 14px 16px; gap: 6px; justify-content: center; }
.mag-card--row .mag-card__title { font-size: 18px; }
.mag-card--row .mag-card__placeholder { font-size: 14px; }

/* ---------- Topics ---------- */
.mag-topics { background: #fff; border-top: 1px solid var(--mag-line); border-bottom: 1px solid var(--mag-line); }
.mag-topics__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 620px) { .mag-topics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 980px) { .mag-topics__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.mag-topic { position: relative; display: flex; align-items: flex-end; min-height: 200px; border-radius: var(--mag-radius); overflow: hidden; background: var(--mag-green); color: #fff; text-decoration: none; isolation: isolate; }
.mag-topic__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .35s ease; }
.mag-topic::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(15, 32, 26, .05) 20%, rgba(15, 32, 26, .86) 100%); }
.mag-topic--plain::before { background: linear-gradient(135deg, var(--mag-green) 0%, var(--mag-green-dark) 100%); }
.mag-topic:hover { text-decoration: none; }
.mag-topic:hover .mag-topic__img { transform: scale(1.040); }
.mag-topic__body { display: grid; gap: 4px; padding: 18px 20px; width: 100%; }
.mag-topic__label { font-family: var(--rta-display); font-weight: 700; font-size: 23px; line-height: 1.150; color: #fff; }
.mag-topic__desc { font-size: 14.500px; line-height: 1.400; color: rgba(255, 255, 255, .92); }
.mag-topic__count { margin-top: 4px; font-size: 12.500px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #f0dcb9; }
.mag-topic:hover .mag-topic__label { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Gear / disclosure ---------- */
.mag-disclosure { margin: 0 0 24px; padding: 12px 16px; background: var(--mag-tan-tint); border: 1px solid #e3d2b3; border-radius: 10px; font-size: 14.500px; line-height: 1.500; color: #4a3a1c; }
.mag-disclosure a { color: inherit; font-weight: 600; text-decoration: underline; }
.mag-disclosure--inline { margin: 24px 0 0; background: transparent; border-style: dashed; }
.mag-note { margin: 0 0 24px; padding: 12px 16px; background: var(--mag-green-tint); border: 1px solid #c9ddd3; border-radius: 10px; font-size: 14.500px; line-height: 1.500; color: #17382d; }

/* ---------- Start here + tools ---------- */
.mag-start { background: #fff; border-top: 1px solid var(--mag-line); border-bottom: 1px solid var(--mag-line); }
.mag-start__grid { display: grid; gap: 40px; }
@media (min-width: 980px) { .mag-start__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; } }
.mag-steps { list-style: none; counter-reset: step; margin: 0; padding: 0; display: grid; gap: 10px; }
.mag-steps li { counter-increment: step; }
.mag-steps a { display: flex; align-items: center; gap: 14px; padding: 13px 16px; background: var(--mag-bg); border: 1px solid var(--mag-line); border-radius: 12px; color: var(--mag-ink); font-weight: 600; text-decoration: none; }
.mag-steps a::before { content: counter(step); flex: 0 0 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--mag-green); color: #fff; font-size: 14px; font-weight: 700; }
.mag-steps a:hover { border-color: var(--mag-green); color: var(--mag-green); }
.mag-tools { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .mag-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mag-tool { display: grid; gap: 3px; height: 100%; padding: 14px 16px; background: var(--mag-bg); border: 1px solid var(--mag-line); border-radius: 12px; text-decoration: none; }
.mag-tool:hover { border-color: var(--mag-green); text-decoration: none; }
.mag-tool__label { font-weight: 700; color: var(--mag-ink); }
.mag-tool:hover .mag-tool__label { color: var(--mag-green); }
.mag-tool__desc { font-size: 14px; line-height: 1.450; color: var(--mag-muted); }

/* ---------- FAQ + trust ---------- */
.rta-section--faq { padding: 44px 0; }
.rta-section--faq .rta-container { max-width: calc(var(--mag-measure) + 40px); }
.rta-faq-item { border-color: var(--mag-line); border-radius: 12px; }
.rta-faq-item summary { position: relative; padding-right: 28px; font-family: var(--rta-font); font-size: 17px; }
.rta-faq-item summary::after { content: "+"; position: absolute; right: 2px; top: -2px; font-size: 22px; font-weight: 500; color: var(--mag-green); }
.rta-faq-item[open] summary::after { content: "\2212"; }
.mag-trust { padding-top: 20px; }
.mag-trust__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 680px) { .mag-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .mag-trust__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mag-trust__item { padding: 18px 20px; background: #fff; border: 1px solid var(--mag-line); border-left: 4px solid var(--mag-green); border-radius: 12px; }
.mag-trust__item h3 { margin: 0 0 6px; font-size: 18px; }
.mag-trust__item p { margin: 0; font-size: 15px; line-height: 1.550; color: var(--mag-muted); }

/* ---------- Breadcrumbs ---------- */
.mag-crumbs { margin: 0 0 16px; font-size: 13.500px; color: var(--mag-muted); }
.mag-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px 0; }
.mag-crumbs li + li::before { content: "/"; margin: 0 8px; color: #b9b1a2; }
.mag-crumbs a { color: var(--mag-muted); text-decoration: underline; text-decoration-color: #cfc7b8; text-underline-offset: 3px; }
.mag-crumbs a:hover { color: var(--mag-green); }
.mag-crumbs [aria-current] { color: var(--mag-ink); }

/* ---------- Article ---------- */
.mag-article__header, .mag-page__header { padding: 30px 0 4px; }
@media (min-width: 880px) { .mag-article__header, .mag-page__header { padding-top: 44px; } }
.mag-article__title, .mag-page__title { margin: 8px 0 14px; font-size: clamp(31px, 4.600vw, 48px); line-height: 1.100; letter-spacing: -0.02em; }
.mag-article__dek { margin: 0 0 18px; font-size: clamp(18px, 2vw, 21px); line-height: 1.500; color: var(--mag-muted); }
.mag-meta { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0 0 24px; font-size: 14px; color: var(--mag-muted); }
.mag-meta__item + .mag-meta__item::before { content: "\00B7"; margin: 0 9px; }
.mag-meta a { color: var(--mag-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.mag-article__hero { margin: 0 auto 30px; max-width: 1000px; }
.mag-article__hero img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 16px; background: var(--mag-tan-tint); }
.mag-article__hero img.is-portrait { object-position: 50% 25%; }

.mag-toc { margin: 0 0 30px; padding: 16px 20px; background: #fff; border: 1px solid var(--mag-line); border-radius: 12px; }
.mag-toc summary { font-weight: 700; cursor: pointer; }
.mag-toc ol { margin: 12px 0 2px; padding-left: 22px; display: grid; gap: 6px; font-size: 16px; }
.mag-toc a { text-decoration: underline; text-decoration-color: #b9cfc5; text-underline-offset: 3px; }

.mag-prose { font-size: 18px; line-height: 1.750; overflow-wrap: break-word; }
.mag-prose > * { max-width: 100%; }
.mag-prose p { margin: 0 0 1.250em; }
.mag-prose h2 { margin: 1.900em 0 .600em; font-size: clamp(25px, 3vw, 31px); }
.mag-prose h3 { margin: 1.600em 0 .500em; font-size: clamp(20px, 2.300vw, 23px); }
.mag-prose h4 { margin: 1.400em 0 .400em; font-family: var(--rta-font); font-size: 17px; letter-spacing: 0; }
.mag-prose ul, .mag-prose ol { margin: 0 0 1.250em; padding-left: 1.350em; }
.mag-prose li { margin-bottom: .450em; }
.mag-prose li::marker { color: var(--mag-green); }
.mag-prose a { color: var(--mag-green); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.mag-prose a:hover { color: var(--mag-green-dark); text-decoration-thickness: 2.500px; }
.mag-prose a[rel~="sponsored"]:not(.rta-cta-btn):not(.rta-related-card)::after { content: " \2197"; font-size: .85em; }
.mag-prose a.rta-cta-btn, .mag-prose a.rta-related-card { text-decoration: none; }
.mag-prose a.rta-cta-btn--primary { color: #fff; }
.mag-prose blockquote { margin: 1.600em 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--mag-tan); color: #3b4246; font-style: italic; }
.mag-prose figure { margin: 1.800em 0; }
.mag-prose figure img { border-radius: 12px; }
.mag-prose figcaption { margin-top: 8px; font-size: 13.500px; color: var(--mag-muted); }
.mag-prose hr { border: 0; border-top: 1px solid var(--mag-line); margin: 2.200em 0; }

.mag-table-wrap { margin: 0 0 1.500em; overflow-x: auto; border: 1px solid var(--mag-line); border-radius: 12px; background: #fff; -webkit-overflow-scrolling: touch; }
.mag-prose table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15.500px; line-height: 1.500; }
.mag-prose th, .mag-prose td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--mag-line); }
.mag-prose thead th { background: var(--mag-green-tint); color: #17382d; font-size: 13.500px; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.mag-prose tbody th { font-weight: 700; color: var(--mag-ink); }
.mag-prose tbody tr:last-child > * { border-bottom: 0; }

/* Editorial blocks used inside articles */
.mag-key { margin: 0 0 1.700em; padding: 18px 22px; background: var(--mag-green-tint); border: 1px solid #c9ddd3; border-radius: 12px; }
.mag-key > :first-child { margin-top: 0; }
.mag-key > :last-child { margin-bottom: 0; }
.mag-key__title { margin: 0 0 8px; font-family: var(--rta-font); font-size: 13.500px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #17382d; }
.mag-key ul { margin-bottom: 0; }
.mag-callout, .mag-prose .rta-callout { margin: 0 0 1.500em; padding: 14px 18px; background: var(--mag-tan-tint); border: 1px solid #e3d2b3; border-left: 4px solid var(--mag-tan); border-radius: 10px; font-size: 16.500px; line-height: 1.600; color: #3f3219; }
.mag-callout > :last-child { margin-bottom: 0; }
.mag-callout--vet { background: #fdf1ee; border-color: #f0cfc6; border-left-color: #b4452c; color: #4c2117; }
.mag-next { margin: 2em 0 0; padding: 20px 22px; background: #fff; border: 1px solid var(--mag-line); border-radius: 12px; }
.mag-next h2, .mag-next h3 { margin-top: 0; font-size: 22px; }
.mag-next ul { margin-bottom: 0; }
.mag-sources { margin-top: 2.200em; padding-top: 1.400em; border-top: 1px solid var(--mag-line); font-size: 15.500px; line-height: 1.600; color: var(--mag-muted); }
.mag-sources h2 { margin-top: 0; font-size: 20px; }
.mag-sources li { margin-bottom: .350em; }

/* Product-type cards and shop call to action */
.mag-prose .rta-product-grid { margin: 0 0 1.600em; gap: 16px; }
@media (min-width: 1024px) { .mag-prose .rta-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rta-product-box { border-color: var(--mag-line); border-radius: var(--mag-radius); box-shadow: none; font-size: 15.500px; line-height: 1.550; }
.mag-prose .rta-product-box { margin: 0 0 1.400em; }
.mag-prose .rta-product-grid .rta-product-box { margin: 0; }
.rta-product-box-header h3 { margin: 6px 0 0; font-size: 21px; }
.rta-product-box-proscons { gap: 14px; }
@media (max-width: 480px) { .rta-product-box-proscons { grid-template-columns: 1fr; } }
.rta-product-box-proscons h4 { margin: 0 0 6px; font-family: var(--rta-font); color: var(--mag-muted); }
.rta-product-box-proscons ul { padding-left: 18px; font-size: 14.500px; }
.rta-product-box-note { background: var(--mag-tan-tint); border-color: #e3d2b3; color: #4a3a1c; }
.rta-chip--stage { background: var(--mag-tan-tint); border-color: #e3d2b3; color: var(--mag-tan-ink); }
.rta-affiliate-note { font-size: 12.500px; }
.rta-affiliate-strip { font-size: 13.500px; border-color: #d9cfbd; }
.mag-shop-cta { display: grid; gap: 16px; align-items: center; margin: 2em 0; padding: 22px 24px; background: #fff; border: 1px solid var(--mag-line); border-top: 4px solid var(--mag-green); border-radius: var(--mag-radius); }
@media (min-width: 720px) { .mag-shop-cta { grid-template-columns: minmax(0, 1fr) auto; gap: 28px; } }
.mag-shop-cta p { margin: 0; }
.mag-shop-cta__title { font-family: var(--rta-display); font-weight: 700; font-size: 22px; line-height: 1.200; margin-bottom: 6px !important; }
.mag-shop-cta__text { font-size: 15.500px; line-height: 1.550; color: var(--mag-muted); }
.mag-shop-cta__action { display: grid; gap: 8px; justify-items: start; }
.mag-shop-cta__note { max-width: 260px; font-size: 12.500px; line-height: 1.400; color: var(--mag-muted); }

.mag-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; }
.mag-tags a { padding: 5px 12px; background: #fff; border: 1px solid var(--mag-line); border-radius: 999px; font-size: 13.500px; color: var(--mag-ink); text-decoration: none; }
.mag-author { margin: 36px 0 8px; padding: 22px 24px; background: #fff; border: 1px solid var(--mag-line); border-radius: var(--mag-radius); font-size: 15.500px; line-height: 1.600; }
.mag-author p { margin: 0 0 8px; }
.mag-author__label { font-size: 12.500px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mag-tan-ink); }
.mag-author__name { font-family: var(--rta-display); font-weight: 700; font-size: 21px; color: var(--mag-ink); }
.mag-author__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0 !important; font-weight: 600; }
.mag-related { margin-top: 40px; background: #fff; border-top: 1px solid var(--mag-line); }

/* ---------- Pages ---------- */
.mag-page { padding-bottom: 48px; }
.mag-article { padding-bottom: 8px; }
.mag-page .rta-section { padding: 28px 0; }
.mag-page .rta-section .rta-container, .mag-prose .rta-section .rta-container { padding: 0; }
.mag-prose .rta-section { padding: 18px 0; }
.mag-prose .rta-injected-tool { margin-top: 1em; }

/* ---------- Archives ---------- */
.mag-archive__header { padding: 30px 0 30px; background: #fff; border-bottom: 1px solid var(--mag-line); }
@media (min-width: 880px) { .mag-archive__header { padding: 44px 0 40px; } }
.mag-archive__title { margin: 0 0 10px; font-size: clamp(31px, 4.400vw, 46px); letter-spacing: -0.02em; }
.mag-archive__desc { margin: 0 0 6px; max-width: 46rem; font-size: 18px; color: var(--mag-muted); }
.mag-archive__header .mag-search { margin-top: 18px; }
.mag-archive__body { padding-top: 36px; padding-bottom: 56px; }
.mag-archive__body > .mag-section__title { margin-bottom: 20px; }
.mag-chips { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mag-chips a { display: inline-block; padding: 8px 15px; background: var(--mag-bg); border: 1px solid var(--mag-line); border-radius: 999px; font-size: 14.500px; font-weight: 600; color: var(--mag-ink); text-decoration: none; }
.mag-chips a:hover { border-color: var(--mag-green); color: var(--mag-green); }
.mag-empty { padding: 12px 0 24px; }
.mag-pagination, .navigation.pagination { margin: 36px 0 0; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.navigation.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 14px; background: #fff; border: 1px solid var(--mag-line); border-radius: 10px; font-weight: 600; color: var(--mag-ink); text-decoration: none; }
.navigation.pagination .page-numbers.current { background: var(--mag-green); border-color: var(--mag-green); color: #fff; }
.navigation.pagination a.page-numbers:hover { border-color: var(--mag-green); color: var(--mag-green); }

/* ---------- Image credits table ---------- */
.mag-credits td:first-child { min-width: 150px; }
.mag-credits img { width: 96px; height: 72px; object-fit: cover; border-radius: 8px; margin-bottom: 6px; }
.mag-credits__title { display: block; font-size: 13px; color: var(--mag-muted); }

/* ---------- Footer ---------- */
.mag-footer { margin-top: 0; padding: 52px 0 26px; background: #14261f; color: #dfe8e3; font-size: 15px; line-height: 1.600; }
.mag-footer a { color: #f3f7f5; text-decoration: none; }
.mag-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.mag-footer__grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
@media (min-width: 620px) { .mag-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 980px) { .mag-footer__grid { grid-template-columns: 1.600fr 1fr 1fr 1fr; gap: 44px; } }
.mag-footer__name { margin: 0 0 10px; font-family: var(--rta-display); font-weight: 700; font-size: 23px; color: #fff; }
.mag-footer__tagline { margin: 0 0 14px; color: #c5d3cc; }
.mag-footer__aff { margin: 0; padding: 12px 14px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); border-radius: 10px; font-size: 14px; color: #dfe8e3; }
.mag-footer__aff a { text-decoration: underline; }
.mag-footer__title { margin: 0 0 12px; font-family: var(--rta-font); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #e6c891; }
.mag-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.mag-footer__col li a { display: inline-block; padding: 5px 0; }
.mag-footer__note { margin: 36px 0 0; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 13.500px; color: #b9c8c0; }
.mag-footer__note strong { color: #f3f7f5; }
.mag-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; margin-top: 18px; font-size: 13px; color: #a9bab1; }
.mag-footer__bottom p { margin: 0; }

/* ---------- Print ---------- */
@media print {
	.mag-header, .mag-footer, .mag-related, .mag-toc, .rta-sticky-cta, .mag-shop-cta { display: none !important; }
	body { background: #fff; font-size: 12pt; }
}
