/* WordPress integration: block wrappers, admin bar, drawer, forms, archive and WooCommerce pages. */

/* Block template wrappers must not add layout. */
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.nm-part { display: contents; }

/* Sticky header below the admin bar. */
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .header { top: 0; } }

.market { text-decoration: none; }
.topbar__link { display: inline-flex; align-items: center; gap: 8px; min-width: 0; color: inherit; text-decoration: none; }
.topbar__link:hover { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.topbar__link > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* Peptides card: structure (skin in light.css). */
.peptides-card { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; margin-top: 16px; padding: 28px 32px; border-radius: 22px; overflow: hidden; isolation: isolate; text-decoration: none; transition: box-shadow .25s ease, transform .25s ease; }
.peptides-card:hover { transform: translateY(-2px); }
.peptides-card__art { position: absolute; right: 0; top: 0; bottom: 0; width: 55%; z-index: -1; }
.peptides-card__art svg { width: 100%; height: 100%; }
.peptides-card__ico { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; }
.peptides-card__ico .icon { width: 28px; height: 28px; }
.peptides-card__title { display: block; font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem); line-height: 1.1; }
.peptides-card__text { display: block; margin-top: 6px; font-size: 1rem; }
.peptides-card__go { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; }
@media (max-width: 600px) {
	.peptides-card { grid-template-columns: minmax(0, 1fr) auto; padding: 22px; gap: 16px; }
	.peptides-card__ico { display: none; }
	.peptides-card__go { width: 44px; height: 44px; }
}
.step-note { margin-top: 10px !important; font-weight: 500; }
.icon--xs { width: 12px; height: 12px; }
.section--flush-top { padding-top: 0; }
.nm-light .section--tint { background: #F3F7F7; }
.section--related { padding-block: clamp(56px, 6vw, 96px); }
.pcard__more { position: relative; z-index: 1; font-size: .9375rem; font-weight: 600; color: #0F6B7A; text-decoration: none; }

/* Strength choices: radio inputs styled as the approved chips. */
.chip-radio { position: relative; display: inline-flex; }
.chip-radio input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.chip-radio span { display: inline-grid; place-items: center; min-width: 70px; min-height: 46px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--line-strong); background: var(--chip-bg); color: var(--fg); font: 500 .9375rem var(--font-body); font-variant-numeric: tabular-nums; }
.chip-radio input:checked + span { background: var(--chip-on-bg); color: var(--chip-on-fg); border-color: var(--chip-on-bg); }
.chip-radio input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 3px; }
.chip-radio input:disabled + span { opacity: .5; }
.chip-radio:hover input:not(:disabled):not(:checked) + span { border-color: var(--fg); }

.gallery__doc { width: 28px; height: 28px; color: var(--link); }
.gallery__thumbs button > svg:not(.icon) { width: 100%; height: 100%; }
.gallery__main > img { width: 100%; height: 100%; object-fit: contain; }

