/*
 * Dosya: /assets/css/base/_main.css
 * GÜNCELLEME: Form elemanlarının ana fontu miras almasını sağlayan kural eklendi.
 */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400 700; /* Değişken fontun desteklediği ağırlık aralığı */
  font-display: swap;   /* Font yüklenirken metnin görünmesini sağlar */
  src: url('https://budgetfitter.co.uk/wp-content/uploads/2025/04/FiraSans-Variable.woff2') format('woff2');
}

@font-face {
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 400 700; /* Değişken italik fontun desteklediği ağırlık aralığı */
  font-display: swap;
  src: url('https://budgetfitter.co.uk/wp-content/uploads/2025/04/FiraSans-VariableItalic.woff2') format('woff2');
}

html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    overflow-wrap: break-word;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

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

body, p, h1, h2, h3, h4, h5, h6, ol, ul, li, figure, blockquote {
    margin: 0;
    padding: 0;
    border: none;
    font: inherit;
}

b, strong { font-weight: bold; }
em { font-style: italic; }
img { height: auto; max-width: 100%; vertical-align: middle; }
a { color: var(--theme-palette-color-1); text-decoration: none; transition: var(--theme-transition); }

a:focus, button:focus {
    outline-width: 0;
}

a:focus-visible, button:focus-visible {
    outline: 2px solid var(--theme-palette-color-2);
    outline-offset: 3px;
}

/* === 3. Temel Tipografi === */
body {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.5;
    letter-spacing: -0.04rem;
    color: var(--theme-palette-color-3);
    background-color: var(--theme-palette-color-8);
}

body ::selection {
    color: var(--theme-palette-color-14);
    background-color: var(--theme-palette-color-16);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--theme-palette-color-4);
    margin-block-end: calc(0.3em + 10px);
}
h1 { font-weight: 600; font-size: 1.8rem; line-height: 1.3; }
h2 { font-weight: 600; font-size: 1.6rem; line-height: 1.3; }
h3 { font-weight: 500; font-size: 1.4rem; line-height: 1.3; }

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
    margin-block-end: 0;
}

p { margin-block-end: var(--theme-content-spacing); }
p:last-child { margin-block-end: 0; }

ul, ol {
    padding-inline-start: 1.5em;
    margin-block-end: var(--theme-content-spacing);
}

/* === 4. Ana Site Düzeni === */
.ct-container {
    width: var(--theme-container-width);
    max-width: var(--theme-normal-container-max-width);
    margin-left: auto;
    margin-right: auto;
}

#page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#content {
    flex-grow: 1;
}

/* === 5. YENİ: Form Elemanları Font Düzeltmesi === */
input,
button,
textarea,
select {
    font-family: inherit; /* Bu satır, tüm form elemanlarının body'den doğru fontu almasını sağlar */
}