/* Pikkuvihreä 2027 — Phase 4: articles and blog index (design 4a–4e).
 * Loaded on single posts and the blog index, after pv2027-catalog.css (breadcrumb,
 * chips, 2027 product card). The parent styles posts through
 * ".post-template-default #primary …" (green underlined links, 300 weight, bullets),
 * so rules here start from "#primary.pv-art" / "#primary.pv-blog" to win cleanly.
 */
#primary.pv-art, #primary.pv-blog { margin: 0 !important; font: 400 16px/1.6 var(--pv-font); color: #000; }
.single-post #masthead.pv-header, .blog #masthead.pv-header { margin-bottom: 0; }
#primary.pv-art ul li::before, #primary.pv-blog ul li::before, #primary.pv-art ol li::before, #primary.pv-blog ol li::before { content: none !important; }
#primary.pv-art a, #primary.pv-blog a { text-decoration: none; }
#primary.pv-art :focus-visible, #primary.pv-blog :focus-visible { outline: 3px solid var(--pv-green-dark); outline-offset: 2px; }
#primary.pv-art .pv-crumbs a, #primary.pv-blog .pv-crumbs a { color: var(--pv-green-dark); text-decoration: underline; }
.pv-tag { display: inline-block; background: var(--pv-beige); color: #000; font: 500 12px var(--pv-font); padding: 5px 10px; }

/* ---- head: title, summary, meta | image ---- */
.pv-art__head { padding-top: 18px; padding-bottom: 40px; }
.pv-art__head .pv-crumbs { margin-bottom: 24px; }
.pv-art__hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: center; }
.pv-art__hero.has-img { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.pv-art__intro { display: flex; flex-direction: column; gap: 16px; }
.pv-art__topic { margin: 0; }
#primary.pv-art .pv-art__title { font: 700 52px/1.1 var(--pv-font) !important; letter-spacing: -1.4px; color: var(--pv-green-dark); margin: 0 !important; padding: 0 !important; text-align: left; }
.pv-art__summary { font: 400 20px/1.55 var(--pv-font); margin: 0; max-width: 640px; }
.pv-art__meta { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; border-top: 1px solid #E3E3E3; padding-top: 16px; font: 500 13px var(--pv-font); color: #333; }
.pv-art__meta i { color: var(--pv-green-dark); margin-right: 6px; }
.pv-art__by { display: inline-flex; gap: 12px; align-items: center; }
.pv-art__by > span { display: flex; flex-direction: column; }
.pv-art__by strong { font-weight: 600; color: #000; }
.pv-art__by small { font-size: 12px; color: #555; }
.pv-art__avatar { width: 44px; height: 44px; object-fit: cover; display: block; }
.pv-art__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }

/* ---- 3 columns ---- */
.pv-art__grid { display: grid; grid-template-columns: minmax(0, 720px); justify-content: center; gap: 40px; padding-bottom: 56px; }
.pv-art__grid.has-toc { grid-template-columns: 220px minmax(0, 720px); justify-content: space-between; }
.pv-art__grid.has-aside { grid-template-columns: minmax(0, 720px) 290px; justify-content: space-between; }
.pv-art__grid.has-toc.has-aside { grid-template-columns: 220px minmax(0, 720px) 290px; }

/* table of contents */
.pv-toc { position: sticky; top: 20px; align-self: start; font: 400 13px/1.45 var(--pv-font); }
.admin-bar .pv-toc { top: 52px; }
.pv-toc__toggle { display: none; }
.pv-toc__head { display: flex; justify-content: space-between; font: 700 12px var(--pv-font); letter-spacing: .6px; text-transform: uppercase; margin: 0 0 12px; }
.pv-toc__head span + span { font-weight: 400; text-transform: none; color: #555; letter-spacing: 0; }
.pv-toc__list { list-style: none; margin: 0 0 18px; padding: 0; border-left: 2px solid #E3E3E3; }
.pv-toc__list li { margin: 0; padding: 0; }
#primary.pv-art .pv-toc__list a { display: block; padding: 7px 0 7px 12px; margin-left: -2px; border-left: 2px solid transparent; color: #333; }
#primary.pv-art .pv-toc__list a:hover { color: var(--pv-green-dark); text-decoration: underline; }
#primary.pv-art .pv-toc__list a.is-active { border-left-color: var(--pv-green-dark); color: var(--pv-green-dark); font-weight: 600; }
#primary.pv-art .pv-toc__top { color: var(--pv-green-dark); font: 600 13px var(--pv-font); text-decoration: underline; display: inline-flex; gap: 6px; align-items: center; }
.pv-tocfab { display: none; }

/* ---- body typography ---- */
.pv-art__body { min-width: 0; font: 400 18px/1.75 var(--pv-font); }
.pv-art__body > * + * { margin-top: 28px; }
.pv-art__body p { margin: 0 0 18px; }
.pv-art__body ul, .pv-art__body ol:not(.pv-iwp__list) { margin: 0 0 18px; padding-left: 24px; }
.pv-art__body ul { list-style: disc; }
.pv-art__body li { margin: 0 0 8px; }
#primary.pv-art .pv-art__body a:not(.pv-btn):not(.button) { color: var(--pv-green-dark); text-decoration: underline; }
#primary.pv-art .pv-art__body a:not(.pv-btn):not(.button):hover { color: #000; }
#primary.pv-art .pv-art__body h2 { font: 700 28px/1.25 var(--pv-font) !important; letter-spacing: -.4px; color: var(--pv-green-dark) !important; margin: 44px 0 14px !important; text-align: left; scroll-margin-top: 24px; }
#primary.pv-art .pv-art__body h1 { font: 700 28px/1.25 var(--pv-font) !important; color: #000; border-top: 2px solid #000; padding: 22px 0 0 !important; margin: 44px 0 14px !important; text-align: left; }
#primary.pv-art .pv-art__body h3, #primary.pv-art .pv-art__body h4, #primary.pv-art .pv-art__body h5 { font: 700 18px/1.35 var(--pv-font) !important; color: #000; margin: 28px 0 10px !important; text-transform: none; text-align: left; }
.pv-art__body img { max-width: 100%; height: auto; }
.pv-art__body iframe { width: 100% !important; max-width: 100%; height: auto !important; aspect-ratio: 16 / 9; display: block; border: 0; }
.pv-art__body table { width: 100% !important; height: auto !important; border-collapse: collapse; font-size: 16px; }
.pv-art__body td, .pv-art__body th { width: auto !important; height: auto !important; border-bottom: 1px solid #E3E3E3; padding: 8px 10px 8px 0; vertical-align: top; }
.pv-art__body .wp-caption, .pv-art__body figure { max-width: 100% !important; margin: 0; }
.pv-art__body .wp-caption-text, .pv-art__body figcaption { font: 400 13px/1.45 var(--pv-font); color: #444; margin-top: 8px; }
.pv-art__lead, .pv-art__lead p { font: 400 20px/1.55 var(--pv-font); }

/* two columns (mostly two images) */
.pv-art__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
/* [caption] writes style="width:640px" on the figure; it must not widen the column */
.pv-art__body .wp-caption { width: auto !important; }
.pv-art__col > *:last-child { margin-bottom: 0; }
.pv-art__col img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.pv-art__col p:has(> img:only-child), .pv-art__col p:has(> a:only-child > img) { margin: 0; }

/* highlight boxes (hl_box: quote / tip / CTA; hl_box_bg on a photo) */
.pv-hlbox { background: var(--pv-beige); padding: 26px 30px; font-size: 17px; }
.pv-hlbox > *:last-child { margin-bottom: 0 !important; }
.pv-hlbox.is-quote { position: relative; padding-left: 64px; }
.pv-hlbox.is-quote::before { content: "\201C"; position: absolute; left: 24px; top: 8px; font: 700 54px/1 Georgia, serif; color: var(--pv-green-dark); }
#primary.pv-art .pv-hlbox.is-quote h5 { font: 600 22px/1.4 var(--pv-font) !important; color: var(--pv-green-dark); margin: 0 !important; }
.pv-hlbox.is-tip::before { content: "Tips"; display: block; font: 700 12px var(--pv-font); letter-spacing: .8px; text-transform: uppercase; color: var(--pv-green-dark); margin-bottom: 8px; }
/* White on green (review #26): ".pv-art__body a:not(.pv-btn):not(.button)" is more
   specific than ".pv-hlbox.is-cta a" and painted the label green on green. */
#primary.pv-art .pv-art__body .pv-hlbox.is-cta a:not(.pv-btn):not(.button), #primary.pv-art .pv-hlbox.is-cta a { display: inline-flex; align-items: center; gap: 8px; background: var(--pv-green-ink); color: #fff !important; text-decoration: none !important; font: 700 15px var(--pv-font); padding: 13px 20px; margin-top: 4px; }
#primary.pv-art .pv-art__body .pv-hlbox.is-cta a:not(.pv-btn):not(.button):hover, #primary.pv-art .pv-hlbox.is-cta a:hover { background: var(--pv-green-dark); color: #fff !important; }
#primary.pv-art .pv-hlbox.is-cta a * { color: #fff !important; }
.pv-hlbox.is-photo { background-size: cover; background-position: center; padding: 0; }
.pv-hlbox.is-photo > div { background: rgba(51, 95, 42, .88); color: #fff; padding: 36px; }
#primary.pv-art .pv-hlbox.is-photo, #primary.pv-art .pv-hlbox.is-photo > div *, #primary.pv-art .pv-art__body .pv-hlbox.is-photo a:not(.pv-btn):not(.button) { color: #fff !important; }

/* pros / cons */
.pv-proscons { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #DADADA; margin: 0 0 18px; }
.pv-proscons__col { padding: 18px 20px; font-size: 15px; line-height: 1.5; }
.pv-proscons__col + .pv-proscons__col { border-left: 1px solid #DADADA; }
.pv-proscons__h { font: 700 15px var(--pv-font) !important; display: flex; gap: 8px; align-items: center; margin: 0 0 6px !important; }
.pv-proscons__col.is-pro .pv-proscons__h { color: var(--pv-green-dark); }
#primary.pv-art .pv-proscons ul { list-style: none; margin: 0; padding: 0; }
.pv-proscons li { padding: 9px 0; margin: 0 !important; border-top: 1px solid #ECECEC; }

/* product rail (prod_slider) */
.pv-art-rail { border-top: 2px solid #000; padding-top: 20px; }
.pv-art-rail__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
#primary.pv-art .pv-art-rail__head h2 { margin: 0 !important; font-size: 24px !important; }
.pv-art-rail__nav { display: flex; gap: 8px; flex: none; }
.pv-art-rail__nav[hidden] { display: none; }
/* The parent paints every <button> green with white text: the arrows were invisible (review #15). */
#primary.pv-art .pv-art-rail__nav button { width: 40px !important; min-width: 0 !important; max-width: none !important; height: 40px !important; padding: 0 !important; margin: 0 !important; border: 1px solid #CFCFCF !important; border-radius: 0 !important; background: #fff !important; color: #000 !important; box-shadow: none !important; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
#primary.pv-art .pv-art-rail__nav button:hover { border-color: var(--pv-green-dark) !important; color: var(--pv-green-dark) !important; }
.pv-grid--rail { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px !important; scrollbar-width: thin; padding-bottom: 8px !important; }
/* Equal cards (review #15): a fixed share of the rail, and a long title may not widen its card. */
.pv-grid--rail > .pv-card { flex: 0 0 calc((100% - 32px) / 3) !important; width: calc((100% - 32px) / 3) !important; min-width: 0 !important; scroll-snap-align: start; }
#primary.pv-art .pv-art__body .pv-card__title { font: 600 15px/1.4 var(--pv-font) !important; letter-spacing: 0 !important; color: #000 !important; margin: 0 !important; scroll-margin-top: 0; overflow-wrap: anywhere; }
#primary.pv-art .pv-art__body .pv-card__title a { color: #000 !important; text-decoration: none !important; }
#primary.pv-art .pv-art__body .pv-card__price .b2bking_b2b_price_text, #primary.pv-art .pv-art__body .pv-card__price .b2bking_b2b_price_price { font-size: 12px; }
#primary.pv-art .pv-card a { text-decoration: none; }
#primary.pv-art .pv-card .pv-card__title a { color: #000; }
.pv-art__body .pv-card ul { padding: 0; list-style: none; margin: 0; }
.pv-art__body .pv-card li { margin: 0; }
.pv-art__body .pv-card { font-size: 14px; line-height: 1.4; }

/* image with product hotspots */
.pv-iwp { margin: 0; }
.pv-iwp .iwprods-inner { max-width: none; }
.pv-iwp .prod-btn { background: var(--pv-green-ink); width: 36px; height: 36px; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.3); }
.pv-iwp .prod-btn::after { content: attr(data-n); font: 700 15px/30px var(--pv-font); width: 30px; height: 30px; }
.pv-iwp .prod-btn.active { background: #000; }
.pv-iwp .prod-btn.active::after { content: attr(data-n); }
.pv-iwp .prod-box { width: 250px; min-height: 0; padding: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.25); }
#primary.pv-art .pv-iwp__box { display: grid; grid-template-columns: 64px 1fr; gap: 10px; align-items: center; color: #000; text-decoration: none; font: 400 13px/1.35 var(--pv-font); }
.pv-iwp__box img { width: 64px; height: 64px; object-fit: cover; }
.pv-iwp__box strong { display: block; font-weight: 600; }
.pv-iwp__price { display: block; font-weight: 700; }
.pv-iwp__list { list-style: none; margin: 12px 0 0; padding: 0; display: none; }
#primary.pv-art .pv-iwp__list a { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid #ECECEC; color: #000; text-decoration: none; font-size: 15px; }
.pv-iwp__list .pv-iwp__price { margin-left: auto; }
.pv-iwp__n { width: 26px; height: 26px; flex: none; background: var(--pv-green-ink); color: #fff; font: 700 13px/26px var(--pv-font); text-align: center; border-radius: 50%; }

/* recommender embed in the body */
/* the tool brings its own panel and opening (design 6i/6j) */
.pv-art-rec { scroll-margin-top: 24px; }
.pv-art-rec .pvrec { margin: 0; }
@media (max-width: 991px) { .pv-art-rec .pvrec { margin: 0 -4px; } }

/* contact-request forms (review #16, #27): "Jätä yhteydenottopyyntö" + "Jätä soittopyyntö"
   in two columns — CF7 markup from the parent:
   span.form-wrap > label > (i.fal + span > input) + button.wpcf7-submit */
.pv-art__cols.is-forms { gap: 32px; align-items: end; background: var(--pv-beige); padding: 26px 28px 28px; }
#primary.pv-art .pv-art__cols.is-forms h2 { font-size: 21px !important; line-height: 1.25 !important; margin: 0 0 12px !important; color: var(--pv-green-dark) !important; letter-spacing: -.2px; }
.pv-art__cols.is-forms p { margin: 0; }
.pv-art__cols.is-forms strong { font-weight: inherit; }
.pv-art__cols.is-forms .contact-request-form-wrap, .pv-art__cols.is-forms .wpcf7, .pv-art__cols.is-forms form { width: 100%; max-width: none; margin: 0; }
.pv-art__cols.is-forms .spinner-border { display: none; }
.pv-art__body .form-wrap { display: flex !important; align-items: stretch; width: 100%; max-width: none !important; position: relative; margin: 0 !important; padding: 0 !important; }
.pv-art__body .form-wrap > label { position: relative; flex: 1 1 auto; min-width: 0; margin: 0 !important; padding: 0 !important; display: block; width: auto !important; }
.pv-art__body .form-wrap > label > i { position: absolute !important; left: 14px !important; top: 50% !important; transform: translateY(-50%) !important; margin: 0 !important; color: var(--pv-green-dark); font-size: 16px; z-index: 1; pointer-events: none; }
.pv-art__body .form-wrap .wpcf7-form-control-wrap { display: block; }
#primary.pv-art .pv-art__body .form-wrap input.wpcf7-form-control { width: 100% !important; height: 52px !important; margin: 0 !important; padding: 0 12px 0 42px !important; border: 1px solid #8A8A8A !important; border-right: 0 !important; border-radius: 0 !important; background: #fff !important; font: 400 15px var(--pv-font) !important; box-shadow: none !important; }
#primary.pv-art .pv-art__body .form-wrap .wpcf7-submit { position: static !important; transform: none !important; flex: none; width: auto !important; min-width: 0 !important; max-width: none !important; height: 52px !important; margin: 0 !important; padding: 0 20px !important; border: 0 !important; border-radius: 0 !important; background: var(--pv-green-ink) !important; color: #fff !important; font: 700 15px var(--pv-font) !important; white-space: nowrap; box-shadow: none !important; cursor: pointer; }
#primary.pv-art .pv-art__body .form-wrap .wpcf7-submit:hover { background: var(--pv-green-dark) !important; }
.pv-art__body .wpcf7-spinner { position: absolute; right: 8px; top: -26px; margin: 0; }
.pv-art__body .wpcf7-response-output { margin: 10px 0 0 !important; padding: 8px 12px !important; font-size: 14px; border-radius: 0; }
.pv-art__body .wpcf7-not-valid-tip { font-size: 13px; margin-top: 4px; }

/* contact forms ([contact_email], [contact_phone]) */
.pv-art__body input[type="text"], .pv-art__body input[type="email"], .pv-art__body input[type="tel"], .pv-art__body textarea { width: 100%; height: 50px; border: 1px solid #8A8A8A; border-radius: 0; padding: 0 14px; font: 400 16px var(--pv-font); background: #fff; }
.pv-art__body textarea { height: auto; padding: 12px 14px; }
.pv-art__body input:focus, .pv-art__body textarea:focus { outline: 2px solid var(--pv-green-dark); outline-offset: 0; border-color: var(--pv-green-dark); }
.pv-art__body input[type="submit"], .pv-art__body button[type="submit"] { width: 100%; height: 50px; border: 0; border-radius: 0; background: var(--pv-green-ink); color: #fff; font: 700 15px var(--pv-font); cursor: pointer; }
.pv-art__body input[type="submit"]:hover { background: var(--pv-green-dark); }

/* author + about */
.pv-author { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; border-top: 2px solid #000; padding-top: 24px; margin-top: 48px !important; font-size: 15px; line-height: 1.55; }
.pv-author:not(:has(.pv-author__img)) { grid-template-columns: minmax(0, 1fr); }
.pv-author__img { width: 150px; height: 150px; object-fit: cover; display: block; }
.pv-author .pv-eyebrow { margin: 0 0 4px; }
.pv-author__name { font: 700 20px var(--pv-font); margin: 0 0 2px !important; }
.pv-author__role { color: var(--pv-green-dark); margin: 0 0 8px !important; }
.pv-author__note { margin: 0 !important; font-size: 14px; color: #333; }
.pv-about { display: grid; grid-template-columns: 220px minmax(0, 1fr); background: var(--pv-beige); }
.pv-about:not(:has(.pv-about__img)) { grid-template-columns: minmax(0, 1fr); }
.pv-about__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv-about__body { padding: 26px 30px; font-size: 15px; line-height: 1.6; }
#primary.pv-art .pv-about__body h2 { font-size: 22px !important; margin: 0 0 10px !important; }
#primary.pv-art .pv-about .pv-btn { color: #fff; text-decoration: none; margin-top: 6px; }

/* aside: recommender card + products in this article */
.pv-art__aside { display: flex; flex-direction: column; gap: 28px; position: sticky; top: 20px; align-self: start; }
.admin-bar .pv-art__aside { top: 52px; }
#primary.pv-art .pv-artrec { display: flex; flex-direction: column; background: var(--pv-beige); color: #000; text-decoration: none; }
.pv-artrec__img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.pv-artrec__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 6px; }
.pv-artrec__title { font: 700 19px/1.25 var(--pv-font); color: var(--pv-green-dark); }
.pv-artrec__text { font: 400 13px/1.5 var(--pv-font); }
.pv-artrec__cta { font: 700 14px var(--pv-font); margin-top: 4px; }
#primary.pv-art .pv-artrec:hover .pv-artrec__cta { text-decoration: underline; }
.pv-artprods__head { font: 700 12px var(--pv-font); letter-spacing: .6px; text-transform: uppercase; margin: 0 0 6px; padding-bottom: 8px; border-bottom: 2px solid #000; }
.pv-artprods ul { list-style: none; margin: 0; padding: 0; }
.pv-artprods li { margin: 0; border-bottom: 1px solid #ECECEC; }
#primary.pv-art .pv-artprods li a { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 0; color: #000; text-decoration: none; font: 400 13px/1.35 var(--pv-font); }
#primary.pv-art .pv-artprods li a:hover strong { text-decoration: underline; }
.pv-artprods__img img { width: 56px; height: 56px; object-fit: cover; display: block; background: var(--pv-grey); }
.pv-artprods strong { display: block; font-weight: 600; }
.pv-artprods__price { display: block; font-weight: 700; margin-top: 2px; }
.pv-artprods__price .b2bking_b2b_price_text, .pv-artprods__price .b2bking_b2b_price_price, .pv-artprods__price .b2bking_retail_price_text, .pv-iwp__price .b2bking_b2b_price_text, .pv-iwp__price .b2bking_b2b_price_price, .pv-iwp__price .b2bking_retail_price_text { display: none; }
#primary.pv-art .pv-artprods__all { display: inline-block; margin-top: 10px; font: 600 13px var(--pv-font); color: var(--pv-green-dark); text-decoration: underline; }

/* related + prev/next */
.pv-related { border-top: 1px solid #E3E3E3; padding-top: 40px; padding-bottom: 32px; }
.pv-related__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 22px; }
#primary.pv-art .pv-related__head h2 { font: 700 30px var(--pv-font) !important; color: var(--pv-green-dark) !important; margin: 0 !important; }
#primary.pv-art .pv-arrow-link { color: var(--pv-green-dark); text-decoration: underline; font-weight: 600; font-size: 14px; }
.pv-acards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
#primary .pv-acard a { display: flex; flex-direction: column; gap: 10px; color: #000; text-decoration: none; }
.pv-acard__img { display: block; aspect-ratio: 3 / 2; background: var(--pv-grey); overflow: hidden; }
.pv-acard__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s; }
#primary .pv-acard a:hover img { transform: scale(1.02); }
.pv-acard__meta { font: 500 12px var(--pv-font); color: #444; }
.pv-acard__title { font: 700 19px/1.3 var(--pv-font); color: var(--pv-green-dark); }
#primary .pv-acard a:hover .pv-acard__title { text-decoration: underline; }
.pv-postnav { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid #E3E3E3; padding-top: 20px; padding-bottom: 56px; }
#primary.pv-art .pv-postnav a { display: inline-flex; gap: 12px; align-items: center; color: #000; text-decoration: none; font: 600 14px/1.35 var(--pv-font); max-width: 46%; }
#primary.pv-art .pv-postnav a:hover span { text-decoration: underline; }
.pv-postnav small { display: block; font-weight: 400; font-size: 12px; color: #555; }
.pv-postnav__next { text-align: right; }
.pv-postnav i { color: var(--pv-green-dark); }
.pv-art__comments { padding-bottom: 56px; }

/* ---- blog index ---- */
.pv-blog__head { padding-top: 18px; padding-bottom: 28px; display: flex; flex-direction: column; gap: 14px; border-bottom: 2px solid #000; margin-bottom: 0; }
#primary.pv-blog .pv-blog__head h1 { font: 700 52px/1.1 var(--pv-font) !important; letter-spacing: -1.4px; color: var(--pv-green-dark); margin: 6px 0 0 !important; padding: 0; text-align: left; }
.pv-blog__intro, .pv-blog__intro p { font: 400 17px/1.6 var(--pv-font); max-width: 720px; margin: 0; }
.pv-blog__chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 6px; }
.pv-blog__chips .pv-chip { background: #fff; cursor: pointer; font-family: var(--pv-font); }
.pv-blog__chips .pv-chip span { color: #666; font-weight: 400; margin-left: 4px; }
.pv-blog__chips .pv-chip.is-active { background: var(--pv-green-dark); border-color: var(--pv-green-dark); color: #fff; font-weight: 600; }
.pv-blog__chips .pv-chip.is-active span { color: #DDEBD8; }
#primary.pv-blog .pv-blog__h2 { font: 700 26px var(--pv-font) !important; color: var(--pv-green-dark) !important; margin: 0 !important; text-align: left; }
.pv-mostread { padding-top: 32px; padding-bottom: 40px; border-bottom: 2px solid #000; }
.pv-mostread .pv-blog__h2 { margin-bottom: 20px !important; }
.pv-mostread__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px; margin-top: 20px; }
#primary.pv-blog .pv-mostread__lead { display: flex; flex-direction: column; gap: 10px; color: #000; }
.pv-mostread__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.pv-mostread__meta { display: flex; gap: 8px; align-items: center; font: 500 12px var(--pv-font); color: #444; }
.pv-mostread__lead .pv-mostread__n { width: 22px; height: 22px; background: var(--pv-green-dark); color: #fff; font: 700 12px/22px var(--pv-font); text-align: center; }
.pv-mostread__title { font: 700 26px/1.25 var(--pv-font); color: var(--pv-green-dark); }
#primary.pv-blog .pv-mostread__lead:hover .pv-mostread__title { text-decoration: underline; }
.pv-mostread__list { list-style: none; margin: 0; padding: 0; }
.pv-mostread__list li { margin: 0; border-bottom: 1px solid #E3E3E3; }
#primary.pv-blog .pv-mostread__list a { display: grid; grid-template-columns: 36px minmax(0, 1fr) 72px; gap: 16px; align-items: center; padding: 14px 0; color: #000; }
.pv-mostread__list .pv-mostread__n { font: 700 24px var(--pv-font); color: var(--pv-green-dark); }
.pv-mostread__list strong { display: block; font: 600 15px/1.35 var(--pv-font); }
.pv-mostread__list small { display: block; font: 400 12px var(--pv-font); color: #555; margin-top: 2px; }
#primary.pv-blog .pv-mostread__list a:hover strong { text-decoration: underline; }
.pv-mostread__thumb img { width: 72px; height: 54px; object-fit: cover; display: block; }
.pv-blog__all { padding-top: 32px; padding-bottom: 64px; }
.pv-blog__allhead { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 22px; }
.pv-blog__count { font: 500 13px var(--pv-font); color: #444; }
.pv-acards--blog { row-gap: 40px; }
.pv-blog__more { text-align: center; margin: 40px 0 0; }
#pv-blog-more { cursor: pointer; background: #fff; }

@media (max-width: 1199px) {
	.pv-art__grid.has-toc.has-aside { grid-template-columns: 200px minmax(0, 1fr); }
	.pv-art__grid.has-toc.has-aside .pv-art__aside { grid-column: 2; position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
	.pv-art__grid.has-aside:not(.has-toc) { grid-template-columns: minmax(0, 1fr) 260px; }
}

@media (max-width: 991px) {
	.pv-art__head { padding-bottom: 20px; }
	.pv-art__hero, .pv-art__hero.has-img { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	#primary.pv-art .pv-art__title { font-size: 30px !important; letter-spacing: -.6px; }
	.pv-art__summary { font-size: 17px; }
	.pv-art__img img { aspect-ratio: 16 / 10; }
	.pv-art__grid, .pv-art__grid.has-toc, .pv-art__grid.has-aside, .pv-art__grid.has-toc.has-aside { grid-template-columns: minmax(0, 1fr); gap: 24px; }

	/* table of contents as an accordion + a floating button */
	.pv-toc { position: static; border: 1px solid #DADADA; }
	.pv-toc__toggle { display: flex; width: 100%; justify-content: space-between; align-items: center; padding: 14px 16px; background: #fff; border: 0; font: 600 15px var(--pv-font); color: #000; cursor: pointer; }
	.pv-toc__toggle i { color: var(--pv-green-dark); }
	.pv-toc__toggle span i { margin-right: 10px; }
	.pv-toc__head { display: none; }
	.pv-toc:not(.is-open) .pv-toc__list { display: none; }
	.pv-toc__list { margin: 0 16px 14px; }
	.pv-tocfab { display: inline-flex; position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 800; gap: 8px; align-items: center; background: var(--pv-green-dark); color: #fff !important; font: 600 14px var(--pv-font); padding: 12px 16px; box-shadow: 0 4px 14px rgba(0,0,0,.25); text-decoration: none !important; }
	.pv-tocfab[hidden] { display: none; }

	.pv-art__body { font-size: 16px; line-height: 1.7; }
	#primary.pv-art .pv-art__body h2 { font-size: 22px !important; margin-top: 32px !important; }
	#primary.pv-art .pv-art__body h1 { font-size: 22px !important; }
	.pv-proscons { grid-template-columns: 1fr; }
	.pv-art__cols.is-forms { grid-template-columns: 1fr; gap: 22px; padding: 20px; }
	.pv-grid--rail > .pv-card { width: 168px !important; }
	.pv-proscons__col + .pv-proscons__col { border-left: 0; border-top: 1px solid #DADADA; }
	.pv-hlbox { padding: 20px; font-size: 16px; }
	.pv-hlbox.is-quote { padding-left: 52px; }
	.pv-grid--rail { margin: 0 -16px !important; padding: 0 16px 8px !important; }
	.pv-grid--rail > .pv-card { flex: 0 0 168px !important; }
	.pv-iwp .prod-btn { width: 30px; height: 30px; }
	.pv-iwp .prod-btn::after { font-size: 13px; line-height: 24px; width: 24px; height: 24px; }
	.pv-iwp__list { display: block; }
	.pv-author { grid-template-columns: 72px minmax(0, 1fr); gap: 16px; }
	.pv-author__img { width: 72px; height: 72px; }
	.pv-about { grid-template-columns: minmax(0, 1fr); }
	.pv-about__img img { aspect-ratio: 16 / 9; height: auto; }
	.pv-about__body { padding: 20px; }
	.pv-art__aside, .pv-art__grid.has-toc.has-aside .pv-art__aside { position: static; display: flex; }
	.pv-art__aside .pv-artprods { display: none; } /* the same products are in the body's rail */
	.pv-acards { grid-template-columns: minmax(0, 1fr); gap: 0; }
	#primary .pv-acard a { display: grid; grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 14px; row-gap: 4px; padding: 12px 0; border-bottom: 1px solid #E3E3E3; }
	.pv-acard__img { grid-row: 1 / span 2; aspect-ratio: 1 / 1; }
	.pv-acard__title { font-size: 16px; }
	.pv-acards--blog { row-gap: 0; }
	#primary.pv-art .pv-related__head h2 { font-size: 22px !important; }
	.pv-postnav { flex-direction: column; }
	#primary.pv-art .pv-postnav a { max-width: none; }

	#primary.pv-blog .pv-blog__head h1 { font-size: 32px !important; }
	.pv-blog__chips { flex-wrap: nowrap; overflow-x: auto; margin: 6px -16px 0; padding: 0 16px 4px; }
	.pv-blog__chips .pv-chip { flex: none; min-height: 44px; }
	.pv-mostread__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
	#primary.pv-blog .pv-mostread__lead { flex-direction: row; flex-wrap: wrap; gap: 6px 16px; padding: 14px 0; border-bottom: 1px solid #E3E3E3; display: grid; grid-template-columns: 36px minmax(0, 1fr); }
	.pv-mostread__lead .pv-mostread__meta { grid-column: 2; order: 2; }
	.pv-mostread__lead .pv-mostread__title { grid-column: 2; font-size: 15px; font-weight: 600; color: #000; }
	#primary.pv-blog .pv-mostread__list a { grid-template-columns: 36px minmax(0, 1fr); }
	#primary.pv-blog .pv-blog__h2 { font-size: 21px !important; }
}