/* Product page help card. */
.aside__title { font-family: var(--font-display); font-weight: var(--display-weight); font-size: 1.625rem; line-height: 1.12; margin-top: 8px; }
.nm-light .aside__card--help { background: #0A4A55; color: rgba(255, 255, 255, .85); }
.nm-light .aside__card--help h3 { color: #9FD6D6; }
.nm-light .aside__card--help .aside__title { color: #fff; }

/* WooCommerce notices (e.g. "added to your request"). */
.nm-notices:empty { display: none; }
.nm-notices { padding-top: 16px; }
.nm-notices .woocommerce-message, .nm-notices .woocommerce-error, .nm-notices .woocommerce-info,
.nm-notices .wc-block-components-notice-banner {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
	margin: 0; padding: 14px 18px; list-style: none; border-radius: 14px;
	background: var(--surface-2); color: var(--fg); border: 1px solid var(--line); font-size: .9375rem;
}
.nm-notices .woocommerce-message .button, .nm-notices a.wc-forward { order: 2; font-weight: 600; color: var(--link); text-decoration: none; }

/* Mobile drawer. */
.drawer { position: fixed; inset: 0; z-index: 100; }
.drawer[hidden] { display: none; }
.drawer__backdrop { position: absolute; inset: 0; background: rgba(5, 26, 31, .5); }
.drawer__panel { position: absolute; inset: 0 auto 0 0; width: min(88vw, 360px); padding: 20px; overflow-y: auto; background: var(--bg); color: var(--fg); box-shadow: 20px 0 60px -20px rgba(0, 0, 0, .4); }
.drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.drawer__x { transform: rotate(45deg); }
.drawer__title { margin: 22px 0 6px; font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--subtle); }
.drawer li a { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--fg); text-decoration: none; font-weight: 500; }
.drawer li a .icon { color: var(--link); }
body.drawer-open { overflow: hidden; }

/* Archive. */
.archive { padding-top: 0; }
.archive .section-head .h2 { margin-top: 12px; }
.archive__intro { margin-top: 12px; color: var(--muted); max-width: 64ch; }
.archive__cats { display: flex; flex-wrap: wrap; gap: 8px; margin: -12px 0 28px; }
.archive__cats .pill { font-size: .8125rem; padding: 8px 14px; text-decoration: none; }
.archive__cats .pill:hover { color: var(--fg); }
.archive__cats .pill.is-active { background: var(--chip-on-bg); color: var(--chip-on-fg); }
.archive__empty { padding: 48px 0; display: grid; gap: 18px; justify-items: start; color: var(--muted); }
.pagination { margin-top: 40px; }
.pagination ul { display: flex; flex-wrap: wrap; gap: 6px; }
.pagination a, .pagination span { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--line); color: var(--fg); text-decoration: none; font-size: .9375rem; }
.pagination .current { background: var(--chip-on-bg); color: var(--chip-on-fg); border-color: var(--chip-on-bg); }

/* Generic pages (cart, checkout, account, legal). */
.nm-page { width: 100%; max-width: calc(1320px + 2 * var(--gutter)); margin-inline: auto; padding: clamp(32px, 4vw, 56px) var(--gutter) clamp(56px, 6vw, 96px); }
.nm-page__title { font-family: var(--font-display); font-weight: var(--display-weight); letter-spacing: var(--display-track); font-size: clamp(2.25rem, 1.7rem + 2vw, 3.25rem); line-height: 1.05; margin: 0 0 28px; }
.nm-page__content { color: var(--fg); }
.nm-page__content > p, .nm-page__content > ul, .nm-page__content > ol { max-width: 72ch; }
.nm-page .wp-block-query h2 { font-family: var(--font-display); font-weight: var(--display-weight); font-size: 1.5rem; margin-top: 28px; }
.nm-page .wp-block-query h2 a { color: var(--fg); text-decoration: none; }
.nm-page .wc-block-components-button:not(.is-link), .nm-page .wp-element-button { border-radius: var(--r-btn); background: var(--btn-bg); color: var(--btn-fg); border: 0; }

/* FAQ: single centred column, contact box below. */
.faq-center { max-width: 900px; margin-inline: auto; }
.faq-center > .kicker { display: flex; justify-content: center; }
.faq-center > .h2 { text-align: center; margin: 12px 0 28px; }
.contact--wide { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 32px; }
.contact--wide p { margin-top: 4px; }
.contact--wide .contact__btns, .contact--wide .btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 0; }
.contact--wide .btn { margin-top: 0; }
@media (max-width: 600px) {
	.contact--wide, .contact--wide .contact__btns, .contact--wide .btns { flex-direction: column; align-items: stretch; }
	.contact--wide .btn { width: 100%; }
}

/* Telegram band in How it works: centred. */
.steps-foot { flex-direction: column; justify-content: center; text-align: center; }
.steps-foot .btns { justify-content: center; }

/* Featured products: compact cards (homepage only). */
.pgrid--compact .pcard__media { aspect-ratio: 4 / 3; }
.pgrid--compact .pcard__media > svg { width: 56%; height: 56%; }
.pgrid--compact .pcard__body { padding: 14px 16px 16px; }
.pgrid--compact .pcard__name { font-size: 1.1875rem; margin-top: 4px; }
.pgrid--compact .pcard__spec { margin-top: 4px; }
.pgrid--compact .pcard__body > p[style] { margin-top: 6px !important; }
.pgrid--compact .pcard__foot { padding-top: 10px; }
.pgrid--compact .pcard__add { width: 36px; height: 36px; border-radius: 10px; }
@media (max-width: 600px) { .pgrid--compact .pcard__media { aspect-ratio: 1 / .8; } }

