@media (max-width: 1180px) {
  .pvc-filters {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }

  .pvc-results,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pvc-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pvc-method-grid article {
    min-height: 280px;
  }
}

@media (max-width: 820px) {
  body.admin-bar .pv-site-header:not(.pv-site-header--internal) {
    top: 46px;
  }

  body.admin-bar .pv-site-header--internal {
    top: 46px;
  }

  .pv-page-canvas,
  .pv-commerce {
    padding-top: 55px;
  }

  .pv-page-canvas--platform {
    padding-top: 0;
  }

  .pvc-app {
    padding-top: 45px;
  }

  .pvc-page-head,
  .pvc-explorer__hero {
    margin-bottom: 42px;
    padding: 42px 30px 42px 42px;
  }

  .pvc-explorer__hero {
    min-height: 0;
    padding-block: 72px;
  }

  .pvc-explorer__hero::after {
    top: -8%;
    right: -34%;
    opacity: .88;
  }

  .pv-solutions .pvc-explorer__hero {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 0;
  }

  .pv-solutions .pvc-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    padding-bottom: 12px;
  }

  .pv-solutions .pvc-filters label:not(.pvc-check) {
    min-width: 0;
  }

  .pvc-page-head h2,
  .pvc-explorer__hero h2 {
    font-size: clamp(43px, 12vw, 78px);
  }

  .pvc-search__main {
    grid-template-columns: 23px minmax(0, 1fr) 52px;
    min-height: 64px;
    padding-left: 14px;
  }

  .pvc-search__main button {
    overflow: hidden;
    width: 52px;
    min-width: 52px;
    padding: 0;
    color: transparent;
  }

  .pvc-search__main button::after {
    content: "→";
    position: absolute;
    color: white;
    font-size: 20px;
  }

  .pvc-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    gap: 7px;
    padding-bottom: 8px;
  }

  .pvc-filters::-webkit-scrollbar {
    display: none;
  }

  .pvc-filters label {
    min-width: 0;
  }

  .pvc-filters .pvc-check {
    grid-column: 1 / -1;
  }

  .pv-select__menu {
    width: 100%;
    min-width: 210px;
  }

  .pvc-login-gate {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 18px;
    min-height: 620px;
    padding: 54px 34px;
  }

  .pvc-login-gate::before {
    top: -10%;
    right: -38%;
  }

  .pvc-login-gate::after {
    right: -4%;
    bottom: -20%;
    width: 58%;
  }

  .pvc-login-gate > p,
  .pvc-login-gate > .pvc-button {
    grid-column: 1;
  }

  .pvc-login-gate h2::before {
    margin-bottom: 45px;
  }

  .pvc-results-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .pvc-results,
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .pvc-card__media {
    min-height: 245px;
  }

  .pvc-card__outcome {
    min-height: 0;
  }

  .pvc-library-overview,
  .pvc-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pvc-library-section__head,
  .pvc-formula,
  .pvc-submit-form__end {
    grid-template-columns: 1fr;
  }

  .pvc-method-grid,
  .pvc-form-grid,
  .pvc-tab-grid,
  .pvc-score-grid,
  .pvc-safety {
    grid-template-columns: 1fr;
  }

  .pvc-field--wide {
    grid-column: auto;
  }

  .pv-commerce div.product {
    grid-template-columns: 1fr;
  }

  .pv-commerce div.product .woocommerce-tabs {
    grid-column: auto;
  }

  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    overflow-x: auto;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
  }

  .pv-post-teaser {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 520px) {
  .pvc-page-head,
  .pvc-explorer__hero {
    padding: 38px 22px 38px 36px;
  }

  .pvc-explorer__hero {
    padding-block: 58px;
  }

  .pv-solutions .pvc-explorer__hero {
    padding: 0;
  }

  .pvc-search__main input {
    padding-inline: 9px;
    font-size: 16px;
  }

  .pvc-filters,
  .pv-solutions .pvc-filters {
    grid-template-columns: 1fr;
  }

  .pvc-filters .pvc-check {
    grid-column: auto;
  }

  .pvc-login-gate {
    min-height: 600px;
    padding: 46px 24px;
  }

  .pvc-login-gate h2 {
    font-size: clamp(52px, 15vw, 78px);
  }

  .pvc-login-gate::before {
    right: -62%;
  }

  .pvc-results-method {
    line-height: 1.5;
  }

  .pvc-card__body {
    padding: 18px;
  }

  .pvc-card__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .pvc-card__actions {
    display: grid;
    grid-template-columns: 40px 1fr 1fr;
  }

  .pvc-card__actions .pvc-button {
    width: 100%;
  }

  .pvc-library-overview,
  .pvc-stat-grid {
    grid-template-columns: 1fr;
  }

  .pvc-library-overview > div,
  .pvc-stat-grid > div {
    min-height: 135px;
  }

  .pvc-library-section__head {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .pvc-library-item__head {
    flex-direction: column;
  }

  .pvc-method-grid {
    grid-template-columns: 1fr;
  }

  .pvc-method-grid article {
    min-height: 250px;
  }

  .pvc-submit-form fieldset {
    padding: 24px 16px;
  }

	.pvc-toast {
		right: 12px;
		bottom: 82px;
		max-width: calc(100vw - 24px);
	}
}

/* Responsive hardening for 2.4.0. These rules intentionally come last. */
@media (max-width: 1180px) {
	.pvc-prompt-lab__head { grid-template-columns: 90px minmax(0, 1fr); }
	.pvc-prompt-lab__head > p { grid-column: 2; }
	.pvc-lab-provider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pvc-lab-results__grid,
	.pvc-prompt-lab.is-ab-mode .pvc-lab-results__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
	body.pv-design-v3,
	body.pv-design-v3 #main-container,
	body.pv-design-v3 main,
	.pv-page-entry,
	.pv-entry-content,
	.pvc-app { max-width: 100%; }

	.pvc-page-head h2,
	.pvc-explorer__hero h2 {
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}

	.pvc-login-gate::after { display: none; }
	.pvc-prompt-lab__head {
		grid-template-columns: 1fr;
		gap: 28px;
		min-height: 560px;
		padding: 34px 26px 42px;
	}
	.pvc-prompt-lab__head::before { top: -18%; right: -38%; width: 85vw; }
	.pvc-prompt-lab__head::after { right: -8%; font-size: 22vw; }
	.pvc-prompt-lab__index {
		height: auto;
		flex-direction: row;
		padding: 0 0 14px;
		border-right: 0;
		border-bottom: 1px solid rgba(255,255,255,.27);
	}
	.pvc-prompt-lab__head > p { grid-column: auto; max-width: 520px; }
	.pvc-prompt-lab__form,
	.pvc-lab-results { padding: 24px; }
	.pvc-prompt-lab.is-ab-mode .pvc-lab-prompts { grid-template-columns: 1fr; }
	.pvc-lab-submit-row { grid-template-columns: 1fr; align-items: stretch; }
	.pvc-lab-run { width: 100%; }
	.pvc-lab-results__grid,
	.pvc-prompt-lab.is-ab-mode .pvc-lab-results__grid { grid-template-columns: 1fr; }
	.pvc-lab-results > header { align-items: flex-start; flex-direction: column; }
	.pvc-lab-result__outputs.is-ab { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pvc-compare-table-wrap { width: 100%; max-width: 100vw; overscroll-behavior-inline: contain; }
}

@media (max-width: 520px) {
	.pvc-page-head,
	.pvc-explorer__hero { padding-right: 18px; padding-left: 18px; }
	.pvc-login-gate h2 { font-size: clamp(42px, 12.5vw, 68px); }
	.pvc-login-gate::before { right: -72%; }
	.pvc-prompt-lab__head { min-height: 520px; padding: 24px 18px 34px; }
	.pvc-prompt-lab__head h2 {
		font-size: clamp(43px, 13vw, 64px);
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}
	.pvc-prompt-lab__head > p { padding: 13px; }
	.pvc-prompt-lab__form,
	.pvc-lab-results { padding: 14px; }
	.pvc-lab-modes,
	.pvc-lab-provider-grid { grid-template-columns: 1fr; }
	.pvc-lab-modes button + button { border-top: 1px solid var(--ink); border-left: 0; }
	.pvc-lab-prompt textarea { min-height: 235px; font-size: 19px; }
	.pvc-lab-provider { min-height: 135px; }
	.pvc-lab-provider__copy strong { font-size: 30px; }
	.pvc-lab-submit-row { padding: 14px; }
	.pvc-lab-result__outputs.is-ab { grid-template-columns: 1fr; }
	.pvc-lab-output + .pvc-lab-output { border-top: 1px solid var(--ink); border-left: 0; }
	.pvc-lab-output__text { min-height: 0; overflow-wrap: anywhere; }
	.pvc-lab-setup { min-height: 520px; padding: 42px 20px; }
	.pvc-lab-setup::after { top: -8%; right: -55%; width: 110%; }
}

@media (max-width: 360px) {
	.pvc-page-head h2,
	.pvc-explorer__hero h2,
	.pvc-login-gate h2 { font-size: 39px; }
	.pvc-search__main { grid-template-columns: 18px minmax(0, 1fr) 46px; }
	.pvc-search__main button { width: 46px; min-width: 46px; }
	.pvc-card__actions { grid-template-columns: 38px 1fr; }
	.pvc-card__actions .pvc-button--dark { grid-column: 1 / -1; }
}

/* Release 2.5 responsive layer: edge-safe cards and a full mobile command dock. */
@media (max-width: 1180px) {
	.pvc-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pvc-tool-navigator__controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pvc-tool-navigator__controls .pvc-tool-navigator__search { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
	:root { --shell: calc(100vw - 12px); }

	body.pv-design-v3 { padding-bottom: 128px; }

	.pv-solutions,
	.pv-solutions .pvc-app,
	.pvc-results,
	.pvc-glossary__hero,
	.pvc-glossary__workspace,
	.pvc-tool-navigator__hero,
	.pvc-tool-navigator__board,
	.pvc-tool-method {
		width: var(--shell);
		max-width: none;
	}

	.pv-solutions { padding-right: 0; padding-left: 0; }
	.pvc-results { grid-template-columns: 1fr; gap: 12px; }
	.pvc-card:hover { transform: translateY(-4px); box-shadow: 7px 7px 0 rgba(17,18,16,.12); }
	.pvc-card__footer { align-items: stretch; flex-direction: column; }
	.pvc-card__actions { display: grid; grid-template-columns: minmax(82px, .75fr) minmax(105px, 1fr) minmax(86px, .9fr); width: 100%; }
	.pvc-card__actions .pvc-button { width: 100%; min-width: 0; padding-inline: 8px; }
	.pvc-card__actions .pvc-favorite-toggle { display: inline-flex; width: auto; }
	.pvc-compare-toggle b { overflow: visible; text-overflow: clip; }

	body .pv-action-dock {
		left: 6px;
		bottom: 6px;
		display: grid;
		width: calc(100vw - 12px);
		max-width: none;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 3px;
		padding: 4px;
		transform: none;
		border-width: 3px;
		border-radius: var(--pv-radius-dock);
	}

	body .pv-action-dock > a,
	body .pv-action-dock > button,
	body .pv-action-dock > a:not(.pv-dock-brand):not(.pv-dock-compare),
	body .pv-action-dock > button:not(.pv-dock-compare) {
		display: flex;
		overflow: hidden;
		min-width: 0;
		min-height: 38px;
		padding: 0 4px;
		gap: 3px;
		border-radius: var(--pv-radius-control);
		font-size: 8px;
		text-overflow: ellipsis;
	}

	body .pv-action-dock .pv-dock-brand {
		min-width: 0;
		padding: 0 4px;
		font-size: 13px;
	}

	.pv-action-dock .pv-dock-label {
		overflow: hidden;
		min-width: 0;
		color: inherit !important;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.pv-action-dock .pv-dock-favorites > span:last-child {
		display: grid;
		width: 16px;
		min-width: 16px;
		height: 16px;
		padding: 0;
		place-items: center;
		font-size: 7px;
	}

	body .pv-action-dock .pv-dock-compare {
		grid-column: 1 / -1;
		min-width: 0;
		min-height: 42px;
		justify-content: center;
		padding-inline: 14px;
		font-size: 10px;
	}

	.pv-action-dock .pv-dock-compare .pv-dock-label { overflow: visible; }

	.pvc-glossary__hero-grid,
	.pvc-tool-navigator__board-head,
	.pvc-tool-method { grid-template-columns: 1fr; }
	.pvc-glossary__hero { padding-top: 68px; }
	.pvc-glossary__hero h1 { font-size: clamp(58px, 13.5vw, 96px); }
	.pvc-glossary__hero-side { display: grid; grid-template-columns: .7fr 1fr; }
	.pvc-glossary__count { min-height: 100%; border-right: 1px solid var(--ink); border-bottom: 0; }
	.pvc-glossary__tools { grid-template-columns: 1fr; }
	.pvc-glossary__tools-intro p { max-width: 520px; }
	.pvc-glossary__grid { grid-template-columns: 1fr; }
	.pvc-glossary__entry { min-height: 0; }

	.pvc-tool-navigator__hero { min-height: 690px; padding: 75px 24px; }
	.pvc-tool-navigator__hero::after { right: -9%; bottom: 4%; width: 48vw; }
	.pvc-tool-navigator__hero > div,
	.pvc-tool-navigator__hero > h1,
	.pvc-tool-navigator__hero > p,
	.pvc-tool-navigator__hero > a { max-width: 82%; }
	.pvc-tool-navigator__hero h1 { font-size: clamp(50px, 13.5vw, 91px); }
	.pvc-tool-stack { grid-template-columns: 1fr; }
	.pvc-tool-stack > div:first-child { min-height: 150px; }
	.pvc-tool-grid { grid-template-columns: 1fr; }
	.pvc-tool-card__summary { min-height: 0; }
	.pvc-tool-method > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pvc-tool-compare [data-pvc-tool-compare-grid] { grid-template-columns: 1fr; }
	.pvc-tool-dock { right: 8px; bottom: 120px; max-width: calc(100vw - 16px); }
	.pv-tool-single__hero-grid,
	.pv-tool-single__content { grid-template-columns: 1fr; }
	.pv-tool-single__facts { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
	:root { --shell: calc(100vw - 8px); }

	.pvc-card__media { min-height: 218px; }
	.pvc-card__body { padding: 16px 14px 14px; }
	.pvc-card__match { top: 10px; left: 10px; min-width: 75px; min-height: 57px; }
	.pvc-card__actions .pvc-favorite-toggle { top: 10px; right: 10px; min-width: 86px; }
	.pvc-card__actions { grid-template-columns: minmax(78px, .75fr) minmax(102px, 1fr); }
	.pvc-card__actions .pvc-button--dark { grid-column: 1 / -1; }

	body .pv-action-dock { left: 4px; width: calc(100vw - 8px); }
	body .pv-action-dock > a,
	body .pv-action-dock > button,
	body .pv-action-dock > a:not(.pv-dock-brand):not(.pv-dock-compare) { padding-inline: 2px; font-size: 7.5px; }

	.pvc-glossary__hero { padding: 52px 0 42px; }
	.pvc-glossary__kicker,
	.pvc-tool-navigator__hero > div { align-items: flex-start; flex-direction: column; gap: 5px; }
	.pvc-glossary__hero-grid { grid-template-columns: 1fr; gap: 36px; margin-top: 42px; }
	.pvc-glossary__hero h1 { font-size: clamp(45px, 14.3vw, 66px); line-height: .84; }
	.pvc-glossary__hero-copy > p { font-size: 14px; }
	.pvc-glossary__hero-side { display: flex; }
	.pvc-glossary__count { min-height: 135px; border-right: 0; border-bottom: 1px solid var(--ink); }
	.pvc-glossary__count strong { font-size: 72px; }
	.pvc-glossary__hero-side li { padding: 15px 17px; }
	.pvc-glossary__hero-search > div { grid-template-columns: 28px minmax(0, 1fr) auto; min-height: 54px; padding: 8px; }
	.pvc-glossary__hero-search input { font-size: 15px; }
	.pvc-glossary__hero-search .pvc-glossary__search-submit { grid-column: 1 / -1; width: 100%; min-height: 46px; margin-top: 5px; }
	.pvc-glossary__quick-start { grid-template-columns: 1fr; }
	.pvc-glossary__quick-start button { min-height: 105px; }
	.pvc-glossary__tools { padding: 22px 16px; box-shadow: 7px 7px 0 rgba(17,18,16,.1); }
	.pvc-glossary__popular > div,
	.pvc-glossary__categories { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 7px; }
	.pvc-glossary__popular button,
	.pvc-glossary__categories button { flex: 0 0 auto; }
	.pvc-glossary__alphabet { grid-template-columns: repeat(26, 31px); }
	.pvc-glossary__results-head { align-items: flex-start; flex-direction: column; }
	.pvc-glossary__letter > header { grid-template-columns: 72px minmax(0, 1fr); }
	.pvc-glossary__letter > header > span { font-size: 82px; }
	.pvc-glossary__entry { padding: 20px 16px; }
	.pvc-glossary__entry h3 { margin-top: 27px; font-size: 35px; }

	.pvc-tool-navigator__hero { min-height: 610px; padding: 55px 16px; }
	.pvc-tool-navigator__hero::after { right: -12%; width: 57vw; font-size: 22vw; }
	.pvc-tool-navigator__hero > div,
	.pvc-tool-navigator__hero > h1,
	.pvc-tool-navigator__hero > p,
	.pvc-tool-navigator__hero > a { max-width: 94%; }
	.pvc-tool-navigator__hero h1 { font-size: clamp(43px, 12.2vw, 64px); }
	.pvc-tool-navigator__hero h1 em { -webkit-text-stroke-width: 1.2px; }
	.pvc-tool-navigator__controls { grid-template-columns: 1fr; }
	.pvc-tool-navigator__controls .pvc-tool-navigator__search { grid-column: auto; }
	.pvc-tool-stack { padding: 10px; }
	.pvc-tool-stack__cards { min-height: 240px; }
	.pvc-tool-stack__cards > a { grid-template-columns: 30px minmax(0, 1fr) auto; min-height: 152px; padding: 14px; }
	.pvc-tool-stack__cards > a:nth-child(2) { inset: 27px 8px auto 8px; }
	.pvc-tool-stack__cards > a:nth-child(3) { inset: 54px 16px auto 16px; }
	.pvc-tool-stack__cards > a strong { font-size: 26px; }
	.pvc-tool-card__body { padding: 16px 14px; }
	.pvc-tool-card__actions { grid-template-columns: 1fr; }
	.pvc-tool-card__actions > .pvc-button { grid-column: auto; }
	.pvc-tool-method { padding-inline: 16px; }
	.pvc-tool-method > div:last-child { grid-template-columns: 1fr; }
	.pvc-tool-method article { min-height: 210px; }
	.pvc-tool-method article h3 { margin-top: 65px; }
	.pvc-tool-dock { right: 4px; bottom: 118px; width: calc(100vw - 8px); justify-content: space-between; }
	.pv-tool-single__hero h1 { font-size: clamp(58px, 17vw, 86px); }
	.pv-tool-single__verdict article { grid-template-columns: 55px minmax(0, 1fr); gap: 15px; padding: 20px 16px; }
	.pv-tool-single__verdict article > span { width: 48px; height: 48px; font-size: 20px; }
}

@media (max-width: 360px) {
	body .pv-action-dock > a:not(.pv-dock-brand):not(.pv-dock-compare) { font-size: 7px; }
	.pvc-card__actions { grid-template-columns: 1fr; }
	.pvc-card__actions .pvc-button--dark { grid-column: auto; }
}
