/* Mobile information hierarchy layer. Desktop layouts remain unchanged. */
.pdl-title-unit {
  display: inline-block;
  white-space: nowrap;
}

.pdl-faq-intro h2,
.pdl-guide-masthead h1,
.pdl-industry-risk-finder-controls h2 {
  text-wrap: balance;
}

.pdl-footer-contact-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0 0 14px;
  padding: 0;
  color: #fff;
  background: transparent;
  border: 0;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: left;
}

.pdl-footer-contact-toggle svg {
  display: none;
  width: 18px;
  height: 18px;
}

.pdl-product-printing-tabs,
.pdl-mobile-faq-toggle,
.pdl-home-mobile-tabs {
  display: none;
}

@media (min-width: 721px) and (max-width: 820px) {
  .pdl-about-culture-heading h2 {
    font-size: 1.85rem;
  }

  .pdl-printing-choice-hero h1 {
    font-size: 3rem;
  }

  .pdl-customization-quote-copy h2,
  .pdl-factory-hero h1,
  .pdl-industry-archive-hero h1,
  .pdl-quote-first-screen-copy h1 {
    font-size: 2.7rem;
  }

  .pdl-product-detail-page .pdl-section {
    padding: 52px 0;
  }

  .pdl-product-detail-page .pdl-product-detail-hero-grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 24px;
    padding-block: 42px 34px;
  }

  .pdl-product-detail-page .pdl-product-detail-intro {
    grid-column: 1;
    grid-row: 1;
  }

  .pdl-product-detail-page .pdl-product-detail-intro h1 {
    font-size: clamp(2.25rem, 5.8vw, 3rem);
  }

  .pdl-product-detail-page .pdl-product-detail-media {
    grid-column: 2;
    grid-row: 1;
    min-height: 520px;
  }

  .pdl-product-detail-page .pdl-product-detail-main-shot img {
    width: min(96%, 420px) !important;
    max-height: 500px !important;
  }

  .pdl-product-detail-page .pdl-product-detail-thumb-row {
    display: none;
  }

  .pdl-product-detail-page .pdl-product-risk-layout,
  .pdl-product-detail-page .pdl-product-structure-layout {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 30px;
  }

  .pdl-product-detail-page .pdl-product-risk-media,
  .pdl-product-detail-page .pdl-product-structure-media {
    grid-column: 1;
    grid-row: 1;
    align-self: stretch;
    aspect-ratio: auto;
  }

  .pdl-product-detail-page .pdl-product-risk-content,
  .pdl-product-detail-page .pdl-product-structure-copy {
    grid-column: 2;
    grid-row: 1;
  }

  .pdl-product-detail-page .pdl-product-function-grid,
  .pdl-product-detail-page .pdl-product-alternative-grid,
  .pdl-product-detail-page .pdl-product-alternative-grid.pdl-product-alternative-count-1,
  .pdl-product-detail-page .pdl-product-alternative-grid.pdl-product-alternative-count-2 {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .pdl-product-detail-page .pdl-product-function-grid::-webkit-scrollbar,
  .pdl-product-detail-page .pdl-product-alternative-grid::-webkit-scrollbar {
    display: none;
  }

  .pdl-product-detail-page .pdl-product-function-grid article {
    flex: 0 0 min(44vw, 330px);
    scroll-snap-align: start;
  }

  .pdl-product-detail-page .pdl-product-alternative-card {
    flex: 0 0 min(44vw, 330px);
    scroll-snap-align: start;
  }

  .pdl-product-printing-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    max-width: 360px;
    margin: 0 auto 14px;
    padding: 4px;
    background: #e7eef5;
    border-radius: 6px;
  }

  .pdl-product-printing-tabs button {
    min-height: 42px;
    color: #53677a;
    background: transparent;
    border: 0;
    border-radius: 4px;
    font-size: .86rem;
    font-weight: 800;
  }

  .pdl-product-printing-tabs button[aria-selected="true"] {
    color: #075bc7;
    background: #fff;
    box-shadow: 0 2px 8px rgba(18, 40, 63, .08);
  }

  .has-js .pdl-product-printing-option[data-pdl-product-printing-panel][hidden] {
    display: none !important;
  }
}

