/* ═══════════════════════════════════════
   GLOBAL STYLES — Reset, Typography, Layout
   ═══════════════════════════════════════ */

/* Reset */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--bb-font-body);
    font-size: var(--bb-text-body);
    line-height: var(--bb-lh-body);
    color: var(--bb-text-primary);
    background: var(--bb-bg-cream);
    overflow-x: hidden;
}

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

a {
    color: var(--bb-rose-ancien);
    text-decoration: none;
    transition: var(--bb-transition);
}
a:hover { color: var(--bb-bordeaux); }

::selection {
    background: var(--bb-rose-ancien);
    color: var(--bb-white);
}

/* Layout */
.container {
    width: min(90%, 1200px);
    margin: 0 auto;
}

.container--narrow {
    width: min(90%, 800px);
    margin: 0 auto;
}

.section-padding {
    padding: var(--bb-space-3xl) 0;
}

/* Typography */
h1, h2, h3, h4 {
    font-family: var(--bb-font-display);
    letter-spacing: var(--bb-ls-display);
    color: var(--bb-bordeaux);
}

h1 {
    font-size: var(--bb-text-h1);
    line-height: var(--bb-lh-display);
    font-weight: 600;
}

h2 {
    font-size: var(--bb-text-h2);
    line-height: var(--bb-lh-heading);
    font-weight: 600;
    color: var(--bb-marsala);
}

h3 {
    font-size: var(--bb-text-h3);
    line-height: var(--bb-lh-heading);
    font-weight: 600;
}

h4 {
    font-size: var(--bb-text-h4);
    line-height: var(--bb-lh-heading);
    font-weight: 600;
}

.label {
    font-family: var(--bb-font-body);
    font-size: var(--bb-text-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: var(--bb-ls-caps);
    color: var(--bb-text-secondary);
}

/* Screen reader text */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal;
}

/* Focus visible for keyboard users */
:focus-visible {
    outline: 2px solid var(--bb-rose-ancien);
    outline-offset: 2px;
}

/* WordPress alignment classes */
.alignwide { max-width: min(95%, 1400px); margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; max-width: 100%; }
.aligncenter { text-align: center; }
.alignleft { float: left; margin-right: var(--bb-space-md); }
.alignright { float: right; margin-left: var(--bb-space-md); }

/* WordPress pagination */
.pagination,
.nav-links {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: var(--bb-space-xl);
}
.page-numbers {
    padding: 0.5rem 0.875rem;
    border-radius: var(--bb-radius-sm);
    font-size: var(--bb-text-small);
    color: var(--bb-text-secondary);
    transition: var(--bb-transition);
}
.page-numbers:hover,
.page-numbers.current {
    background: var(--bb-bordeaux);
    color: var(--bb-white);
}
