[role=button]:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px}a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:0}.btn:focus-visible,.button:focus-visible,.cta-button:focus-visible,.nav-link:focus-visible{outline:2px solid var(--purple-400);outline-offset:3px;box-shadow:0 0 0 4px var(--purple-100)}.category-card:focus-visible,.gallery-item:focus-visible,.link-card:focus-within,.product-card:focus-within{outline:2px solid var(--purple-500);outline-offset:2px;box-shadow:0 0 0 4px var(--purple-100)}@layer components{.skip-link{position:absolute;top:-100px;left:50%;z-index:99999;padding:1rem 2rem;font-weight:var(--font-semibold);color:var(--text-on-purple);background:var(--purple-700);border-radius:var(--radius-md);transform:translateX(-50%);transition:top .3s ease;text-decoration:none}}.skip-link:focus{top:10px;outline:2px solid var(--purple-300);outline-offset:2px}@layer components{.text-on-dark{color:#fff;text-shadow:0 1px 2px rgb(0 0 0/20%)}.text-high-contrast{color:var(--neutral-900)}.text-high-contrast-inverse{color:#fff}::placeholder{color:var(--neutral-600);opacity:1}::selection{color:var(--neutral-900);background:var(--purple-300)}.field-required,.required{color:var(--error)}}.field-error,.input-error,input.error,select.error,textarea.error{border-color:var(--error)!important;box-shadow:0 0 0 3px var(--error-light)}@layer components{.error-message,.field-error-message{font-size:var(--text-sm);color:var(--error-text);margin-top:var(--space-1)}}.field-success,.input-success,input.success,select.success{border-color:var(--success)!important;box-shadow:0 0 0 3px var(--success-light)}@layer components{label{cursor:pointer}label[for]{display:inline-block}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}}.screen-reader-text,.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sr-only-focusable:active,.sr-only-focusable:focus{position:static!important;width:auto!important;height:auto!important;padding:inherit!important;margin:inherit!important;overflow:visible!important;clip:auto!important;white-space:inherit!important}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.loading-spinner,.progress-bar{animation:none!important}}@media (prefers-contrast:high){button,input,select,textarea{border-width:2px!important}:focus-visible{outline-width:3px!important;outline-style:solid!important}.card,.link-card,.product-card{border:2px solid var(--neutral-400)!important;box-shadow:none!important}a{text-decoration:underline!important}}@media (prefers-color-scheme:dark){:focus-visible{outline-color:var(--purple-300)}}@layer components{.mobile-btn,.mobile-nav-link,.touch-target{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px}@media (pointer:coarse){.badge,.small-link,.tag{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .75rem}}:is([aria-live=polite],[aria-live=assertive]):empty{display:none}.status-message[role=status]{padding:var(--space-4);margin:1rem 0;border-radius:var(--radius-md)}.status-message.success{color:var(--success-text);background:var(--success-light);border:1px solid var(--success)}.status-message.error{color:var(--error-text);background:var(--error-light);border:1px solid var(--error)}.status-message.warning{color:var(--warning-text);background:var(--warning-light);border:1px solid var(--warning)}.status-message.info{color:var(--info-text);background:var(--info-light);border:1px solid var(--info)}}@media print{a[href]::after{content:" ("attr(href)")";font-size:.8em;color:#666}a[href^="#"]::after,a[href^="javascript:"]::after{content:""}}