@media (max-width: 720px) {
  .pdl-printing-choice-hero h1 {
    font-size: 2.65rem;
  }

  .pdl-customization-quote-copy h2,
  .pdl-factory-hero h1,
  .pdl-industry-archive-hero h1,
  .pdl-quote-first-screen-copy h1 {
    font-size: 2.35rem;
  }

  .pdl-section,
  .section {
    scroll-margin-top: 76px;
  }

  /* Shared footer */
  .pdl-footer-grid {
    gap: 0 !important;
    padding: 30px 0 22px !important;
  }

  .pdl-footer-brand {
    padding-bottom: 18px;
  }

  .pdl-footer-brand p {
    max-width: none;
    margin: 8px 0 0;
    font-size: .82rem;
    line-height: 1.55;
  }

  .pdl-footer-brand .pdl-legal-name {
    display: none;
  }

  .pdl-footer-group,
  .pdl-footer-contact {
    border-top: 1px solid rgba(255, 255, 255, .12);
  }

  .pdl-footer-group button,
  .pdl-footer-contact-toggle {
    min-height: 48px;
    margin-bottom: 0;
    font-size: .9rem;
  }

  .pdl-footer-group button svg,
  .pdl-footer-contact-toggle svg {
    display: block;
    width: 17px;
    height: 17px;
    transition: transform 180ms ease;
  }

  .pdl-footer-group button[aria-expanded="true"] svg,
  .pdl-footer-contact-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
  }

  .pdl-footer-group ul,
  .pdl-footer-contact-list {
    display: none !important;
    margin: 0 0 16px;
    padding: 2px 0 4px;
  }

  .pdl-footer-group button[aria-expanded="true"] + ul,
  .pdl-footer-contact-toggle[aria-expanded="true"] + .pdl-footer-contact-list {
    display: grid !important;
  }

  .pdl-footer-group ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 14px;
  }

  .pdl-footer-group a,
  .pdl-footer-contact-list dd {
    padding: 6px 0;
    font-size: .78rem;
  }

  .pdl-footer-bottom {
    gap: 8px !important;
    padding: 14px 0 24px !important;
    font-size: .7rem !important;
    line-height: 1.45;
  }

  .pdl-footer-legal {
    grid-template-columns: 1fr;
    gap: 5px !important;
  }

  /* Sticky conversion actions */
  .has-js .pdl-mobile-sticky-actions {
    opacity: 0;
    pointer-events: none;
    transform: translateY(105%);
    transition: opacity 180ms ease, transform 220ms ease;
  }

  .has-js .pdl-mobile-sticky-actions.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .pdl-mobile-sticky-actions {
    height: 58px !important;
  }

  .pdl-mobile-sticky-actions a {
    font-size: .84rem !important;
  }

  /* Reusable FAQ summaries */
  .has-js .pdl-faq-list[data-pdl-mobile-faq-limit]:not(.is-expanded) .pdl-faq-item:nth-child(n + 4) {
    display: none;
  }

  .pdl-mobile-faq-toggle {
    width: 100%;
    min-height: 44px;
    margin-top: 12px;
    color: #075bc7;
    background: #edf6ff;
    border: 1px solid #d5e5f4;
    border-radius: 6px;
    font-size: .84rem;
    font-weight: 800;
  }

  .has-js .pdl-mobile-faq-toggle {
    display: block;
  }

  /* Product detail */
  .pdl-product-detail-page .pdl-product-detail-hero-grid {
    padding-top: 24px !important;
  }

  .pdl-product-detail-page .pdl-product-detail-intro h1 {
    margin-bottom: 12px !important;
    font-size: clamp(1.82rem, 8.5vw, 2.2rem) !important;
  }

  .pdl-product-detail-page .pdl-product-detail-lead {
    display: -webkit-box;
    margin-bottom: 12px !important;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .pdl-product-detail-page .pdl-product-detail-media {
    min-height: 225px !important;
  }

  .pdl-product-detail-page .pdl-product-detail-main-shot img {
    width: min(88%, 305px) !important;
    max-height: 225px !important;
  }

  .pdl-product-detail-page .pdl-product-detail-thumb-row {
    display: none;
  }

  .pdl-product-detail-page .pdl-section {
    padding: 34px 0 !important;
  }

  .pdl-product-detail-page .pdl-product-function-grid,
  .pdl-product-detail-page .pdl-product-alternative-grid,
  .pdl-product-detail-page .pdl-product-alternative-grid.pdl-product-alternative-count-1,
  .pdl-product-detail-page .pdl-product-alternative-grid.pdl-product-alternative-count-2 {
    display: flex !important;
    gap: 12px !important;
    margin-right: calc(50% - 50vw);
    padding-right: 18px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none;
  }

  .pdl-product-detail-page .pdl-product-function-grid::-webkit-scrollbar,
  .pdl-product-detail-page .pdl-product-alternative-grid::-webkit-scrollbar {
    display: none;
  }

  .pdl-product-detail-page .pdl-product-function-grid article {
    flex: 0 0 min(72vw, 270px);
    scroll-snap-align: start;
  }

  .pdl-product-detail-page .pdl-product-function-grid article figure {
    aspect-ratio: 16 / 9;
  }

  .pdl-product-detail-page .pdl-product-alternative-card {
    flex: 0 0 min(78vw, 300px);
    grid-template-columns: 96px minmax(0, 1fr) !important;
    min-height: 108px !important;
    scroll-snap-align: start;
  }

  .pdl-product-detail-page .pdl-product-alternative-card figure {
    width: 96px !important;
    min-height: 108px !important;
  }

  .pdl-product-printing-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    max-width: 360px;
    margin: 0 auto 12px;
    padding: 4px;
    background: #e7eef5;
    border-radius: 6px;
  }

  .pdl-product-printing-tabs button {
    min-height: 40px;
    color: #53677a;
    background: transparent;
    border: 0;
    border-radius: 4px;
    font-size: .82rem;
    font-weight: 800;
  }

  .pdl-product-printing-tabs button[aria-selected="true"] {
    color: #075bc7;
    background: #fff;
    box-shadow: 0 2px 8px rgba(18, 40, 63, .08);
  }

  .has-js .pdl-product-printing-option[data-pdl-product-printing-panel][hidden] {
    display: none !important;
  }

  .pdl-product-detail-page .pdl-product-printing-option {
    min-height: 184px !important;
  }

  .pdl-product-detail-page .pdl-product-spec-card-content h2 {
    font-size: 1.52rem !important;
  }

  .pdl-product-detail-page .pdl-product-quote-checklist {
    gap: 8px;
  }

  .pdl-product-detail-page .pdl-product-quote-checklist li {
    font-size: .82rem;
    line-height: 1.5;
  }

  /* Homepage mobile-only section switchers */
  .pdl-home-mobile-tabs {
    position: relative;
    z-index: 4;
    width: min(calc(100% - 28px), 720px);
    margin: 26px auto 0;
    padding: 4px;
    background: #e7eef5;
    border-radius: 6px;
  }

  .has-js .pdl-home-mobile-tabs {
    display: grid;
  }

  .pdl-home-mobile-tabs[data-mobile-tab-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pdl-home-mobile-tabs[data-mobile-tab-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pdl-home-mobile-tabs button {
    min-width: 0;
    min-height: 40px;
    padding: 6px 5px;
    color: #53677a;
    background: transparent;
    border: 0;
    border-radius: 4px;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
  }

  .pdl-home-mobile-tabs button[aria-selected="true"] {
    color: #075bc7;
    background: #fff;
    box-shadow: 0 2px 8px rgba(18, 40, 63, .08);
  }

  .has-js .home-mobile-tab-panel[hidden] {
    display: none !important;
  }

  body.home .final-paths-section .section-heading > p,
  body.home .applications-section .section-heading > p,
  body.home .bag-section .section-heading > p,
  body.home .quality-section .section-heading > p {
    display: none;
  }

  body.home .final-paths-section,
  body.home .applications-section,
  body.home .bag-section,
  body.home .quality-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  body.home .quality-proof-strip {
    display: flex;
    gap: 10px;
    margin-right: calc(50% - 50vw);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  body.home .quality-proof-strip figure {
    flex: 0 0 min(78vw, 310px);
    scroll-snap-align: start;
  }

  body.home .quality-proof-strip::-webkit-scrollbar {
    display: none;
  }

  body.home .factory-section {
    min-height: 560px !important;
  }

  body.home .certification-band {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
}

@media (max-width: 390px) {
  .pdl-guide-masthead h1 {
    max-width: 8em !important;
  }

  .pdl-printing-choice-hero h1 {
    font-size: 2.3rem;
  }

  .pdl-customization-quote-copy h2,
  .pdl-factory-hero h1,
  .pdl-industry-archive-hero h1,
  .pdl-quote-first-screen-copy h1 {
    font-size: 2.1rem;
  }

  .pdl-home-mobile-tabs button {
    font-size: .72rem;
  }

  .pdl-product-detail-page .pdl-product-detail-actions .pdl-button {
    font-size: .78rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pdl-mobile-sticky-actions,
  .pdl-footer-group button svg,
  .pdl-footer-contact-toggle svg {
    transition: none !important;
  }
}
