/* Fabrika Teknik pastel kurumsal palet — yalnız renk katmanı. */
:root {
    --navy: #2d1f3b;
    --blue: #503765;
    --teal: #7950a5;
    --ink: #30243b;
    --muted: #716579;
    --line: #ded3e5;
    --bg: #f7f2f8;
    --white: #fffdfb;
    --pastel-lilac: #eee5f4;
    --pastel-violet: #d8c4e7;
    --warm-white: #fffdfb;
    --controlled-turquoise: #59aaa2;
    /* Semantik roller: bileşenler yeni geliştirmelerde doğrudan renk yerine bunları kullanır. */
    --surface-canvas: var(--bg);
    --surface-primary: var(--warm-white);
    --surface-muted: var(--pastel-lilac);
    --text-primary: var(--ink);
    --text-secondary: var(--muted);
    --action-primary: var(--teal);
    --action-primary-hover: #653e91;
    --border-subtle: var(--line);
    --focus-ring: #367d77;
}

body { background-color: var(--bg); color: var(--ink); }
a { color: var(--teal); }
button, .button { background-color: var(--teal); border-color: var(--teal); }
button:hover, .button:hover { background-color: var(--action-primary-hover); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 3px;
}
input, select, textarea { border-color: #c9b9d3; background-color: var(--warm-white); color: var(--ink); }

.topline, .admin-nav, footer { background-color: var(--navy); }
.main-nav, header, .site-header, .panel, .filters, .product-card, .media-card { background-color: var(--warm-white); }

html:not([data-theme="dark"]) body > .header.wrap {
    background-color: #fff;
}

html[data-theme="dark"] body > .header.wrap {
    background-color: #000;
}

body > .header.wrap::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset-block: 0;
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    background-color: #fff;
    pointer-events: none;
}