/* Country / currency menu in the top bar. */
.market-menu { position: relative; flex: none; }
.market[aria-expanded="true"] .icon { transform: rotate(180deg); }
.topbar .market-panel { position: absolute; right: 0; top: calc(100% + 4px); z-index: 60; width: min(280px, calc(100vw - 2 * var(--gutter))); padding: 8px; border-radius: 14px; background: var(--market-bg); border: 1px solid var(--line); box-shadow: 0 24px 48px -16px rgba(3, 20, 26, .35); color: var(--fg); font-size: .9375rem; }
.topbar .market-panel[hidden] { display: none; }
.topbar .market-panel__title { padding: 8px 10px 6px; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--subtle); }
.topbar .market-panel__list { display: block; margin: 0; padding: 0; list-style: none; }
.topbar .market-panel__list li { display: block; }
.topbar .market-panel__list a { display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 8px 10px; border-radius: 9px; color: var(--fg); text-decoration: none; }
.topbar .market-panel__list a:hover { background: var(--surface-2); }
.topbar .market-panel__list a:focus-visible { background: var(--surface-2); outline: 2px solid var(--focus); outline-offset: -2px; }
.topbar .market-panel__list a[aria-current] { background: var(--surface-2); font-weight: 600; }
.topbar .market-panel__name { flex: 1; min-width: 0; }
.topbar .market-panel__cur { color: var(--subtle); font-size: .8125rem; font-variant-numeric: tabular-nums; }
.topbar .market-panel__tick { width: 16px; height: 16px; color: var(--accent); }
.topbar .market-panel .flag { width: 24px; height: 16px; }

/* Knowledge Hub article: one reading column (about 70 characters) */
.nm-article { width: 100%; max-width: calc(760px + 2 * var(--gutter)); margin-inline: auto; padding: 0 var(--gutter) clamp(56px, 6vw, 96px); }
.nm-article__head { padding-bottom: clamp(24px, 3vw, 36px); margin-bottom: clamp(28px, 3.5vw, 40px); border-bottom: 1px solid var(--line); }
.nm-article__head .crumbs { padding: clamp(20px, 3vw, 32px) 0 clamp(20px, 3vw, 28px); }
.nm-article__title { margin-top: 14px; font-family: var(--font-display); font-weight: var(--display-weight); letter-spacing: var(--display-track); font-size: clamp(2.125rem, 1.6rem + 2.2vw, 3.375rem); line-height: 1.06; color: var(--fg-strong); text-wrap: balance; }
.nm-article__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 20px 0 0; padding: 0; list-style: none; font-size: .875rem; color: var(--subtle); }
.nm-article__meta li, .nm-article__meta a { display: inline-flex; align-items: center; gap: 7px; color: inherit; text-decoration: none; }
.nm-article__meta a:hover { color: var(--fg); }
.nm-article__meta .icon { width: 15px; height: 15px; color: var(--accent); }
.nm-article__body { font-size: 1.0625rem; line-height: 1.75; color: var(--fg); overflow-wrap: break-word; }
.nm-article__body > * + * { margin-top: 1.1em; }
.nm-article__body h2, .nm-article__body h3 { scroll-margin-top: 150px; color: var(--fg-strong); }
.nm-article__body h2 { margin-top: 2.4em; font-family: var(--font-display); font-weight: var(--display-weight); letter-spacing: var(--display-track); font-size: clamp(1.625rem, 1.35rem + 1vw, 2.125rem); line-height: 1.15; }
.nm-article__body h3 { margin-top: 1.9em; font-size: 1.1875rem; font-weight: 600; line-height: 1.35; }
.nm-article__body h2 + *, .nm-article__body h3 + * { margin-top: .7em; }
.nm-article__body ul, .nm-article__body ol { padding-left: 1.3em; }
.nm-article__body ul { list-style: disc; }
.nm-article__body ol { list-style: decimal; }
.nm-article__body li + li { margin-top: .45em; }
.nm-article__body li::marker { color: var(--accent); }
.nm-article__body a:not(.wp-element-button) { color: var(--link); text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 40%, transparent); }
.nm-article__body a:hover { text-decoration-color: currentColor; }
.nm-article__body strong { font-weight: 600; color: var(--fg-strong); }
.nm-cite { font-size: .72em; line-height: 0; margin-left: 2px; color: var(--subtle); white-space: nowrap; }
.nm-cite a { text-decoration: none !important; font-weight: 600; }

