/*
 * Naswood Ek Modüller: ortak tasarım dili. Yeni bölümlerle (projeler, kataloglar) aynı:
 * koyu başlık alanı, bakır vurgu, bej zemin, ince çizgili kartlar. İki buton stili
 * (dolu bakır = ana işlem, çerçeveli = ikincil), en küçük yazı 12 px, dokunma alanı 44 px.
 * Mantıksal özellikler kullanılır; Farsçada (dir="rtl") ayrı kural gerekmez.
 */
:root {
    --nwx-ink: #2f302f;
    --nwx-ink-strong: #1f2120;
    --nwx-muted: #696560;
    --nwx-accent: #cc8a56;
    --nwx-copper: #a0612f;
    --nwx-copper-dark: #87501f;
    --nwx-paper: #f5f1eb;
    --nwx-paper-2: #fbf9f5;
    --nwx-line: rgba(47, 48, 47, .14);
    --nwx-error: #b42318;
    --nwx-ok: #1f7a4d;
    --nwx-font: Gilroy, "Segoe UI", Arial, sans-serif;
    --nwx-radius: 2px;
}
html[lang^="fa"] { --nwx-font: Vazirmatn, Tahoma, "Segoe UI", Arial, sans-serif; }

.nwx-main {
    background: #fff;
    color: var(--nwx-ink);
    font-family: var(--nwx-font);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
}
.nwx-main *, .nwx-main *::before, .nwx-main *::after { box-sizing: border-box; }
.nwx-shell { width: min(100% - 60px, 1380px); margin-inline: auto; }
@media (max-width: 767px) { .nwx-shell { width: calc(100% - 32px); } }

