/* Shared navigation and footer only. Course layouts live in their own directories. */
:root{--ds-header-height:max(30px,2.9296875vw)}
html{scroll-padding-top:calc(var(--ds-header-height) + 16px)}
[hidden]{display:none!important}
.ds-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:flex-end;min-height:var(--ds-header-height);padding:0 max(12px,1.5625vw);background:#e56d16}
.ds-brand{display:none;text-decoration:none;flex-shrink:0}
.ds-brand img{display:block;width:76px;height:auto;max-height:54px;object-fit:contain}
.ds-menu-toggle{display:none}
.ds-nav{display:flex;align-items:center;justify-content:flex-end;gap:max(18px,2.34375vw);flex-wrap:nowrap;margin:0}
.ds-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:0;padding:0;color:rgba(254,236,182,.6);font:600 max(12px,1.46484375vw)/1.7333333 "Dog Schkola Sans",Arial,Helvetica,sans-serif;letter-spacing:.078125vw;text-decoration:none;white-space:nowrap}
.ds-nav a[aria-current]{color:#fff5d7;font-weight:597}
.ds-nav a:hover,.ds-nav a:focus-visible{color:#fff5d7}
.ds-header a:focus-visible,.ds-menu-toggle:focus-visible,.ds-footer a:focus-visible{outline:3px solid #241d36;outline-offset:3px}
/* Contextual course return belongs to the shared sticky header. */
.ds-course-return{flex-shrink:0;margin:0 auto 0 0;padding:0}
.ds-course-return a{display:inline-flex;align-items:center;gap:8px;min-height:var(--ds-header-height);padding:0 8px 0 0;color:#fff5d7;font:600 max(12px,1.171875vw)/1.4 "Dog Schkola Sans",Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap;touch-action:manipulation}
.ds-course-return svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ds-course-return a:hover span{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){
 :root{--ds-header-height:74px}
 .ds-header{height:auto;min-height:var(--ds-header-height);padding:10px 6.25%;justify-content:space-between;flex-wrap:wrap;gap:0;background:rgba(255,240,185,.65)}
 .ds-header.ds-nav-enhanced{height:var(--ds-header-height)}
 .ds-brand{display:inline-flex;align-items:center}
 .ds-course-return{margin:0 auto}
 .ds-course-return a{min-height:44px;padding:0 6px;font-size:13px;color:#672c12}
 .ds-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;flex-shrink:0;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:#e86f16;cursor:pointer;touch-action:manipulation}
 .ds-menu-toggle span{display:block;width:40px;height:6px;flex-shrink:0;border-radius:4px;background:currentColor}
 .ds-nav{flex-basis:100%;width:100%;display:flex;flex-direction:column;gap:0;padding:8px 12px;background:rgba(232,117,19,.96);border-radius:12px;box-shadow:0 2px 4px rgba(36,29,54,.22);max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
 .ds-nav-enhanced .ds-nav{position:absolute;top:calc(100% - 6px);left:0;right:0}
 .ds-nav a,.ds-nav a[aria-current]{display:flex;justify-content:center;width:100%;min-height:40px;padding:4px 0;color:#fff0b9;font:400 clamp(20px,5.08vw,22px)/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;text-align:center;white-space:normal}
}
/* Main-site footer: brand, account/legal links and social links. */
.ds-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;min-height:max(96px,8.984375vw);padding:20px 6.8359375% 14px;background:#fff0b9;color:#e56d16}
.ds-footer-brand{justify-self:start;display:inline-flex;align-items:center}
.ds-footer-brand img{display:block;width:max(62px,6.25vw);height:auto}
.ds-legal-links{display:flex;align-items:center;justify-content:center;gap:max(20px,2.34375vw);margin:0}
.ds-legal-links a{display:inline-flex;align-items:center;min-height:34px;color:inherit;font:708 max(10px,.9765625vw)/1.4 "Dog Schkola Sans",Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap}
.ds-social-links{display:flex;align-items:center;justify-content:flex-end;gap:max(12px,1.171875vw);justify-self:end}
.ds-social-links a{display:flex;align-items:center;justify-content:center;width:max(34px,3.3203125vw);height:max(34px,3.3203125vw);border:2px solid currentColor;border-radius:50%;color:inherit;text-decoration:none}
.ds-social-links svg{display:block;width:74%;height:74%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ds-social-links .ds-facebook{fill:currentColor;stroke:none}
.ds-footer a:hover{color:#a64b0b}
@media(max-width:700px){
 .ds-footer{grid-template-columns:auto 1fr;align-items:center;gap:18px 12px;min-height:0;padding:26px 6.25% 20px}
 .ds-footer-brand img{width:76px}
 .ds-social-links{gap:12px}
 .ds-social-links a{width:36px;height:36px}
 .ds-legal-links{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:12px}
 .ds-legal-links a{font-size:11px;min-height:36px}
}