/* Key Takeaways and contents boxes. */
.nm-article__body .nm-takeaways, .nm-article__body .nm-toc { margin-top: 2em; padding: clamp(20px, 3vw, 28px) clamp(20px, 3vw, 32px); border-radius: var(--r-card); }
.nm-article__body .nm-takeaways { background: var(--article-box-bg); border: 1px solid var(--article-box-line); }
.nm-article__body .nm-toc { border: 1px solid var(--line-strong); }
.nm-article__body .nm-takeaways h2, .nm-article__body .nm-toc h2 { margin: 0 0 .8em; font-family: var(--font-body); font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--kicker); }
.nm-takeaways ul { list-style: none; padding: 0; }
.nm-takeaways li { position: relative; padding-left: 28px; }
.nm-takeaways li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 12px; height: 7px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg); }
.nm-toc ol { counter-reset: toc; list-style: none; padding: 0; columns: 2 260px; column-gap: 32px; }
.nm-toc li { counter-increment: toc; break-inside: avoid; margin: 0 0 .5em; padding-left: 30px; position: relative; line-height: 1.45; }
.nm-toc li + li { margin-top: 0; }
.nm-toc li::before { content: counter(toc, decimal-leading-zero); position: absolute; left: 0; top: .15em; font-size: .75rem; font-weight: 600; color: var(--subtle); font-variant-numeric: tabular-nums; }
.nm-article__body .nm-toc a { color: var(--fg); text-decoration: none; font-size: .9688rem; }
.nm-article__body .nm-toc a:hover { color: var(--link); text-decoration: underline; }

