/* Packaging Types only: native Gutenberg content remains editable. */
.gp-types-page { background: var(--gp-color-cream-light); color: var(--gp-color-ink); }
.gp-types-page :where(p, h1, h2, h3, figure, .wp-block-buttons) { margin-block: 0; }
.gp-types-page .gp-types-wrap { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.gp-types-page .gp-types-section { padding-block: 88px; }
.gp-types-page .gp-types-kicker { color: var(--gp-color-green); font-size: 12px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.gp-types-page .gp-types-heading { font-size: clamp(32px, 3vw, 44px); line-height: 1.12; letter-spacing: -.035em; max-width: 760px; }
.gp-types-page .gp-types-section-intro { max-width: 690px; color: var(--gp-color-muted); margin-top: 18px; font-size: 17px; line-height: 1.7; }
.gp-types-page .gp-types-hero { padding-block: 36px 64px; }
.gp-types-page .gp-types-breadcrumb { font-size: 12px; margin-bottom: 40px; color: var(--gp-color-muted); }
.gp-types-page .gp-types-breadcrumb a { text-decoration: none; }
.gp-types-page .gp-types-hero-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 64px; align-items: center; }
.gp-types-page .gp-types-hero-copy { display: grid; gap: 24px; }
.gp-types-page h1 { font-size: clamp(52px, 5vw, 72px); line-height: .98; letter-spacing: -.055em; max-width: 490px; margin: 0; }
.gp-types-page .gp-types-hero-intro { font-size: 18px; line-height: 1.65; }
.gp-types-page .gp-types-hero-support { font-size: 15px; color: var(--gp-color-muted); line-height: 1.75; }
.gp-types-page .gp-types-hero-visual { display: grid; grid-template-columns: .85fr 1.15fr; gap: 12px; padding: 20px; background: var(--gp-color-green); border-radius: 28px 28px 80px 28px; border-bottom: 9px solid var(--gp-color-yellow); }
.gp-types-page .gp-types-hero-visual figure { min-width: 0; overflow: hidden; border-radius: 10px; background: var(--gp-color-cream); }
.gp-types-page .gp-types-hero-visual figure img { width: 100%; height: 100%; object-fit: cover; }
.gp-types-page .gp-types-hero-visual .gp-types-visual-large { grid-column: 2; grid-row: 1 / span 2; }
.gp-types-page .gp-types-hero-visual .gp-types-visual-large img { object-fit: contain; }
.gp-types-page .gp-types-hero-visual .gp-types-visual-small { aspect-ratio: 4 / 3; }
.gp-types-page .gp-types-features { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 50px; border-top: 1px solid var(--gp-color-line); padding-top: 22px; gap: 24px; }
.gp-types-page .gp-types-features p { font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 12px; }
.gp-types-page .gp-types-features p::before { content: ""; width: 7px; height: 7px; background: var(--gp-color-yellow); flex: 0 0 7px; }
.gp-types-page .gp-types-categories { background: var(--gp-color-cream); }
.gp-types-page .gp-types-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
.gp-types-page .gp-types-category-card { background: var(--gp-color-cream-light); position: relative; border: 1px solid var(--gp-color-line); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
.gp-types-page .gp-types-category-card figure { aspect-ratio: 4 / 3; overflow: hidden; }
.gp-types-page .gp-types-category-card figure img { width: 100%; height: 100%; object-fit: cover; }
.gp-types-page .gp-types-card-copy { padding: 28px; display: flex; flex: 1; flex-direction: column; gap: 14px; }
.gp-types-page .gp-types-card-copy > .wp-block-buttons { margin-top: auto; }
.gp-types-page .gp-types-card-number { font-size: 12px; color: var(--gp-color-green); font-weight: 750; letter-spacing: .1em; }
.gp-types-page .gp-types-category-card h3 { font-size: 25px; line-height: 1.12; }
.gp-types-page .gp-types-category-card .gp-types-card-description { color: var(--gp-color-muted); font-size: 15px; line-height: 1.65; }
.gp-types-page .gp-types-entry-button { margin-top: auto; }
.gp-types-page .gp-types-entry-button .wp-block-button__link { border: 0; padding: 16px 0 0; background: none; color: var(--gp-color-teal-deep); font-size: 13px; font-weight: 750; border-radius: 0; text-decoration: none; }
.gp-types-page .gp-types-linked-card a.wp-block-button__link::after { content: ""; position: absolute; inset: 0; }
.gp-types-page .gp-types-linked-card:has(a):hover { border-color: var(--gp-color-green); box-shadow: 0 12px 32px rgba(16,47,49,.07); }
.gp-types-page .gp-types-linked-card:focus-within { outline: 3px solid var(--gp-color-teal); outline-offset: 4px; }
.gp-types-page .gp-types-comparison-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 36px; }
.gp-types-page .gp-types-comparison { border-top: 3px solid var(--gp-color-yellow); padding: 26px; background: var(--gp-color-cream); border-radius: 0 0 12px 12px; }
.gp-types-page .gp-types-comparison h3 { font-size: 23px; margin-bottom: 24px; }
.gp-types-page .gp-types-comparison p { font-size: 14px; color: var(--gp-color-muted); padding-block: 15px; border-top: 1px solid var(--gp-color-line); line-height: 1.65; }
.gp-types-page .gp-types-comparison strong { display: block; color: var(--gp-color-ink); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 7px; }
.gp-types-page .gp-types-products { background: var(--gp-color-cream); }
.gp-types-page .gp-types-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
.gp-types-page .gp-types-product-card { display: flex; flex-direction: column; border: 1px solid var(--gp-color-line); border-radius: 12px; overflow: hidden; position: relative; background: var(--gp-color-cream-light); }
.gp-types-page .gp-types-product-card figure { aspect-ratio: 4 / 3; overflow: hidden; }
.gp-types-page .gp-types-product-card img { width: 100%; height: 100%; object-fit: contain; }
.gp-types-page .gp-types-product-card .gp-types-card-copy { padding: 22px; gap: 12px; }
.gp-types-page .gp-types-product-card .gp-types-kicker { font-size: 10px; letter-spacing: .09em; }
.gp-types-page .gp-types-product-card h3 { font-size: 21px; line-height: 1.18; }
.gp-types-page .gp-types-product-card .gp-types-card-description { font-size: 13px; line-height: 1.65; color: var(--gp-color-muted); }
.gp-types-page .gp-types-guidance-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 90px; }
.gp-types-page .gp-types-guidance-grid .gp-types-heading { max-width: 420px; }
.gp-types-page .gp-types-guidance-copy { display: grid; gap: 24px; }
.gp-types-page .gp-types-guidance-copy p { border-bottom: 1px solid var(--gp-color-line); padding-bottom: 24px; color: var(--gp-color-muted); font-size: 16px; }
.gp-types-page .gp-types-rfq { background: var(--gp-color-yellow); padding-block: 68px; }
.gp-types-page .gp-types-rfq-grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 64px; }
.gp-types-page .gp-types-rfq-copy { display: grid; gap: 20px; max-width: 720px; }
.gp-types-page .gp-types-rfq .gp-types-heading { max-width: 650px; }
.gp-types-page .gp-types-rfq .gp-types-kicker { color: var(--gp-color-teal-deep); }
.gp-types-page .gp-types-rfq .wp-block-button__link { background: var(--gp-color-teal-deep); color: var(--gp-color-cream-light); padding: 18px 30px; border-radius: 99px; font-size: 13px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 1199px) {
 .gp-types-page .gp-types-hero-grid { gap: 32px; }
 .gp-types-page .gp-types-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
 .gp-types-page .gp-types-category-grid, .gp-types-page .gp-types-comparison-grid { gap: 16px; }
 .gp-types-page .gp-types-card-copy, .gp-types-page .gp-types-comparison { padding: 22px; }
}
/* Tablet adjustments leave the approved desktop and mobile layouts unchanged. */
@media (min-width: 768px) and (max-width: 1199.98px) {
 .gp-types-page .gp-types-comparison-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .gp-types-page .gp-types-guidance-grid { grid-template-columns: 1fr; gap: 28px; }
 .gp-types-page .gp-types-guidance-grid .gp-types-heading { max-width: none; }
}
@media (min-width: 768px) and (max-width: 899.98px) {
 .gp-types-page .gp-types-hero > .gp-types-wrap { display: flex; flex-direction: column; }
 .gp-types-page .gp-types-hero-grid { display: contents; }
 .gp-types-page .gp-types-hero-copy { order: 1; }
 .gp-types-page .gp-types-features { order: 2; margin-top: 28px; }
 .gp-types-page .gp-types-hero-visual { order: 3; width: 100%; max-width: 680px; align-self: center; margin-top: 28px; }
 .gp-types-page .gp-types-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .gp-types-page .gp-types-comparison-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
 .gp-types-page .gp-types-wrap { width: calc(100% - 40px); }
 .gp-types-page .gp-types-section { padding-block: 52px; }
 .gp-types-page .gp-types-hero { padding-block: 28px 44px; }
 .gp-types-page .gp-types-hero-grid, .gp-types-page .gp-types-category-grid, .gp-types-page .gp-types-comparison-grid, .gp-types-page .gp-types-product-grid, .gp-types-page .gp-types-guidance-grid, .gp-types-page .gp-types-rfq-grid { grid-template-columns: 1fr; gap: 28px; }
 .gp-types-page .gp-types-features { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
 .gp-types-page .gp-types-rfq { padding-block: 48px; }
 .gp-types-page h1 { max-width: none; }
}

/* Category detail pages share the Types system without changing its parent. */
.gp-type-detail .gp-types-section { padding-block: 72px; }
.gp-type-detail .gp-types-heading { font-size: clamp(30px, 2.6vw, 40px); }
.gp-type-detail .gp-type-hero { padding-block: 36px 64px; }
.gp-type-detail .gp-type-hero-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 56px; align-items: center; }
.gp-type-detail .gp-type-hero-copy { display: grid; gap: 22px; }
.gp-type-detail .gp-type-hero-visual { margin: 0; border-radius: 24px 24px 72px 24px; overflow: hidden; box-shadow: 7px 8px 0 var(--gp-color-yellow); }
.gp-type-detail .gp-type-hero-visual img { display: block; width: 100%; height: auto; }
.gp-type-detail .gp-type-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 12px; }
.gp-type-detail .gp-type-feature { display: grid; grid-template-columns: 26px 1fr; align-items: start; gap: 9px; }
.gp-type-detail .gp-type-feature svg { width: 26px; height: 26px; color: var(--gp-color-teal-deep); }
.gp-type-detail .gp-type-feature p { font-size: 11px; line-height: 1.6; color: var(--gp-color-muted); }
.gp-type-detail .gp-type-feature strong { display: block; margin-bottom: 5px; color: var(--gp-color-teal-deep); font-size: 12px; line-height: 1.4; }
.gp-type-detail .gp-type-structure-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.gp-type-detail .gp-type-structure-card figure { aspect-ratio: 16 / 10; background: var(--gp-color-cream); }
.gp-type-detail .gp-type-structure-card figure img { object-fit: contain; }
.gp-type-detail .gp-type-structure-card h3 { font-size: 24px; }
.gp-type-detail .gp-type-structure-card .gp-types-card-copy { padding: 24px; }
.gp-type-detail .gp-type-applications { background: var(--gp-color-cream); padding-block: 54px; }
.gp-type-detail .gp-type-application-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.gp-type-detail .gp-type-application { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 8px 10px; text-align: center; }
.gp-type-detail .gp-type-application svg { display: block; width: 44px; height: 44px; color: var(--gp-color-teal-deep); }
.gp-type-detail .gp-type-application p { max-width: 160px; font-size: 14px; font-weight: 650; line-height: 1.45; }
.gp-type-detail .gp-type-finishing-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 64px; align-items: center; }
.gp-type-detail .gp-type-finishing-copy { display: grid; gap: 24px; }
.gp-type-detail .gp-type-finishing-copy > p { color: var(--gp-color-muted); font-size: 16px; line-height: 1.75; }
.gp-type-detail .gp-type-finishing-visual { border-radius: 16px; overflow: hidden; }
.gp-type-detail .gp-type-finishing-visual img { display: block; width: 100%; height: auto; }
.gp-type-detail .gp-type-finishing-labels { display: flex; flex-wrap: wrap; gap: 10px; }
.gp-type-detail .gp-type-finishing-labels p { border: 1px solid var(--gp-color-line); border-radius: 99px; padding: 8px 13px; font-size: 12px; font-weight: 650; }
.gp-type-detail .gp-type-products { background: var(--gp-color-cream); }
.gp-type-detail .gp-types-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; list-style: none; }
.gp-type-detail .gp-types-product-grid > li { display: flex; min-width: 0; }
.gp-type-detail .gp-types-product-card { width: 100%; }
.gp-type-detail .gp-types-product-card .wp-block-post-featured-image { margin: 0; aspect-ratio: 4 / 3; }
.gp-type-detail .gp-types-product-card .wp-block-post-featured-image img { display: block; height: 100%; object-fit: contain; }
.gp-type-detail .gp-types-product-card .wp-block-post-excerpt { margin: 0; font-size: 14px; line-height: 1.65; color: var(--gp-color-muted); }
.gp-type-detail .gp-types-product-card .wp-block-post-excerpt p { margin: 0; }
.gp-type-detail .gp-types-product-link { align-self: flex-start; margin-top: auto; padding-top: 16px; color: var(--gp-color-teal-deep); font-size: 13px; font-weight: 750; text-decoration: none; }
.gp-type-detail .gp-types-product-link::after { content: ""; position: absolute; inset: 0; }
@media (max-width: 1199px) {
 .gp-type-detail .gp-type-hero-grid, .gp-type-detail .gp-type-finishing-grid { gap: 32px; }
 .gp-type-detail .gp-type-features { grid-template-columns: 1fr; gap: 12px; }
 .gp-type-detail .gp-type-application-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .gp-type-detail .gp-type-structure-grid, .gp-type-detail .gp-types-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) and (max-width: 1199.98px) {
 .gp-type-detail .gp-type-finishing-grid { grid-template-columns: 1fr; gap: 32px; }
 .gp-type-detail .gp-type-finishing-visual { width: 100%; max-width: 680px; justify-self: center; }
}
@media (max-width: 899.98px) {
 .gp-type-detail .gp-type-hero-grid, .gp-type-detail .gp-type-finishing-grid { grid-template-columns: 1fr; }
 .gp-type-detail .gp-type-features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .gp-type-detail .gp-type-hero-visual { width: calc(100% - 8px); max-width: 680px; justify-self: center; }
}
@media (max-width: 767px) {
 .gp-type-detail .gp-types-section { padding-block: 52px; }
 .gp-type-detail .gp-type-hero { padding-block: 28px 44px; }
 .gp-type-detail .gp-type-structure-grid, .gp-type-detail .gp-types-product-grid, .gp-type-detail .gp-type-features { grid-template-columns: 1fr; }
 .gp-type-detail .gp-type-application-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Capability-led categories: additive components reuse the detail page system. */
.gp-type-detail .gp-type-large-format-factors,
.gp-type-detail .gp-type-capability-framework { background: var(--gp-color-cream); }
.gp-type-detail .gp-type-factor-grid,
.gp-type-detail .gp-type-capability-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
.gp-type-detail .gp-type-factor-card { display: grid; align-content: start; gap: 16px; padding: 24px 20px; border: 1px solid var(--gp-color-line); border-radius: 12px; background: var(--gp-color-cream-light); }
.gp-type-detail .gp-type-factor-card svg,
.gp-type-detail .gp-type-capability-item svg { display: block; width: 36px; height: 36px; color: var(--gp-color-teal-deep); }
.gp-type-detail .gp-type-factor-card h3,
.gp-type-detail .gp-type-capability-item h3 { font-size: 18px; line-height: 1.3; }
.gp-type-detail .gp-type-factor-card p,
.gp-type-detail .gp-type-capability-item p { font-size: 14px; line-height: 1.65; color: var(--gp-color-muted); }
.gp-type-detail .gp-type-large-scenarios .gp-type-application { padding: 24px 14px; border: 1px solid var(--gp-color-line); border-radius: 12px; background: var(--gp-color-cream); }
.gp-type-detail .gp-type-capability-item { display: grid; align-content: start; gap: 16px; border-top: 3px solid var(--gp-color-yellow); padding: 24px 8px 0; }
.gp-type-detail .gp-type-featured-product { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-top: 32px; overflow: hidden; border: 1px solid var(--gp-color-line); border-radius: 16px; background: var(--gp-color-cream-light); }
.gp-type-detail .gp-type-featured-product > figure { margin: 0; min-width: 0; }
.gp-type-detail .gp-type-featured-product > figure img { display: block; width: 100%; height: auto; }
.gp-type-detail .gp-type-featured-copy { display: grid; gap: 22px; min-width: 0; padding: 32px 32px 32px 0; }
.gp-type-detail .gp-type-featured-copy h3 { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.2; }
.gp-type-detail .gp-type-featured-copy > p { font-size: 16px; line-height: 1.7; color: var(--gp-color-muted); }
.gp-type-detail .gp-type-featured-points { display: grid; gap: 12px; margin: 0; padding-left: 22px; font-size: 14px; line-height: 1.55; }
.gp-type-detail .gp-type-featured-points li::marker { color: var(--gp-color-green); }
.gp-type-detail .gp-type-featured-cta .wp-block-button__link { padding: 14px 24px; border: 0; border-radius: 99px; background: var(--gp-color-yellow); color: var(--gp-color-teal-deep); font-size: 14px; font-weight: 750; text-decoration: none; }
@media (max-width: 1199.98px) {
 .gp-type-detail .gp-type-factor-grid,
 .gp-type-detail .gp-type-capability-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .gp-type-detail .gp-type-featured-product { grid-template-columns: 1fr; gap: 0; }
 .gp-type-detail .gp-type-featured-product > figure { width: 100%; max-width: 680px; justify-self: center; }
 .gp-type-detail .gp-type-featured-copy { padding: 32px; }
}
@media (max-width: 899.98px) {
 .gp-type-detail .gp-type-factor-grid,
 .gp-type-detail .gp-type-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .gp-type-detail .gp-type-factor-grid,
 .gp-type-detail .gp-type-capability-grid { grid-template-columns: 1fr; }
 .gp-type-detail .gp-type-featured-copy { padding: 24px; }
}
