:root{--cando-layout-max:1440px}
/* Shared foundations. Geometry specific to the navigation lives in navigation.css. */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--cando-background-page);color:var(--cando-text-primary);font-family:var(--cando-font-family-body),Tahoma,Arial,sans-serif;font-weight:var(--cando-font-weight-regular);font-size:var(--cando-body-m-size);line-height:var(--cando-body-m-lh);font-synthesis:none}
button,input,summary{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{max-width:100%}
button:disabled,[aria-disabled=true]{cursor:not-allowed}
:focus-visible{outline:3px solid var(--cando-primary-400);outline-offset:4px}
[hidden]{display:none!important}
.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;z-index:1000;inset-block-start:8px;inset-inline-start:8px;background:var(--cando-brand-500);padding:12px}
.button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border:1px solid transparent;border-radius:6px;font-size:14px;line-height:20px;font-weight:var(--cando-font-weight-medium)}
.button--primary{background:var(--cando-primary-button-default);color:var(--cando-brand-900);box-shadow:0 2px 6px #03126933}
.button--primary:hover{background:var(--cando-primary-button-hover)}
.content-shell{max-width:var(--cando-layout-max);margin:0 auto;padding:64px 24px;min-height:calc(100vh - 80px)}
.content-shell h1{font-size:var(--cando-heading-lg-size);line-height:var(--cando-heading-lg-lh)}
.content-entry{margin-block:24px}
.content-entry a:hover{text-decoration:underline}

/* Hide horizontal rail chrome while retaining native scrolling and slider controls. */
.home-scroll-row::-webkit-scrollbar,.catalog-rail::-webkit-scrollbar,.pdp-roadmap ol::-webkit-scrollbar,.pdp-review-grid::-webkit-scrollbar{height:0}

.cando-icon{display:inline-block;flex:none;width:20px;height:20px;background:currentColor;mask:var(--cando-icon-url) center/contain no-repeat;-webkit-mask:var(--cando-icon-url) center/contain no-repeat}

/* Shared hover feedback for selectable options and navigation links. */
:where(.home-goal,.home-goal__number,.course-group__all,.course-group .topic-list a,.featured-topic){transition-property:background-color,border-color,color,box-shadow;transition-duration:var(--cando-motion-hover-duration);transition-timing-function:var(--cando-motion-hover-easing)}
:where(.home-goal__arrow,.course-group__all>.nav-icon){transition:transform var(--cando-motion-hover-duration) var(--cando-motion-hover-easing)}
@media(prefers-reduced-motion:reduce){:root{--cando-motion-hover-duration:0ms}}

/* Shared catalog and editorial pagination. */
.catalog-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--cando-space-2);margin-top:var(--cando-space-8);font-size:var(--cando-body-m-size)}
.catalog-pagination__page,.catalog-pagination__step{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 var(--cando-space-2);border:1px solid var(--cando-border-disabled);border-radius:8px;background:var(--cando-background-surface);color:var(--cando-text-primary);text-decoration:none;font-weight:var(--cando-font-weight-medium)}
a.catalog-pagination__page:hover,a.catalog-pagination__step:hover{border-color:var(--cando-brand-500);background:var(--cando-brand-50)}
.catalog-pagination__page[aria-current=page]{border-color:var(--cando-primary-800);background:var(--cando-primary-800);color:#fff}
span.catalog-pagination__step{opacity:.35}
.catalog-pagination__step .nav-icon{width:18px;height:18px}
.catalog-pagination__gap{min-width:24px;text-align:center;color:var(--cando-text-tertiary)}
.catalog-pagination__step .nav-icon.is-mirrored{transform:scaleX(-1)}