/* Tables: full column width, readable on phones (scroll inside the table only if ever needed). */
.nm-article__body .wp-block-table { margin-top: 1.6em; margin-bottom: 1.6em; overflow-x: auto; border-radius: 12px; border: 1px solid var(--line-strong); }
.nm-article__body .wp-block-table table { width: 100%; border-collapse: collapse; font-size: .9375rem; line-height: 1.5; }
.nm-article__body .wp-block-table thead { border: 0; background: var(--surface-2); }
.nm-article__body .wp-block-table th, .nm-article__body .wp-block-table td { padding: 11px 14px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.nm-article__body .wp-block-table th { font-size: .8125rem; font-weight: 600; letter-spacing: .02em; color: var(--fg-strong); }
.nm-article__body .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.nm-article__body .wp-block-table td:first-child { font-weight: 500; color: var(--fg-strong); }
.nm-article__body .wp-block-table .has-text-align-right { text-align: right; }

/* References and closing note. */
.nm-article__body .nm-refs { margin-top: 1em; padding-left: 1.6em; font-size: .9063rem; line-height: 1.6; color: var(--muted); }
.nm-refs li { padding-left: 6px; scroll-margin-top: 150px; }
.nm-refs li + li { margin-top: .75em; }
.nm-refs li::marker { color: var(--subtle); font-variant-numeric: tabular-nums; }
.nm-refs li:target { color: var(--fg); }
.nm-article__body .nm-refs a { overflow-wrap: anywhere; }
.nm-article__body .nm-article-note { margin-top: 2.2em; padding-top: 1.2em; border-top: 1px solid var(--line); font-size: .875rem; color: var(--subtle); }

/* Knowledge Hub page. */
.nm-library .section-head { margin-bottom: clamp(28px, 3.5vw, 44px); }
.nm-library .nm-page__title { margin: 12px 0 0; }
.nm-library .acard h2 { font-family: var(--font-display); font-weight: var(--display-weight); font-size: 1.375rem; line-height: 1.2; }
.nm-library .acard h2 a { color: var(--fg); text-decoration: none; }
.nm-library .acard h2 a::after { content: ""; position: absolute; inset: 0; }

/* Institutional pages (template "Institutional page", blocks info-*): Contact, policies, How to order… */
.nm-info__content { max-width: 880px; }
.info-head { padding-bottom: clamp(28px, 3.5vw, 44px); border-bottom: 1px solid var(--line); }
.info-head .crumbs { padding-top: 0; }
.info-head .nm-page__title { margin: 0; }
.info-head .kicker + .nm-page__title { margin-top: 12px; }
.info-head .lead { margin-top: 18px; max-width: 60ch; }
.info-head__note { display: flex; align-items: center; gap: 10px; margin-top: 16px; font-size: .9375rem; color: var(--muted); }
.info-head__note .icon { flex: none; color: var(--link); }
.info-block { padding-block: clamp(32px, 4vw, 48px); border-bottom: 1px solid var(--line); scroll-margin-top: 150px; }
.info-block:last-child { padding-bottom: 0; border-bottom: 0; }
.info-block__title { font-family: var(--font-display); font-weight: var(--display-weight); letter-spacing: var(--display-track); font-size: clamp(1.5rem, 1.3rem + .8vw, 2rem); line-height: 1.15; color: var(--fg-strong); }
.info-block__text { margin-top: 14px; max-width: 68ch; }
.info-block__text p { line-height: 1.7; color: var(--fg); }
.info-block__text > * + * { margin-top: .9em; }
.info-block__link { margin-top: 18px; }
.info-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 22px; }
.info-card { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: clamp(22px, 2.5vw, 28px); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--bg); }
.info-card__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--surface-2); color: var(--link); }
.info-card h3 { margin-top: 6px; font-size: 1.125rem; font-weight: 600; color: var(--fg-strong); }
.info-card p { font-size: .9375rem; line-height: 1.6; color: var(--muted); }
.info-card .info-card__detail { font-size: 1rem; font-weight: 600; color: var(--fg); overflow-wrap: anywhere; }
.info-card__btn { margin-top: auto; }
.info-card p:last-of-type { margin-bottom: 8px; }
.info-entity { margin-top: 22px; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface-2); }
.info-entity__head { display: flex; align-items: center; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.info-entity__head .info-card__ico { background: var(--bg); }
.info-entity__name { font-family: var(--font-display); font-weight: var(--display-weight); letter-spacing: var(--display-track); font-size: 1.375rem; line-height: 1.2; color: var(--fg-strong); }
.info-entity__role { margin-top: 4px; font-size: .875rem; color: var(--muted); }
.info-entity__rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; padding-top: 22px; }
.info-entity__rows dt { font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--subtle); }
.info-entity__rows dd { margin: 5px 0 0; line-height: 1.55; color: var(--fg); overflow-wrap: anywhere; }
.info-entity__rows a { color: var(--link); }
.info-entity__closing { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); font-size: .9375rem; line-height: 1.6; color: var(--muted); }
@media (max-width: 600px) {
	.info-entity__rows { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.nm-article__body { font-size: 1rem; line-height: 1.7; }
	.nm-article__body .wp-block-table table { font-size: .875rem; }
	.nm-article__body .wp-block-table th, .nm-article__body .wp-block-table td { padding: 9px 10px; }
}

/* Product choices that cannot be requested (EUR master below €80): still selectable, visibly secondary. */
.chip-radio--off span { color: var(--subtle); border-style: dashed; }
.chip-radio--off input:checked + span { color: var(--chip-on-fg); border-style: solid; }
.buy [hidden], .mbar [hidden] { display: none !important; }

/* Request confirmation (order received): one centred panel */
.nm-confirm-wrap { padding: clamp(40px, 6vw, 88px) var(--gutter) clamp(56px, 7vw, 112px); }
.nm-confirm { max-width: 680px; margin-inline: auto; padding: clamp(28px, 4vw, 48px); border-radius: var(--r-card); background: var(--panel-bg); box-shadow: var(--panel-shadow); text-align: center; }
.nm-confirm__icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--ok-ring); color: var(--ok); }
.nm-confirm__icon .icon { width: 26px; height: 26px; }
.nm-confirm__title { margin-top: 18px; font-family: var(--font-display); font-weight: var(--display-weight); letter-spacing: var(--display-track); font-size: clamp(2.125rem, 1.6rem + 2vw, 3rem); line-height: 1.05; color: var(--fg-strong); }
.nm-confirm__lead { margin-top: 14px; color: var(--muted); line-height: 1.65; }
.nm-confirm__ref { color: var(--fg-strong); font-variant-numeric: tabular-nums; white-space: nowrap; }
.nm-confirm__next { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--line); }
.nm-confirm__next h2 { font-family: var(--font-display); font-weight: var(--display-weight); font-size: 1.5rem; color: var(--fg-strong); }
.nm-confirm__next p { margin: 10px auto 0; max-width: 52ch; color: var(--muted); line-height: 1.65; }
.nm-confirm__actions { display: flex; justify-content: center; margin-top: 22px; }
.nm-confirm__actions .btn { min-width: min(100%, 320px); }
.nm-confirm__secondary { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 12px; }
.nm-confirm__fallback { margin-top: 26px; text-align: left; border-top: 1px solid var(--line); padding-top: 18px; font-size: .9375rem; color: var(--muted); }
.nm-confirm__fallback summary { cursor: pointer; text-align: center; color: var(--link); }
.nm-confirm__fallback p { margin-top: 12px; }
.nm-confirm__message { margin: 12px 0 0; padding: 14px 16px; border-radius: 12px; background: var(--surface-2); color: var(--fg); font: .875rem/1.6 var(--font-body); white-space: pre-wrap; overflow-wrap: anywhere; }
.nm-confirm__status { min-height: 1.5em; margin-top: 12px; font-size: .875rem; color: var(--ok); }
@media (max-width: 600px) {
	.nm-confirm__secondary .btn { flex: 1 1 100%; }
}

