/* Shared public UI details. Loaded after page layouts; uses the public token scale.
   Native search, select, details and checkbox behavior stays intact. */
:root {
  --p-search-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23536579' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E");
  --p-select-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23536579' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
.p-button { gap: var(--p-s3); }
.p-copy-link { display: inline-flex; align-items: center; justify-content: center; gap: var(--p-s2); }
.p-copy-link .p-icon { width: 16px; height: 16px; }
.p-button:disabled { opacity: 1; color: var(--p-muted) !important; background: var(--p-soft); border-color: var(--p-line); cursor: default; }
.p-copy-link:disabled { color: var(--p-muted); border-color: var(--p-line); cursor: default; }
.p-button:not(:disabled):active { background: var(--p-blue-hover); }
.p-button--secondary:not(:disabled):active, .p-copy-link:not(:disabled):not([aria-pressed="true"]):active { background: var(--p-line); }
.p-filter label { min-width: 0; }
.p-filter input[type="search"], .p-home-search input[type="search"] { padding-inline-start: var(--p-s7); background-image: var(--p-search-image); background-repeat: no-repeat; background-position: left var(--p-s4) center; background-size: 20px; }
.p-filter select, .p-contact-form select { appearance: none; padding-inline-end: var(--p-s7); background-image: var(--p-select-image); background-repeat: no-repeat; background-position: right var(--p-s4) center; background-size: 20px; }
.p-filter :where(input,select):focus, .p-home-search input:focus, .p-contact-form :where(input:not([type="checkbox"]),select,textarea):focus { border-color: var(--p-blue); }
.p-library-search { border: 1px solid var(--p-line); border-radius: var(--p-radius); }
[data-glossary] > .p-filter, [data-filter-list] > .p-filter { background: var(--p-soft); border: 1px solid var(--p-line); border-radius: var(--p-radius); padding: var(--p-s5); }
.p-error-code { font: 500 clamp(4rem, 10vw, 6rem)/1 var(--p-mono); letter-spacing: -.05em; color: var(--p-heading); margin-block-end: var(--p-s5) !important; }
.p-page-head:has(.p-error-code) { padding-block-end: 0; }
.p-page-head:has(.p-error-code) + .p-section { padding-block-start: var(--p-s6); }
.p-page-head:has(.p-error-code) + .p-section .p-scope-list { margin-block-start: 0; }
.p-scope-list > article { display: flex; flex-direction: column; border: 1px solid var(--p-line); border-radius: var(--p-radius); padding: var(--p-s5); }
.p-scope-list h2 { font-size: var(--p-h3); }
.p-scope-list p { margin-block-end: var(--p-s5); }
.p-scope-list .p-link { margin-block-start: auto; }
[data-glossary] > .p-status, [data-filter-list] > .p-status { margin-block: var(--p-s5); }
.p-status { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.p-empty { display: grid; justify-items: center; gap: var(--p-s4); text-align: center; border: 1px solid var(--p-line); border-radius: var(--p-radius); margin-block: var(--p-s6); }
.p-empty::before { content: ''; width: 48px; height: 48px; border: 1px solid var(--p-line); border-radius: 50%; background: var(--p-white) var(--p-search-image) center / 24px no-repeat; }
.p-empty h2 { font-size: var(--p-h3); }
.p-empty p { color: var(--p-muted); max-width: 36em; }
.p-empty .p-button { margin-block-start: var(--p-s2); }
.p-reading-path__number { display: grid; place-items: center; align-self: center; width: 40px; height: 40px; border: 1px solid var(--p-line); border-radius: 50%; color: var(--p-heading); background: var(--p-soft); }
.p-reading-path__list a > .p-icon { width: 32px; height: 32px; padding: var(--p-s1); border: 1px solid var(--p-line); border-radius: 50%; }
.p-reading-path__list a { grid-template-columns: 56px minmax(0,1fr) 32px; }
.p-guide-card { display: flex; flex-direction: column; height: 100%; min-width: 0; padding-block-end: var(--p-s5); border-block-end: 1px solid var(--p-line); }
.p-guide-card figure { border-radius: var(--p-radius); overflow: hidden; }
.p-guide-card p { margin-block-end: var(--p-s4); }
.p-guide-card .p-link { margin-block-start: auto; justify-content: space-between; padding-block-start: var(--p-s2); }
.p-tool-resource { border: 1px solid var(--p-line); border-radius: var(--p-radius); }
.p-tool-resource > img { border-radius: var(--p-radius); }
.p-term { border: 1px solid var(--p-line); border-radius: var(--p-radius); min-width: 0; }
.p-term h2 { padding-block-end: var(--p-s4); border-block-end: 1px solid var(--p-line); }
.p-term dl { grid-template-columns: 88px minmax(0,1fr); align-items: baseline; }
.p-term dt { font-size: var(--p-small); }
.p-term > .p-small { display: inline-block; background: var(--p-soft); border-radius: var(--p-radius); padding: var(--p-s1) var(--p-s2); }
.p-pagination { justify-content: space-between; flex-wrap: wrap; gap: var(--p-s3); padding-block: var(--p-s5); border-block: 1px solid var(--p-line); }
.p-pagination [data-page] { color: var(--p-muted); font-size: var(--p-ui); }
.p-pagination [data-prev] .p-icon { transform: rotate(180deg); }
.p-category-links { gap: var(--p-s3); }
.p-category-links a { border: 1px solid var(--p-line); border-radius: var(--p-radius); padding: var(--p-s3) var(--p-s4); text-decoration: none !important; }
.p-sample-grid { align-items: start; }
.p-sample-grid > li { min-width: 0; border: 1px solid var(--p-line); border-radius: var(--p-radius); background: var(--p-white); }
.p-sample-grid [data-image-viewer] { display: block; position: relative; border-radius: var(--p-radius) var(--p-radius) 0 0; }
.p-sample-grid img { border-radius: var(--p-radius) var(--p-radius) 0 0; }
.p-sample-preview__hint { position: absolute; inset-inline-end: var(--p-s3); inset-block-end: var(--p-s3); display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--p-control); background: var(--p-white); color: var(--p-blue); border-radius: var(--p-radius); }
.p-sample-grid h2 { padding-inline: var(--p-s4); font-variant-numeric: tabular-nums; }
.p-sample-details { margin-block-start: var(--p-s2); border-block-start: 1px solid var(--p-line); }
.p-sample-details > a { padding: var(--p-s3) var(--p-s4); gap: var(--p-s2); }
.p-toc details { border: 1px solid var(--p-line); border-radius: var(--p-radius); background: var(--p-soft); }
.p-toc details > div { padding: 0 var(--p-s2) var(--p-s2); }
.p-toc a { border: 0; border-radius: var(--p-radius); padding: var(--p-s3); min-height: 44px; }
.p-toc a + a { margin-block-start: var(--p-s1); }
.p-toc summary, .p-sample-details summary, .p-inquiry-details summary, .p-article-contact summary { position: relative; list-style: none; padding: var(--p-s3) var(--p-s7) var(--p-s3) var(--p-s4); min-height: 48px; text-decoration: none; color: var(--p-heading); }
:is(.p-toc,.p-sample-details,.p-inquiry-details,.p-article-contact) summary::-webkit-details-marker { display: none; }
:is(.p-toc,.p-sample-details,.p-inquiry-details,.p-article-contact) summary::after { content: ''; position: absolute; inset-inline-end: var(--p-s5); top: calc(50% - 6px); width: 8px; height: 8px; border-inline-end: 1.5px solid currentColor; border-block-end: 1.5px solid currentColor; transform: rotate(45deg); }
.p-toc details[open] > summary::after, :is(.p-sample-details,.p-inquiry-details,.p-article-contact)[open] > summary::after { transform: rotate(225deg); top: calc(50% - 2px); }
.p-sample-details[open] > summary { background: var(--p-soft); }
.p-article-contact { padding: 0; border: 1px solid var(--p-line); border-radius: var(--p-radius); background: var(--p-soft); }
.p-article-contact > p, .p-article-contact > .p-link { margin-inline: var(--p-s4); }
.p-article-contact > .p-link { margin-block-end: var(--p-s4); }
.p-article-meta { align-items: center; }
.p-note { border-inline-start: 3px solid var(--p-control); border-radius: 0 var(--p-radius) var(--p-radius) 0; }
.p-process-steps li { border: 1px solid var(--p-line); border-radius: var(--p-radius); }
.p-related a { align-items: center; min-height: 52px; padding-inline: var(--p-s4); border: 1px solid var(--p-line); border-radius: var(--p-radius); text-decoration: none; }
.p-image-viewer__head { padding-block-end: var(--p-s4); border-block-end: 1px solid var(--p-line); }
.p-image-viewer__stage { background: var(--p-soft); border-radius: var(--p-radius); }
.p-image-viewer [aria-pressed="true"] { background: var(--p-blue); color: var(--p-white); border-color: var(--p-blue); }
.p-contact-form { border: 1px solid var(--p-line); border-radius: var(--p-radius); }
.p-contact-form__intro { padding-block-end: var(--p-s5); border-block-end: 1px solid var(--p-line); }
.p-contact-form label { font-weight: 500; }
.p-contact-form :where(input,textarea,select) { font-weight: 400; }
.p-contact-form textarea { line-height: 1.65; }
.p-inquiry-details { border: 1px solid var(--p-line); border-radius: var(--p-radius); padding: 0; background: var(--p-white); }
.p-inquiry-details > div { padding: var(--p-s4); border-block-start: 1px solid var(--p-line); }
.p-inquiry-handoff { padding: var(--p-s5); margin-block-start: 0; background: var(--p-white); border: 1px solid var(--p-line); border-radius: var(--p-radius); }
.p-inquiry-draft:has(input:not(:checked)) .p-inquiry-remember { color: var(--p-muted); }
.p-contact-form .p-note { border: 0; }
.p-contact-direct { min-width: 0; border: 1px solid var(--p-line); border-radius: var(--p-radius); padding: var(--p-panel-space); }
.p-contact-direct > .p-link { color: var(--p-blue); gap: var(--p-s3); }
.p-contact-direct .p-facts { margin-block-start: var(--p-s5); }
.p-contact-direct .p-facts > div { align-items: center; padding-block: var(--p-s2); }
.p-contact-direct .p-facts a { min-height: 44px; }
.p-contact-next { margin-block-start: var(--p-s5); padding-block-start: var(--p-s5); }
.p-contact-next > p { font-size: var(--p-ui); }
/* Introduction and project families retain their layouts and real photographs. */
.p-business-index { gap: var(--p-s3); border: 0; padding: 0; }
.p-business-index a { border: 1px solid var(--p-line); border-radius: var(--p-radius); padding: var(--p-s4); background: var(--p-soft); }
.p-production-steps li::before { width: 32px; height: 32px; display: grid; place-items: center; color: var(--p-blue); background: var(--p-soft); border: 1px solid var(--p-line); border-radius: 50%; font-variant-numeric: tabular-nums; }
.p-company-scope, .p-company-glossary, .p-responsibility, .p-workflow, .p-software-case__visual, .p-digital-transloom .p-product-screen { border-radius: var(--p-radius); }
.p-case__media img, .p-evidence-gallery img, .p-home-route, .p-process-index img, .p-home-product figure > a { border-radius: var(--p-radius); }
.p-home-services > a { border-block-start-width: 2px; }
.p-home-services .p-icon { width: 24px; height: 24px; padding: var(--p-s1); border: 1px solid var(--p-line); border-radius: 50%; }
.p-home-questions a, .p-digital-index a { padding-inline: var(--p-s3); border-radius: var(--p-radius); }
.p-digital-index__status { justify-self: start; padding: var(--p-s1) var(--p-s2); border: 1px solid var(--p-line); border-radius: var(--p-radius); background: var(--p-soft); }
.p-digital-assistant__tasks > div { border-inline-start-color: var(--p-control); }
.checkup-item { transition: none; }
.checkup-item input { width: 24px; height: 24px; margin: 0; }
.checkup-result [data-result-title] { font-size: var(--p-h3); }
.checkup-result ul { list-style: none; padding: 0; }
.checkup-result li { padding-block: var(--p-s3); border-block-end: 1px solid var(--p-line); }
@media (hover:hover) and (pointer:fine) {
  .p-copy-link:not(:disabled):not([aria-pressed="true"]):hover, .p-category-links a:hover, .p-related a:hover, .p-reading-path__list a:hover, .p-home-services > a:hover, .p-home-questions a:hover { background: var(--p-soft); }
  .p-guide-card:hover, .p-sample-grid > li:has(a:hover), .p-tool-resource:hover, .p-business-index a:hover { border-color: var(--p-control); }
  .p-guide-card:hover .p-link, .p-related a:hover { text-decoration: underline; text-underline-offset: 6px; }
  .p-sample-grid [data-image-viewer]:hover .p-sample-preview__hint { background: var(--p-blue); color: var(--p-white); border-color: var(--p-blue); }
  .p-toc a:hover { background: var(--p-white); text-decoration: underline; text-underline-offset: 4px; }
  .p-inquiry-details summary:hover, .p-sample-details summary:hover, .p-article-contact summary:hover { background: var(--p-soft); }
  .p-button:disabled:hover { background: var(--p-soft); }
}
@media (prefers-reduced-motion:no-preference) {
  .p-copy-link, .p-guide-card, .p-sample-preview__hint, .p-category-links a, .p-business-index a, .checkup-item { transition: background-color var(--p-fast) var(--p-ease), border-color var(--p-fast) var(--p-ease), color var(--p-fast) var(--p-ease); }
}
@media (max-width:900px) { .p-digital-index__status { justify-self: end; } }
@media (max-width:520px) {
  [data-glossary] > .p-filter, [data-filter-list] > .p-filter { padding: var(--p-s4); }
  .p-filter .p-button { flex: 1 1 auto; }
  .p-empty { padding: var(--p-s6) var(--p-s4); }
  .p-reading-path__list a { grid-template-columns: 32px minmax(0,1fr) 24px; gap: var(--p-s3); }
  .p-reading-path__number { width: 32px; height: 32px; align-self: start; }
  .p-reading-path__list a > .p-icon { width: 24px; height: 24px; }
  .p-tool-resource { padding: var(--p-s4); grid-template-columns: 64px minmax(0,1fr) 20px; gap: var(--p-s3); background: var(--p-soft); }
  .p-tool-resource > img { width: 64px; height: 64px; }
  .p-sample-grid { gap: var(--p-s4) var(--p-s3); }
  .p-sample-grid h2 { padding-inline: var(--p-s3); font-size: 1.125rem; }
  .p-sample-details summary { padding-inline: var(--p-s3) var(--p-s6); font-size: var(--p-small); }
  .p-sample-details summary::after { inset-inline-end: var(--p-s3); }
  .p-sample-details > a { padding-inline: var(--p-s3); flex-wrap: wrap; }
  .p-sample-preview__hint { inset-inline-end: var(--p-s2); inset-block-end: var(--p-s2); }
  .p-inquiry-handoff { padding: var(--p-s4); }
  .p-inquiry-handoff .p-actions > .p-button { width: 100%; }
  .p-pagination .p-button { padding-inline: var(--p-s3); gap: var(--p-s2); }
  .p-term dl { grid-template-columns: 76px minmax(0,1fr); }
}
@media (forced-colors:active) {
  .p-filter select, .p-contact-form select { appearance: auto; background-image: none; }
  .p-button:disabled { color: GrayText !important; border-color: GrayText; }
  .p-sample-preview__hint { border-color: ButtonText; }
}