html[data-theme="dark"] body > .header.wrap::before {
    background-color: #000;
}
.main-nav .cart-link, .commercial span, summary, .eyebrow { color: var(--teal) !important; }
.cart-link span { background-color: #eee3f5; }
.category-strip a { background-color: var(--navy); border-top-color: var(--controlled-turquoise); }
.category-strip a > span:first-child { color: #cdbbd9; }
.category-strip a > span:last-child { color: #83c9c2; }
.member-banner { background-color: #eee7f2; border-left-color: var(--controlled-turquoise); }
.product-visual, .no-image { background-color: #f1ebf4; }
.no-image { background-image: linear-gradient(135deg, #f8f4f9, #e9dff0); color: #75627f; }
.product-card:hover { box-shadow: 0 7px 20px rgba(64, 38, 78, .10); }
.status { background-color: #eee6f3; color: #594268; }
.admin-nav a:hover, .admin-nav .selected { background-color: #493359; }
.stat { border-top-color: var(--controlled-turquoise); }
th { background-color: #eee8f2; color: #66566f; }
.save-button { box-shadow: 0 3px 14px rgba(45, 31, 59, .18); }
.pagination-current, .pagination-current:hover { background-color: var(--teal); border-color: var(--teal); }
.pagination-link:hover { color: var(--teal); border-color: var(--teal); }

/* Ana sayfa: mevcut ölçü ve yerleşimleri değiştirmeden renk eşlemesi. */
.utility { background-color: var(--navy); color: #e8dfee; }
.utility a { color: #fff; }
.site-search { background-color: #faf7fb; border-color: var(--line); color: #76657f; box-shadow: 0 8px 24px rgba(56, 35, 69, .05); }
.site-search input { color: var(--ink); }
.site-search button, .request-link, .product-meta span:first-child, .member-price { color: var(--teal); }
.nav { border-color: var(--line); background-color: var(--warm-white); }
.catalog-link { border-color: var(--line); }
.request-link span { background-color: #eee4f4; }
.hero { background-color: #eee7f2; }
.hero-context, .hero-copy > p, .hero-note, .section-heading p, .process > p,
.process li p, .contact-strip p, .footer p { color: var(--muted); }
.hero-context span { background-color: var(--controlled-turquoise); }
.primary { background-color: var(--teal); }
.primary:hover { background-color: #653e91; }
.hero-note .icon { color: var(--controlled-turquoise); }
.art-orbit { background-color: #e7dced; border-color: #d8c9e1; }
.art-caption, .art-caption small { color: #74627d; }
.category-grid, .category-item, .product, .product-card__detail, .footer,
.footer-bottom, .contact-strip .secondary { border-color: var(--line); }
.category-item { background-color: var(--warm-white); }
.category-item:hover { background-color: #f0e8f4; }
.category-icon { color: #6f4c83; }
.product { background-color: var(--warm-white); }
.product-picture { background-color: #f3edf5; }
.product-category { background-color: #e8ddef; color: #604d6a; }
.member-note { color: #74657c; }
.procurement { background-color: #f3edf5; }
.process li > span { border-color: #bea9cc; color: var(--teal); }
.membership { background-color: #3b2949; }
.membership p, .membership-contact { color: #d8cbdc; }
.membership-icon { color: #81c1ba; }
.white { color: #3b2949; background-color: var(--warm-white); }
.white:hover { color: #3b2949; background-color: #f1e8f5; }
.secondary { color: #5e456d; border-color: #c8b7d3; }
.footer { background-color: #f4eef6; }
.footer-grid > div > a:not(.brand) { color: #65546e; }

/* Koyu modda aynı mor kimliğin daha derin karşılığı. */
html[data-theme=dark] {
    --navy: #1c1424;
    --blue: #412c50;
    --teal: #c39be0;
    --ink: #f0e8f3;
    --muted: #bbaec1;
    --line: #4a3b53;
    --bg: #211827;
    --white: #2b2032;
    --surface-canvas: var(--bg);
    --surface-primary: var(--white);
    --surface-muted: #35273d;
    --text-primary: var(--ink);
    --text-secondary: var(--muted);
    --action-primary: var(--teal);
    --action-primary-hover: #d2b0e8;
    --border-subtle: var(--line);
    --focus-ring: var(--controlled-turquoise);
    color-scheme: dark;
}
html[data-theme=dark] body { background-color: var(--bg); color: var(--ink); }
html[data-theme=dark] header,
html[data-theme=dark] .site-header,
html[data-theme=dark] .main-nav,
html[data-theme=dark] .nav,
html[data-theme=dark] .panel,
html[data-theme=dark] .filters,
html[data-theme=dark] .product-card,
html[data-theme=dark] .product,
html[data-theme=dark] .category-item,
html[data-theme=dark] .media-card { background-color: var(--white); }
html[data-theme=dark] input,
html[data-theme=dark] select,
html[data-theme=dark] textarea,
html[data-theme=dark] .site-search { background-color: #241a2b; color: var(--ink); border-color: #584661; }
html[data-theme=dark] .hero { background-color: #2e2236; }
html[data-theme=dark] .product-picture,
html[data-theme=dark] .product-visual,
html[data-theme=dark] .no-image { background-color: #251c2c; }
html[data-theme=dark] .procurement { background-color: #271d2e; }
html[data-theme=dark] .category-item:hover { background-color: #35273d; }
html[data-theme=dark] th { background-color: #392b42; color: #d6c7dc; }
html[data-theme=dark] .member-banner { background-color: #34283b; border-color: var(--controlled-turquoise); }
html[data-theme=dark] .footer { background-color: #1f1725; }
html[data-theme=dark] .site-shell .product-detail { color: #fff; }
html[data-theme=dark] input::placeholder,
html[data-theme=dark] textarea::placeholder { color: #b5a8bc; }
html[data-theme=dark] button.secondary,
html[data-theme=dark] .secondary,
html[data-theme=dark] .view-switch { background-color: var(--white); color: var(--ink); border-color: var(--line); }
html[data-theme=dark] .badge,
html[data-theme=dark] .count { background-color: #3a2c43; color: var(--ink); border-color: var(--line); }
html[data-theme=dark] td { border-color: var(--line); }
html[data-theme=dark] .notice { background-color: #3b3226; border-color: #806d45; }
html[data-theme=dark] .notice.success { background-color: #20372e; border-color: #4f7f68; }
html[data-theme=dark] .notice.error { background-color: #40282d; border-color: #88535d; }
html[data-theme=dark] .specs > div:nth-child(odd) { background-color: #261c2d; }
html[data-theme=dark] .cart-link span { background-color: #493456; }
html[data-theme=dark] .product-card__detail,
html[data-theme=dark] .request-link,
html[data-theme=dark] .text-link { color: var(--teal); }
html[data-theme=dark] .search-autocomplete-list { background-color: var(--white); border-color: var(--line); box-shadow: 0 18px 42px rgba(0,0,0,.38); }
html[data-theme=dark] .search-suggestion { color: var(--ink); }
html[data-theme=dark] .search-suggestion:hover,
html[data-theme=dark] .search-suggestion[aria-selected=true] { background-color: #412e4b; color: #e1c9ee; }
html[data-theme=dark] .search-suggestion-meta,
html[data-theme=dark] .search-suggestion-empty,
html[data-theme=dark] .filter-auto-status { color: var(--muted); }

/* Müşteri merkezi */
.account-center{max-width:1120px;margin:12px auto 40px}.account-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.account-heading h1{margin-bottom:6px}.account-heading p{margin:0;color:var(--muted)}.account-state{padding:7px 13px;border:1px solid #bfaad0;border-radius:999px;background:var(--pastel-lilac);color:#54396b;font-size:14px;font-weight:700}.account-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.account-tabs button{display:grid;grid-template-columns:1fr auto;gap:3px 14px;min-height:102px;margin:0;padding:17px 18px;border:1px solid var(--line);border-radius:7px;background:var(--warm-white);color:var(--ink);text-align:left;box-shadow:none}.account-tabs button:hover{border-color:#ad91c0;background:#f7f1f9}.account-tabs button[aria-selected=true]{border-color:#7950a5;background:#eee5f4;box-shadow:inset 0 -4px 0 #59aaa2}.account-tabs button span{align-self:end;font-size:18px;font-weight:750}.account-tabs button strong{grid-row:1/3;grid-column:2;align-self:center;min-width:40px;font-size:27px;text-align:center;color:#7950a5}.account-tabs button small{color:var(--muted);font-weight:500}.account-tab-panel{padding:24px;border:1px solid var(--line);border-radius:7px;background:var(--warm-white)}.account-tab-panel[hidden]{display:none}.account-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--line)}.account-panel-heading h2{margin-bottom:3px}.account-panel-heading p{margin:0;color:var(--muted)}.account-records{margin-bottom:16px}.account-record{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(150px,.8fr) minmax(150px,.7fr);align-items:center;gap:20px;padding:17px 12px;border-bottom:1px solid var(--line);color:var(--ink)}.account-record:hover{background:#f7f2f8;text-decoration:none}.account-record>span:last-child{text-align:right}.account-empty{padding:38px 22px;text-align:center;background:#f7f2f8;border:1px dashed #cbb9d6;border-radius:6px}.account-empty h3{margin:0 0 5px}.account-empty p{color:var(--muted)}.account-tab-panel>.panel{margin:0;border:0;padding:4px 0 0;background:transparent}
html[data-theme=dark] .account-state{background:#3a2a43;color:#e1c9ee;border-color:#654b74}html[data-theme=dark] .account-tabs button,html[data-theme=dark] .account-tab-panel{background:var(--white)}html[data-theme=dark] .account-tabs button:hover,html[data-theme=dark] .account-record:hover,html[data-theme=dark] .account-empty{background:#35273d}html[data-theme=dark] .account-tabs button[aria-selected=true]{background:#412e4b}

/* Ürün fotoğraflarının kendi beyaz fonlarıyla bütünleşmesi için iki temada da sabit kalır. */
.product-visual,
html[data-theme="dark"] .product-visual {
    background-color: #fff;
}
.quote-status-strip{display:flex;gap:8px;overflow-x:auto;margin:0 0 20px;padding:2px}.quote-status-strip a{display:flex;align-items:center;gap:10px;min-width:max-content;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--warm-white);color:var(--ink)}.quote-status-strip a:hover,.quote-status-strip a.selected{border-color:#7950a5;background:#eee5f4;text-decoration:none}.quote-status-strip strong{color:#7950a5}.quote-status-strip span{font-size:14px}html[data-theme=dark] .quote-status-strip a{background:var(--white)}html[data-theme=dark] .quote-status-strip a:hover,html[data-theme=dark] .quote-status-strip a.selected{background:#412e4b}
@media(max-width:700px){.account-heading{align-items:flex-start}.account-tabs{grid-template-columns:1fr}.account-tabs button{min-height:78px;padding:13px 15px}.account-tab-panel{padding:17px}.account-panel-heading{flex-direction:column}.account-panel-heading .button{width:100%}.account-record{grid-template-columns:1fr auto;gap:7px 12px}.account-record>span:last-child{grid-column:1/-1;text-align:left}.account-state{white-space:nowrap}}
.account-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.account-tab-panel>.account-password-form{max-width:560px;margin:0;padding:20px}
.account-password-form button{margin-bottom:0}
@media(max-width:900px){.account-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.account-tabs{grid-template-columns:1fr}.account-tab-panel>.account-password-form{padding:16px}}

/* Firma bilgileri formu: etiketleri panel çizgisinden ayıran kontrollü iç alan. */
.account-tab-panel > .account-company-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 26px;
    row-gap: 4px;
    padding: 18px 20px 16px;
}
.account-company-form > label,
.account-company-form .location-fields > label {
    min-width: 0;
}
.account-company-form .location-fields {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 26px;
}
.account-company-form > button.full {
    width: 100%;
    margin: 4px 0 0;
}
@media (max-width: 700px) {
    .account-tab-panel > .account-company-form {
        grid-template-columns: 1fr;
        padding: 14px 12px 12px;
    }
    .account-company-form .location-fields {
        grid-template-columns: 1fr;
    }
}