/*
 * Approved product photos (white background): shown whole (contain, no crop or stretch) with even padding.
 * Multiply blends the white into the light card and gallery surfaces.
 */
.pcard__media > img { width: 100%; height: 100%; object-fit: contain; padding: 7%; mix-blend-mode: multiply; }
.gallery__main--photo > img { padding: 6%; mix-blend-mode: multiply; }
.gallery__thumbs--photo button { padding: 6px; background: var(--card-media); cursor: pointer; }
.gallery__thumbs--photo img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }

/* Product information panels: Storage & Handling, Shipping & Delivery (under the key facts). */
.nm-notes { display: grid; gap: 12px; margin-top: 20px; }
.nm-note { padding: 16px 18px; border-radius: 14px; background: var(--assure-bg); font-size: .9063rem; line-height: 1.6; color: var(--muted); }
.nm-note__title { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font: 600 .875rem/1.3 var(--font-body); color: var(--fg); }
.nm-note__title .icon { width: 16px; height: 16px; color: var(--accent); }
.nm-note ul { margin: 0; padding-left: 1.1em; list-style: disc; }
.nm-note li + li { margin-top: 2px; }
.nm-note li::marker { color: var(--accent); }

/* Block-built pages (Home and any page using NovaMeds section blocks): sections sit edge to edge, no
   block-gap between them; free sections get the article typography for core blocks. */
/* The trust bar keeps its own (negative, overlapping) margin from light.css. */
.nm-home__content > :not(.trust), .nm-page__content > .section, .nm-page__content > .hero, .nm-page__content > .nm-cta { margin-block: 0; }
.nm-home__content > .trust { margin-bottom: 0; }
.nm-flow > * + * { margin-top: 1.1em; }
.nm-flow--narrow { max-width: calc(760px + 2 * var(--gutter)); }
.nm-flow h2 { font-family: var(--font-display); font-weight: var(--display-weight); letter-spacing: var(--display-track); font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem); line-height: 1.12; color: var(--fg-strong); }
.nm-flow h3 { font-size: 1.1875rem; font-weight: 600; color: var(--fg-strong); }
.nm-flow p, .nm-flow li { line-height: 1.7; color: var(--fg); }
.nm-flow ul, .nm-flow ol { padding-left: 1.3em; } .nm-flow ul { list-style: disc; } .nm-flow ol { list-style: decimal; }
.nm-flow img { border-radius: var(--r-card); }
.nm-flow .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: var(--r-btn); border: 1px solid var(--btn-bg); background: var(--btn-bg); color: var(--btn-fg); font: 600 .9375rem/1 var(--font-body); text-decoration: none; }
.nm-flow .is-style-outline .wp-block-button__link { background: transparent; color: var(--fg); border-color: var(--line-strong); }
.nm-cta { padding-block: clamp(24px, 3vw, 40px); }
.nm-design-block { position: relative; }

