/* Shared linked cards, used only where the new component classes are present. */
.shared-card-grid,.prototype .module-grid.shared-card-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;}
a.shared-card {display:flex;flex-direction:column;min-width:0;height:100%;margin:0;padding:0;border:1px solid #c9d5e3;border-radius:10px;background:#fff;color:#243746;text-decoration:none;box-shadow:none;transition:border-color .15s ease,transform .15s ease;}
a.shared-card:hover {border-color:#1f3a5f;transform:translateY(-2px);color:#243746;text-decoration:none;}
a.shared-card:focus-visible {outline:3px solid #8b4c12;outline-offset:3px;border-color:#1f3a5f;}
a.shared-card:hover .shared-card-title,a.shared-card:focus .shared-card-title {text-decoration:underline;text-underline-offset:3px;}
.shared-card .shared-card-body {display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:20px;}
.shared-card .shared-card-title,.prototype .module-grid .shared-card-title {margin:0;color:#1f3a5f;font:700 18px/1.35 Arial,sans-serif;text-decoration:none;}
.shared-card .shared-card-description {max-width:none;margin:0;color:#243746;font:17px/1.55 Georgia,serif;}
.shared-card-icon-circle {display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#e8eef6;color:#1f3a5f;}
.shared-card-icon-circle svg {width:24px;height:24px;}
.home-tool-groups {margin-top:2rem;}
.home-tool-group {margin:0 0 2rem;}
.home-tool-group>h2 {margin:0 0 1rem;color:#1f3a5f;font:700 24px/1.3 Arial,sans-serif;}
.home-tool-group .shared-card-grid {margin:0;}
.prototype .module-grid.shared-card-grid>.shared-card-cell {display:flex;min-width:0;padding:0;border:0;border-radius:0;background:transparent;}
.shared-card-thumbnail {display:block;width:100%;height:140px;object-fit:cover;object-position:center;border-radius:9px 9px 0 0;border-bottom:1px solid #e6eaef;}
.prototype .shared-card-body>p {margin:0;max-width:none;}
.prototype .shared-card-body>.callout-label {font:600 13px/1.4 Arial,sans-serif;letter-spacing:.08em;color:#4c5f70;}
.prototype .module-grid .shared-card-body>.time-meta {display:flex;align-items:flex-start;gap:.4em;font:14px/1.4 Arial,sans-serif;color:#4c5f70;}
.prototype .shared-card-body>.time-meta svg {flex:0 0 1em;margin-top:.1em;}
.prototype .module-grid .shared-card-body>p:not(.callout-label):not(.time-meta) {font:17px/1.55 Georgia,serif;color:#243746;}
.prototype .module-grid .shared-card-done {display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding:5px 8px;border-radius:6px;background:#eaf3ee;color:#285c3d;font:600 13px/1.4 Arial,sans-serif;}
.shared-card-done svg {width:16px;height:16px;flex:0 0 16px;}
.shared-course-progress {display:flex;align-items:center;gap:12px;margin:16px 0;padding:14px 16px;border:1px solid #c9d5e3;border-radius:10px;background:#e8eef6;color:#34465c;font:14px/1.4 Arial,sans-serif;}
.shared-course-progress-track {flex:1;min-width:30px;height:5px;border-radius:9px;background:#c7d5e5;overflow:hidden;}
.shared-course-progress-fill {display:block;height:100%;border-radius:inherit;background:#ad5414;}
.shared-course-progress-count {flex:0 1 auto;}
.shared-course-progress [hidden] {display:none!important;}
.prototype .shared-ui-button {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid #718397;border-radius:6px;background:#fff;color:#1f3a5f;font:600 15px/1.3 Arial,sans-serif;box-shadow:none;}
.prototype .shared-ui-button:hover {border-color:#1f3a5f;background:#f5f8fc;}
.prototype .shared-ui-button:focus-visible {outline:3px solid #8b4c12;outline-offset:3px;}
/* File decorations do not change link destinations, target, or download attributes. */
.downloads-file-actions a.file-type-link,.orientation-documents-panel a.file-type-link {display:inline-flex;align-items:flex-start;gap:7px;max-width:100%;}
.file-type-link .file-button-copy {min-width:0;}
.file-type-icon {display:inline-block;flex:0 0 22px;width:22px;height:26px;color:#1f3a5f;vertical-align:middle;}
.file-type-caption .file-type-icon {width:19px;height:23px;margin-right:5px;vertical-align:-.35em;}
.file-type-link .file-download-arrow {flex:0 0 14px;width:14px;height:14px;margin-top:4px;color:#1f3a5f;}
@media(min-width:601px) and (max-width:1023px) {.shared-card-grid,.prototype .module-grid.shared-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px) {.shared-card-grid,.prototype .module-grid.shared-card-grid {grid-template-columns:minmax(0,1fr);}.shared-card .shared-card-body {padding:18px;}.shared-card-thumbnail {height:140px;}}
@media(prefers-reduced-motion:reduce) {a.shared-card {transition:none;}a.shared-card:hover {transform:none;}}

/* Home grouping and compact phone card headers. Course cards retain their layout. */
@media(min-width:1024px) {
 .home-companion-resources-group .shared-card-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(min-width:600px) and (max-width:1023px) {
 .home-companion-resources-group .shared-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:599px) {
 .home-tool-card .shared-card-body {display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto 1fr;align-items:center;column-gap:12px;row-gap:12px;}
 .home-tool-card .shared-card-icon-circle {grid-column:1;grid-row:1;}
 .home-tool-card .shared-card-title {grid-column:2;grid-row:1;}
 .home-tool-card .shared-card-description {grid-column:1/-1;grid-row:2;align-self:start;}
}
/* Use the available desktop space for paired PDF and Word buttons. */
@media(min-width:1024px) {
 .catalogue-cards .download-catalogue-card.has-file-pair {grid-template-columns:minmax(0,1fr) 22.5rem;}
}
.downloads-file-actions a.file-type-link,.orientation-documents-panel a.file-type-link {width:auto;flex:0 1 auto;vertical-align:middle;}

/* Home's featured Advisory panel uses the same document icon as the cards. */
.home-intro-grid > .home-advisory-panel {border-top:5px solid #1f3a5f;align-self:start;}
.home-intro-grid > .home-advisory-panel h2 {display:flex;align-items:center;gap:12px;}
.home-intro-grid > .home-advisory-panel h2 > .shared-card-icon-circle {flex:0 0 46px;}
@media(min-width:761px){.home-intro-grid > .home-advisory-panel {margin-top:0;}}