/* Başlık alanı (koyu) */
.nwx-hero {
    position: relative;
    overflow: hidden;
    padding: calc(var(--nwx-head, 100px) + 75px) 0 56px;
    color: #fff;
    background:
        radial-gradient(circle at 86% 18%, rgba(204, 138, 86, .24), transparent 28%),
        linear-gradient(120deg, #202522 0%, #2f302f 58%, #252926 100%);
}
.nwx-hero::after {
    position: absolute;
    inset-inline-end: -90px;
    bottom: -170px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    content: '';
    pointer-events: none;
}
.nwx-hero .nwx-shell { position: relative; z-index: 1; }
@media (max-width: 1198px) { .nwx-hero { padding-top: calc(var(--nwx-head, 100px) + 40px); } }
@media (max-width: 767px) { .nwx-hero { padding: calc(var(--nwx-head, 100px) + 24px) 0 36px; } }

.nwx-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 30px;
    font-size: 13px;
    color: rgba(255, 255, 255, .72);
}
.nwx-breadcrumb a { color: inherit; text-decoration: none; }
.nwx-breadcrumb a:hover { color: var(--nwx-accent); }
.nwx-breadcrumb strong { color: #fff; font-weight: 600; }

.nwx-eyebrow {
    display: block;
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--nwx-accent);
}
.nwx-main h1, .nwx-main h2, .nwx-main h3 { font-family: var(--nwx-font); font-weight: 600; letter-spacing: 0; margin: 0; }
.nwx-main h1 { font-size: clamp(32px, 4.2vw, 56px); line-height: 1.08; }
.nwx-main h2 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; }
.nwx-main h3 { font-size: 19px; line-height: 1.3; }
.nwx-hero h1 { color: #fff; max-width: 18ch; }
.nwx-hero__lead { max-width: 60ch; margin: 18px 0 0; font-size: 18px; color: rgba(255, 255, 255, .82); }

/* Butonlar: yalnızca iki stil */
.nwx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 22px;
    font: 600 15px/1.2 var(--nwx-font);
    text-decoration: none !important;
    border: 1px solid transparent;
    border-radius: var(--nwx-radius);
    cursor: pointer;
    transition: background-color .2s, border-color .2s, color .2s;
}
.nwx-btn--primary { color: #fff !important; background: var(--nwx-copper); border-color: var(--nwx-copper); }
.nwx-btn--primary:hover, .nwx-btn--primary:focus-visible { background: var(--nwx-copper-dark); border-color: var(--nwx-copper-dark); }
.nwx-btn--outline { color: var(--nwx-ink) !important; background: transparent; border-color: rgba(47, 48, 47, .35); }
.nwx-btn--outline:hover, .nwx-btn--outline:focus-visible { border-color: var(--nwx-copper); color: var(--nwx-copper-dark) !important; }
.nwx-hero .nwx-btn--outline { color: #fff !important; border-color: rgba(255, 255, 255, .45); }
.nwx-btn[disabled] { opacity: .6; cursor: progress; }
.nwx-main a:focus-visible, .nwx-main button:focus-visible, .nwx-main input:focus-visible,
.nwx-main select:focus-visible, .nwx-main textarea:focus-visible, .nwx-main [tabindex]:focus-visible {
    outline: 2px solid var(--nwx-accent);
    outline-offset: 2px;
}

/* Form alanları */
.nwx-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nwx-field > label, .nwx-field > .nwx-field__label { font-size: 14px; font-weight: 600; color: var(--nwx-ink-strong); }
.nwx-field .nwx-req { color: var(--nwx-copper); margin-inline-start: 2px; }
.nwx-field .nwx-opt { font-weight: 400; color: var(--nwx-muted); font-size: 13px; }
.nwx-field input[type="text"], .nwx-field input[type="email"], .nwx-field input[type="tel"],
.nwx-field select, .nwx-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    font: 400 16px/1.4 var(--nwx-font);
    color: var(--nwx-ink-strong);
    background: #fff;
    border: 1px solid rgba(47, 48, 47, .28);
    border-radius: var(--nwx-radius);
    box-shadow: none;
}
.nwx-field textarea { min-height: 128px; resize: vertical; }
.nwx-field input:focus, .nwx-field select:focus, .nwx-field textarea:focus { border-color: var(--nwx-copper); outline: none; box-shadow: 0 0 0 3px rgba(204, 138, 86, .2); }
.nwx-field.is-invalid input, .nwx-field.is-invalid select, .nwx-field.is-invalid textarea { border-color: var(--nwx-error); }
.nwx-field__error { margin: 0; font-size: 13px; color: var(--nwx-error); }
.nwx-field__hint { margin: 0; font-size: 13px; color: var(--nwx-muted); }
.nwx-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; }
.nwx-check input { flex: 0 0 auto; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--nwx-copper); }
.nwx-check a { color: var(--nwx-copper-dark); text-decoration: underline; }
.nwx-hp { position: absolute !important; inset-inline-start: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Kart ve kutular */
.nwx-card { background: #fff; border: 1px solid var(--nwx-line); border-radius: var(--nwx-radius); }
.nwx-box { background: var(--nwx-paper); border: 1px solid var(--nwx-line); padding: 24px; }
.nwx-muted { color: var(--nwx-muted); }
.nwx-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (prefers-reduced-motion: reduce) {
    .nwx-main *, .nwx-main *::before, .nwx-main *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Kartlar (ürün listesi, ilgili projeler) */
.nwx-pcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1280px) { .nwx-pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .nwx-pcards { grid-template-columns: 1fr; } }
.nwx-pcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--nwx-line); transition: box-shadow .2s, transform .2s; }
.nwx-pcard[hidden] { display: none; }
.nwx-pcard:hover { box-shadow: 0 14px 30px rgba(0, 0, 0, .08); }
.nwx-pcard__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--nwx-paper); }
.nwx-pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.nwx-pcard:hover .nwx-pcard__img img { transform: scale(1.04); }
.nwx-pcard__body { display: flex; flex-direction: column; flex: 1 1 auto; gap: 8px; padding: 18px 18px 20px; }
.nwx-pcard__family { font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--nwx-copper-dark); }
.nwx-main .nwx-pcard__title { font-size: 19px; line-height: 1.3; }
.nwx-pcard__title a { color: var(--nwx-ink-strong); text-decoration: none; }
.nwx-pcard__title a:hover { color: var(--nwx-copper-dark); }
.nwx-pcard__lead { margin: 0; font-size: 14px; line-height: 1.55; color: var(--nwx-muted); }
.nwx-pcard__rows { margin: 4px 0 0; padding: 10px 0 0; border-top: 1px solid var(--nwx-line); display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.nwx-pcard__rows div { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 8px; }
.nwx-pcard__rows dt { color: var(--nwx-muted); }
.nwx-pcard__rows dd { margin: 0; color: var(--nwx-ink-strong); }
.nwx-pcard__more { margin-top: auto; padding-top: 10px; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 600; font-size: 14px; color: var(--nwx-copper-dark) !important; text-decoration: none !important; }