/* Checkout: prescription status (inc/checkout.php, assets/js/checkout-prescription.js). */
.nm-rx { border: 0; margin: 0; padding: 0; min-width: 0; }
.nm-rx__options { display: grid; gap: 8px; margin-top: 14px; }
.nm-rx__option { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; font-size: .9375rem; line-height: 1.45; cursor: pointer; }
.nm-rx__option input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--link); }
.nm-rx__option.is-checked { border-color: var(--link); box-shadow: inset 0 0 0 1px var(--link); }
.nm-rx__fee { margin-top: 12px; padding: 14px 16px; border-radius: 12px; background: var(--surface-2); font-size: .9375rem; line-height: 1.55; }
.nm-rx__fee strong { display: block; color: var(--fg-strong); }
.nm-rx__fee p { margin: 6px 0 0; color: var(--muted); }
.nm-rx__error { margin-top: 10px; padding: 10px 14px; border-radius: 10px; background: var(--warn-bg); color: var(--warn-fg); font-size: .875rem; }

/* Institutional pages: numbered steps (info-steps). */
.info-steps { margin-top: 26px; counter-reset: none; }
.info-step { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 20px; padding-bottom: 30px; }
.info-step:not(:last-child)::before { content: ""; position: absolute; left: 21px; top: 48px; bottom: 6px; width: 1px; background: var(--line); }
.info-step__num { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line-strong); background: var(--bg); font-weight: 600; font-variant-numeric: tabular-nums; color: var(--link); }
.info-step__body { padding-top: 9px; }
.info-step h3 { font-size: 1.1875rem; font-weight: 600; line-height: 1.3; color: var(--fg-strong); }
.info-step .info-block__text { margin-top: 10px; }
.info-block__text ul { padding-left: 1.2em; list-style: disc; }
.info-block__text ol { padding-left: 1.4em; list-style: decimal; }
.info-block__text li { line-height: 1.65; color: var(--fg); }
.info-block__text li + li { margin-top: .3em; }
.info-options { display: grid; gap: 10px; margin-top: 16px; }
.info-options li { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; }
.info-options div { display: grid; gap: 2px; }
.info-options strong { color: var(--fg-strong); }
.info-options span:not(.info-card__ico) { font-size: .875rem; color: var(--muted); }
.info-options b { margin-left: auto; font-weight: 600; color: var(--fg-strong); white-space: nowrap; }
.info-highlight { margin-top: 16px; padding: 18px 20px; border-radius: 14px; background: var(--surface-2); border-left: 3px solid var(--link); }
.info-highlight strong { display: block; color: var(--fg-strong); }
.info-highlight p { margin-top: 6px; line-height: 1.65; color: var(--fg); }
@media (max-width: 600px) {
	.info-step { grid-template-columns: 36px minmax(0, 1fr); gap: 14px; }
	.info-step__num { width: 36px; height: 36px; }
	.info-step:not(:last-child)::before { left: 17px; top: 40px; }
	.info-step__body { padding-top: 5px; }
}

