/* ==========================================================================
   Fekete Dáma — base.css
   Reset, custom properties, typography, body/html, theme-color foundations.
   ========================================================================== */

/* Modern reset */
*, *::before, *::after { box-sizing: border-box; }
html, body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, ul, ol { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }

/* Custom properties */
:root {
    /* Colors — royal gold + emerald + deep black */
    --c-bg:            #0D1013;
    --c-surface:       #161A1F;
    --c-surface2:      #1F242B;
    --c-border:        #2B323B;
    --c-text:          #F0ECE1;
    --c-text-dim:      #98A0A8;
    --c-accent:        #D4B45A;
    --c-accent-hover:  #E5C770;
    --c-accent-soft:   rgba(212, 180, 90, 0.12);
    --c-accent-line:   rgba(212, 180, 90, 0.22);
    --c-secondary:     #2E6A4A;
    --c-secondary-hover:#3A805A;
    --c-secondary-soft:rgba(46, 106, 74, 0.14);
    --c-white:         #FFFFFF;
    --c-error:         #E05C4D;
    --c-success:       #5CB06E;

    /* Fonts */
    --f-heading: 'Playfair Display', 'Times New Roman', serif;
    --f-body:    'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* Spacing — 8px grid */
    --s-4:   0.25rem;
    --s-8:   0.5rem;
    --s-12:  0.75rem;
    --s-16:  1rem;
    --s-24:  1.5rem;
    --s-32:  2rem;
    --s-40:  2.5rem;
    --s-48:  3rem;
    --s-64:  4rem;
    --s-80:  5rem;
    --s-96:  6rem;
    --s-128: 8rem;

    /* Transitions */
    --ease:      cubic-bezier(0.33, 1, 0.68, 1);
    --ease-in:   cubic-bezier(0.32, 0, 0.67, 0);
    --dur:       280ms;
    --dur-long:  480ms;

    /* Layout */
    --max-w:             1220px;
    --header-h:          68px;
    --header-h-scrolled: 60px;

    /* Radius — szögletesebb mint Piros Ász */
    --r-xs: 0;
    --r-sm: 2px;
    --r-md: 4px;
    --r-lg: 8px;
}

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
    font-family: var(--f-body);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--c-text);
    background: var(--c-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-height: 100vh;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--f-heading);
    font-weight: 600;
    line-height: 1.2;
    color: var(--c-white);
    letter-spacing: -0.01em;
}

h1 { font-size: clamp(2.125rem, 4.5vw, 3.5rem); font-weight: 700; }
h2 { font-size: clamp(1.625rem, 3vw, 2.375rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
h4 { font-size: 1.125rem; font-weight: 600; }

p { margin-bottom: var(--s-16); }
p:last-child { margin-bottom: 0; }

a {
    color: var(--c-accent);
    transition: color var(--dur) var(--ease);
}
a:hover { color: var(--c-accent-hover); }

strong, b { font-weight: 700; color: var(--c-text); }
em, i { font-style: italic; }

::selection {
    background: var(--c-accent);
    color: var(--c-bg);
}

:focus-visible {
    outline: 2px solid var(--c-accent);
    outline-offset: 3px;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--c-bg); }
::-webkit-scrollbar-thumb { background: var(--c-border); border-radius: var(--r-sm); }
::-webkit-scrollbar-thumb:hover { background: var(--c-accent); }
