/* ==========================================================================
   CBON Base Reset
   全站基礎重置 + 共用容器。依賴 design-tokens.css 的變數，必須在其後載入。
   只套用於「本來就載入 design-tokens.css 的頁面」；新頁面若只要變數、
   不要 reset，只載 design-tokens.css 即可。
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    background: var(--cbon-bg);
    color: var(--cbon-text);
    font-family: var(--cbon-font-sans);
    font-size: var(--cbon-text-base);
    line-height: var(--cbon-leading-normal);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
}

body {
    min-height: 100vh;
    overflow-x: hidden;
}

a {
    color: var(--cbon-primary);
    text-decoration: none;
    transition: color var(--cbon-duration-fast) var(--cbon-ease);
}

a:hover {
    color: var(--cbon-primary-700);
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: transparent;
    padding: 0;
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: var(--cbon-weight-bold);
    line-height: var(--cbon-leading-tight);
    color: var(--cbon-text);
}

p {
    margin: 0;
}

/* 共用容器 */
.cbon-container {
    width: 100%;
    max-width: var(--cbon-container-max);
    margin: 0 auto;
    padding: 0 var(--cbon-space-4);
}

.cbon-container-wide {
    width: 100%;
    max-width: var(--cbon-container-wide);
    margin: 0 auto;
    padding: 0 var(--cbon-space-4);
}

@media (min-width: 768px) {
    .cbon-container,
    .cbon-container-wide {
        padding: 0 var(--cbon-space-6);
    }
}