/* Institutional pages: notes, information cards, lists in cards, several links. */
.info-block > .info-block__text + .info-cards { margin-top: 18px; }
.info-block__note { margin-top: 16px; font-size: .9375rem; }
.info-block__note p { color: var(--muted); }
.info-highlight--block { margin-top: 0; padding: clamp(22px, 3vw, 30px); }
.info-highlight--block .info-block__text { margin-top: 10px; }
.info-block__link { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.info-card__text > * + * { margin-top: .5em; }
.info-card__text ul { padding-left: 1.1em; list-style: disc; color: var(--fg); font-size: .9375rem; line-height: 1.7; }

/* Institutional pages: tables (info-table), e.g. the cookie list. */
.info-table { margin-top: 18px; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
.info-table table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .875rem; line-height: 1.5; }
.info-table th, .info-table td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); color: var(--fg); }
.info-table thead th { background: var(--surface-2); font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.info-table tbody th { min-width: 170px; font-weight: 600; font-size: .8125rem; color: var(--fg-strong); overflow-wrap: anywhere; }
.info-table tbody tr:last-child th, .info-table tbody tr:last-child td { border-bottom: 0; }
/* A details card without its own title continues the section before it. */
.info-block:has(+ .info-block--continued) { padding-bottom: 0; border-bottom: 0; }
.info-block--continued { padding-top: 0; }
.info-block--continued > .info-entity { margin-top: 18px; }

/* Institutional pages: questions (info-faq), the site's accordion with compact answers. */
.info-faq .faq { margin-top: 18px; }
.info-faq .faq summary { padding: 18px 0; font-size: 1rem; line-height: 1.45; }
.info-faq__answer { max-width: 68ch; padding-bottom: 20px; }
.info-faq__answer > * + * { margin-top: .75em; }
.info-faq__answer p, .info-faq__answer li { line-height: 1.65; color: var(--fg); }
.info-faq__answer ul { padding-left: 1.2em; list-style: disc; }
.info-faq .faq details p { padding-bottom: 0; max-width: none; }
.info-faq { border-bottom: 0; } /* The last question already closes the group with a line. */

/* Mobile drawer: main navigation with expandable groups (Catalog). */
.drawer__panel > ul:first-of-type { margin-top: 12px; }
.drawer__group > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--fg); font-weight: 500; list-style: none; cursor: pointer; }
.drawer__group > summary::-webkit-details-marker { display: none; }
.drawer__group > summary .icon { color: var(--link); transition: transform .2s; }
.drawer__group[open] > summary .icon { transform: rotate(180deg); }
.drawer__group ul { padding-left: 14px; }
.drawer__group li a { font-weight: 400; font-size: .9375rem; }

/* Institutional pages: large heading with trust strip (About), reviews, links in steps and details cards. */
.info-head--display .nm-page__title { font-size: clamp(2.5rem, 1.8rem + 3vw, 4rem); line-height: 1.02; max-width: 16ch; }
.info-head--display .lead { font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); max-width: 62ch; }
.info-trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.info-trust li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-2); font-size: .875rem; font-weight: 600; color: var(--fg-strong); }
.info-trust .icon { width: 16px; height: 16px; color: var(--link); }
.info-reviews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.info-review { display: flex; flex-direction: column; gap: 12px; padding: clamp(20px, 2.4vw, 26px); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--bg); }
.info-review__stars { font-size: 1rem; letter-spacing: .12em; color: var(--link); }
.info-review blockquote { margin: 0; }
.info-review blockquote p { font-size: .9688rem; line-height: 1.65; color: var(--fg); }
.info-review__who { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); font-size: .875rem; }
.info-review__who strong { color: var(--fg-strong); }
.info-review__who span { display: block; margin-top: 2px; color: var(--muted); }
.info-reviews__note { margin-top: 16px; font-size: .875rem; color: var(--muted); }
.info-reviews__note a { color: var(--link); }
.info-steps + .info-block__link { margin-top: 4px; }
.info-entity__link { margin-top: 18px; }
@media (max-width: 700px) {
	.info-reviews { grid-template-columns: minmax(0, 1fr); }
}
.info-cards:has(> .info-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } /* Four cards: 2 × 2 instead of 3 + 1. */
@media (max-width: 600px) { .info-cards:has(> .info-card:nth-child(4):last-child) { grid-template-columns: minmax(0, 1fr); } }

/* Knowledge Hub: filter by content type (plain links). */
.kh-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: clamp(20px, 3vw, 32px); }
.kh-filter a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--fg); font-size: .875rem; font-weight: 500; text-decoration: none; }
.kh-filter a:hover { border-color: var(--fg); }
.kh-filter a[aria-current] { background: var(--btn-bg); border-color: var(--btn-bg); color: var(--btn-fg); }

/* Knowledge Hub: ASCII diagrams from the articles (monospace, scroll sideways on small screens). */
.nm-article__body .nm-diagram { margin-top: 1.4em; padding: 18px 20px; overflow-x: auto; border-radius: 14px; background: var(--surface-2); font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; line-height: 1.45; white-space: pre; color: var(--fg); }
.nm-article__body sub, .nm-article__body sup { font-size: .72em; line-height: 0; }
