/* Local design study. Shared palette for the public site and admin surfaces. */
:root {
    --navy: #2b1b20;
    --blue: #533038;
    --teal: #ba1f32;
    --ink: #262125;
    --muted: #6d6166;
    --line: #e5dadd;
    --bg: #faf7f7;
    --white: #fff;
    --pastel-lilac: #faedef;
    --pastel-violet: #efcbd1;
    --warm-white: #fff;
    --controlled-turquoise: #327969;
    --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: #941829;
    --border-subtle: var(--line);
    --focus-ring: #a51a2c;
    --concept-plum: #2b1b20;
    --concept-plum-deep: #21161a;
    --concept-violet: #ba1f32;
    --concept-violet-dark: #941829;
    --concept-lilac: #faedef;
    --concept-lilac-strong: #efcbd1;
    --concept-paper: #fffdfc;
    --concept-ink: #262125;
    --concept-muted: #6d6166;
    --concept-line: #e5dadd;
    --concept-turquoise: #327969;
    --concept-green: #19764c;
    --concept-shadow: 0 12px 30px rgba(43, 27, 32, .09);
}

html:not([data-theme="dark"]) body { background: var(--bg); color: var(--ink); }
html:not([data-theme="dark"]) .site-shell { background: var(--concept-paper); color: var(--concept-ink); }
a, .site-shell .breadcrumb a, .site-shell .product-body a, .site-shell .category-jump summary,
.site-shell .technical-filter-group summary, .site-shell .active-filter-chip,
.site-shell .active-filter-clear, .site-shell .product-documents a {
    color: var(--concept-violet-dark);
}
button, .button, .site-shell button, .site-shell .button,
.concept-button.primary, .concept-search > button, .concept-landing button.concept-button.primary {
    background-color: var(--concept-violet-dark);
    border-color: var(--concept-violet-dark);
}
button:hover, .button:hover, .site-shell button:hover, .site-shell .button:hover,
.concept-button.primary:hover, .concept-search > button:hover {
    background-color: #741321;
    border-color: #741321;
}
.site-shell button.secondary, .site-shell .secondary,
.concept-button.secondary { color: var(--concept-violet-dark); background: #fff; border-color: var(--concept-line); }
.site-shell button.secondary:hover, .site-shell .secondary:hover,
.concept-button.secondary:hover { color: var(--concept-violet-dark); background: var(--concept-lilac); }
.topline, .admin-nav, footer, .concept-utility, .concept-process, .concept-footer { background-color: var(--concept-plum); }
.concept-footer { background-color: var(--concept-plum-deep); }
html:not([data-theme="dark"]) .site-header, html:not([data-theme="dark"]) .main-nav,
html:not([data-theme="dark"]) .concept-header, html:not([data-theme="dark"]) .concept-nav,
html:not([data-theme="dark"]) .concept-search { background: #fff; }
.main-nav { border-color: var(--concept-line); }
.main-nav a:hover, .concept-nav a:hover { color: var(--concept-violet-dark); background: var(--concept-lilac); }
.main-nav .cart-link, .commercial span, summary, .eyebrow { color: var(--concept-violet-dark) !important; }
.cart-link span, .concept-request b { color: #fff; background: var(--concept-violet-dark); }
.search input, .concept-search { border-color: #d8c7cb; }
.search button, .concept-search > button { background: var(--concept-violet-dark); border-color: var(--concept-violet-dark); }
.concept-search:focus-within { border-color: var(--concept-violet); box-shadow: 0 0 0 3px rgba(186,31,50,.12); }
.concept-search .search-suggestion:hover,
.concept-search .search-suggestion[aria-selected="true"] { background: var(--concept-lilac); }
.concept-actions .theme-toggle, .theme-toggle { border-color: var(--concept-line); }
.concept-request { color: var(--concept-violet-dark); border-color: var(--concept-violet-dark); }
.concept-hero { background: #fdf9f9; border-color: var(--concept-line); }
.concept-hero::before { background: linear-gradient(100deg, rgba(186,31,50,.045), transparent 55%); }
.concept-hero-art { background: #f6e8e9; box-shadow: 0 15px 35px rgba(43,27,32,.12); }
.concept-hero-slide { background: #f7eded; }
.concept-hero-arrow { color: var(--concept-violet-dark); }
.concept-hero-arrow:hover { background: var(--concept-violet-dark); }
.concept-hero-progress::-webkit-progress-value { background: var(--concept-violet); }
.concept-hero-progress::-moz-progress-bar { background: var(--concept-violet); }
.concept-finder { background: #fff5f5; border-color: #eddbdd; box-shadow: 0 12px 28px rgba(43,27,32,.07); }
.concept-finder-advanced, .concept-finder > p { border-color: var(--concept-line); }
.concept-finder select { border-color: #d8c7cb; }
.concept-category-grid, .concept-category-grid a,
.concept-product-card, .site-shell .filters, .site-shell .panel,
.site-shell .product-card { border-color: var(--concept-line); }
.concept-category-grid a:hover { color: var(--concept-violet-dark); background: var(--concept-lilac); }
.concept-member, .site-shell .protocol-tag,
.site-shell .active-filter-chip { color: var(--concept-violet-dark); background: var(--concept-lilac); border-color: var(--concept-line); }
.concept-add { color: var(--concept-violet-dark); border-color: #c69aa1; }
.concept-add:hover { color: #fff; background: var(--concept-violet-dark); }
.concept-process li > span { color: var(--concept-plum); background: #fff0f1; }
.concept-process li:not(:last-child)::after { background: #b08f96; }
.concept-process p, .concept-footer p { color: #d1c1c6; }
.concept-footer a { color: #f1e6e8; }
.concept-footer-message i { background: var(--concept-violet); }
.site-shell .category-strip a { color: var(--concept-ink); background: var(--concept-lilac); border-color: var(--concept-line); }
.site-shell .category-strip a:hover { color: #fff; background: var(--concept-violet-dark); }
.site-shell .count, .site-shell .eyebrow, .site-shell .specs dt { color: var(--concept-violet-dark); }
.site-shell .product-card:hover { border-color: #d8a4ab; box-shadow: 0 12px 28px rgba(43,27,32,.11); }
.site-shell .filters input:focus, .site-shell .filters select:focus,
.site-shell .panel input:focus, .site-shell .panel select:focus,
.site-shell .panel textarea:focus { border-color: var(--concept-violet); box-shadow: 0 0 0 3px rgba(186,31,50,.12); }
.site-shell .filters input, .site-shell .filters select,
.site-shell .panel input, .site-shell .panel select, .site-shell .panel textarea { border-color: #d8c7cb; }
.site-shell .filters, .site-shell .panel, .site-shell .product-card { box-shadow: 0 8px 22px rgba(43,27,32,.045); }
.admin-nav a:hover, .admin-nav .selected { background: #5e2c36; }
.admin-shell .admin-nav { position: sticky; top: 12px; align-self: start; max-height: calc(100dvh - 24px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #79525b transparent; }
.admin-nav-group { margin: 5px 0; border-top: 1px solid rgba(255,255,255,.13); }
.admin-nav-group summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; padding: 11px 12px; color: #eadfe2 !important; border-radius: 4px; font-size: 13px; font-weight: 750; list-style: none; }
.admin-nav-group summary::-webkit-details-marker { display: none; }
.admin-nav-group summary::after { content: '+'; color: #d5b9c0; font-size: 18px; font-weight: 400; line-height: 1; }
.admin-nav-group[open] summary::after { content: '−'; }
.admin-nav-group summary:hover, .admin-nav-group.is-current summary { color: #fff !important; background: #5e2c36; }
.admin-nav-group summary:focus-visible { outline: 2px solid #f08895; outline-offset: -2px; }
.admin-nav-group__links { margin: 2px 0 8px 12px; padding-left: 8px; border-left: 1px solid rgba(255,255,255,.18); }
.admin-nav-group__links a { margin-bottom: 1px; padding: 8px 10px; font-size: 13px; line-height: 1.3; }
.admin-nav-subgroup{margin:4px 0}.admin-nav-subgroup>summary{padding:8px 10px;color:#d8c5ca!important;background:transparent!important;font-size:12px}.admin-nav-subgroup>summary::after{font-size:15px}.admin-nav-subgroup>a{margin-left:8px!important;color:#d8c5ca!important}
.admin-nav__account { margin-top: 12px; border-top: 1px solid rgba(255,255,255,.13); }
@media (max-width: 700px) {
    .admin-shell .admin-nav { position: static; display: block; max-height: none; overflow: visible; padding: 12px 16px; }
    .admin-nav > a { display: block; margin-bottom: 4px; }
    .admin-nav-group__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 6px; }
    .admin-nav-group__links a { white-space: normal; }
}
@media (max-width: 420px) { .admin-nav-group__links { grid-template-columns: 1fr; } }
.stat { border-top-color: var(--concept-violet); }
th { color: #5c4b50; background: #f7eced; }
.status { color: #743341; background: #faeaed; }
.no-image { color: #706468; background: linear-gradient(135deg,#f9f6f6,#f0e8e9); }
.member-banner { background: #fdf0f1; border-left-color: var(--concept-violet); }
.installment-box { border-left-color: var(--concept-violet); background: #fbf5f5; }
.ft-logo-teknik { fill: var(--concept-violet-dark); }
.ft-logo linearGradient stop:first-child { stop-color: #c82138; }
.ft-logo linearGradient stop:last-child { stop-color: #95192b; }
.concept-landing :focus-visible, :focus-visible { outline-color: var(--focus-ring); }

/* Shared shopping navigation. Long labels stay visible on wide screens and wrap compactly on phones. */
.header-quick-links { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.header-quick-links a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 40px;
    padding: 0 10px;
    color: var(--concept-ink);
    border: 1px solid var(--concept-line);
    border-radius: 4px;
    text-decoration: none;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 750;
}
.header-quick-links a:hover { color: var(--concept-violet-dark); background: var(--concept-lilac); }
.header-quick-links a[aria-current="page"] { color: var(--concept-violet-dark); border-color: var(--concept-violet); }
.header-quick-links svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.header-quick-links .quick-count { color: var(--concept-violet-dark); font-variant-numeric: tabular-nums; }
.header-quick-links form { margin: 0; }
.header-quick-links .header-signout {
    min-height: 40px;
    margin: 0;
    padding: 0 10px;
    color: var(--concept-ink);
    background: #fff;
    border: 1px solid var(--concept-line);
    font-size: 12px;
}
.header-quick-links .header-signout:hover { color: var(--concept-violet-dark); background: var(--concept-lilac); }
.header-quick-links .header-register { border: 0; padding-inline: 5px; }
.concept-actions .concept-favorites { min-height: 44px; }
.concept-header-main { grid-template-columns: 260px minmax(240px, 1fr) auto auto; gap: 18px; }
.concept-header-main > .header-quick-links { grid-column: 3; grid-row: 1; width: auto; }
.concept-header-main > .concept-actions { grid-column: 4; grid-row: 1; }
.concept-header-main .header-quick-links a { min-height: 42px; }
.site-header .header-wrap { grid-template-columns: 270px minmax(220px, 1fr) auto auto; gap: 14px; }
.site-header .header-wrap > .header-quick-links { grid-column: 3; grid-row: 1; width: auto; }
.site-header .header-wrap > .theme-toggle { grid-column: 4; grid-row: 1; justify-self: end; }
.main-nav > a:first-child, .main-nav > a:first-child:hover { color: #fff; background: var(--concept-violet-dark); }
.main-nav > a:first-child:hover { background: #741321; }
.site-header .search { min-width: 230px; }
@media (max-width: 1100px) {
    .site-header .header-wrap { grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) auto; }
    .site-header .header-wrap > .header-quick-links { grid-column: 1 / -1; grid-row: 2; justify-content: flex-end; padding-bottom: 10px; }
    .site-header .header-wrap > .theme-toggle { grid-column: 3; }
}
@media (max-width: 900px) {
    .concept-header-main { grid-template-columns: 220px minmax(180px, 1fr) auto; }
    .concept-header-main > .header-quick-links { grid-column: 2; grid-row: 1; }
    .concept-header-main > .concept-actions { grid-column: 3; }
    .concept-header-main > .concept-search { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 700px) {
    .header-quick-links { justify-content: space-between; flex-wrap: wrap; gap: 5px; }
    .header-quick-links a { flex: 1 1 calc(33.333% - 5px); justify-content: center; min-width: 0; padding-inline: 5px; font-size: 11px; }
    .header-quick-links a:nth-child(n+4) { flex: 0 1 auto; border: 0; }
    .header-quick-links .header-signout { min-height: 34px; }
    .header-quick-links svg { width: 15px; height: 15px; flex-basis: 15px; }
    .site-header .logo { min-width: 0; max-width: calc(100vw - 50px); }
    .site-header .logo .theme-logo, .site-header .logo .company-logo { width: min(300px, 82vw); }
    .site-header .header-wrap { grid-template-columns: minmax(0, 1fr) auto; }
    .site-header .header-wrap > .theme-toggle { grid-column: 2; grid-row: 1; }
    .site-header .header-wrap > .header-quick-links { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; padding-bottom: 0; }
    .site-header .header-wrap > .search { grid-column: 1 / -1; grid-row: 3; min-width: 0; }
    .concept-actions .concept-favorites { min-width: 42px; padding-inline: 8px; }
    .concept-actions .concept-favorites .concept-request-text { display: none; }
    .concept-header-main { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: 55px auto auto; gap: 8px; }
    .concept-header-main > .concept-brand { grid-column: 1; grid-row: 1; }
    .concept-header-main > .concept-actions { position: static; grid-column: 2; grid-row: 1; }
    .concept-header-main > .header-quick-links { grid-column: 1 / -1; grid-row: 2; width: 100%; }
    .concept-header-main > .concept-search { grid-column: 1 / -1; grid-row: 3; margin-bottom: 10px; }
    .concept-hero-art::after { background: linear-gradient(90deg, #fdf9f9 4%, rgba(253,249,249,.97) 53%, rgba(253,249,249,.34) 100%); }
}

html[data-theme="dark"] {
    --navy: #211619;
    --blue: #35252a;
    --teal: #ed6878;
    --ink: #f5edef;
    --muted: #d0bec2;
    --line: #534348;
    --bg: #171215;
    --white: #21191c;
    --warm-white: #21191c;
    --pastel-lilac: #352126;
    --pastel-violet: #533238;
    --surface-canvas: #171215;
    --surface-primary: #21191c;
    --surface-muted: #352126;
    --text-primary: #f5edef;
    --text-secondary: #d0bec2;
    --action-primary: #a51d32;
    --action-primary-hover: #c52b43;
    --border-subtle: #534348;
    --focus-ring: #f08895;
    --concept-plum: #211619;
    --concept-plum-deep: #171215;
    --concept-paper: #171215;
    --concept-ink: #f5edef;
    --concept-muted: #d0bec2;
    --concept-line: #534348;
    --concept-lilac: #352126;
    --concept-violet: #ed6878;
    --concept-violet-dark: #f08895;
    --concept-lilac-strong: #533238;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .site-shell,
html[data-theme="dark"] .concept-landing { color: var(--concept-ink); background: var(--bg); }
html[data-theme="dark"] .site-header,
html[data-theme="dark"] .main-nav,
html[data-theme="dark"] .concept-header,
html[data-theme="dark"] .concept-nav,
html[data-theme="dark"] .concept-search,
html[data-theme="dark"] .concept-actions .theme-toggle { color: var(--concept-ink); background: #21191c; border-color: var(--concept-line); }
html[data-theme="dark"] .main-nav a,
html[data-theme="dark"] .concept-nav a { color: var(--concept-ink); }
html[data-theme="dark"] .main-nav a:hover,
html[data-theme="dark"] .concept-nav a:hover { color: #fff; background: #71303d; }
html[data-theme="dark"] .main-nav > a:first-child,
html[data-theme="dark"] .main-nav > a:first-child:hover { color: #fff; background: #a51d32; }
html[data-theme="dark"] .main-nav .cart-link,
html[data-theme="dark"] .online-special-nav-link { color: #f5a3ad !important; }
html[data-theme="dark"] .concept-search input,
html[data-theme="dark"] .site-header .search input,
html[data-theme="dark"] .concept-finder select,
html[data-theme="dark"] .site-shell .filters input,
html[data-theme="dark"] .site-shell .filters select,
html[data-theme="dark"] .site-shell .panel input,
html[data-theme="dark"] .site-shell .panel select,
html[data-theme="dark"] .site-shell .panel textarea { color: var(--concept-ink); background: #1b1518; border-color: var(--concept-line); }
html[data-theme="dark"] .concept-finder,
html[data-theme="dark"] .concept-hero,
html[data-theme="dark"] .concept-category-grid a,
html[data-theme="dark"] .concept-product-card,
html[data-theme="dark"] .site-shell .filters,
html[data-theme="dark"] .site-shell .panel,
html[data-theme="dark"] .site-shell .product-card,
html[data-theme="dark"] .site-shell .product-detail > section { color: var(--concept-ink); background: #21191c; border-color: var(--concept-line); }
html[data-theme="dark"] .site-shell button.secondary,
html[data-theme="dark"] .site-shell .secondary,
html[data-theme="dark"] .concept-button.secondary { color: #f5a3ad; background: #2a2024; border-color: var(--concept-line); }
html[data-theme="dark"] .site-shell button.secondary:hover,
html[data-theme="dark"] .site-shell .secondary:hover,
html[data-theme="dark"] .concept-button.secondary:hover { color: #fff; background: #71303d; }
html[data-theme="dark"] .site-shell .category-strip a,
html[data-theme="dark"] .site-shell .active-filter-chip,
html[data-theme="dark"] .site-shell .active-filter-clear,
html[data-theme="dark"] .site-shell .protocol-tag { color: #f5dbe0; background: #352126; border-color: var(--concept-line); }
html[data-theme="dark"] .no-image,
html[data-theme="dark"] .site-shell .gallery > .no-image { color: #e8d8dc; background: #2a2024; background-image: none; }
html[data-theme="dark"] .no-image .no-image-model { color: #f5edef; }
html[data-theme="dark"] .no-image small { color: #d0bec2; }
html[data-theme="dark"] .installment-box { color: var(--concept-ink); background: #352126; border-color: var(--concept-line); border-left-color: #ed6878; }
html[data-theme="dark"] .installment-box summary { color: #f5dbe0 !important; }
html[data-theme="dark"] .installment-table th,
html[data-theme="dark"] .installment-table .is-selected th,
html[data-theme="dark"] .installment-table .is-selected td { color: var(--concept-ink); background: #352126; }
html[data-theme="dark"] .product-qty input { color: var(--concept-ink); background: #1b1518; border-color: var(--concept-line); }
html[data-theme="dark"] .header-quick-links a { color: var(--concept-ink); background: #21191c; }
html[data-theme="dark"] .header-quick-links a:hover { color: var(--concept-violet-dark); background: #352126; }
html[data-theme="dark"] button:not(.secondary):not(.theme-toggle):not([role="tab"]),
html[data-theme="dark"] .button:not(.secondary),
html[data-theme="dark"] .concept-button.primary,
html[data-theme="dark"] .concept-search > button {
    color: #fff;
    background-color: #a51d32;
    border-color: #a51d32;
}
html[data-theme="dark"] button:not(.secondary):not(.theme-toggle):not([role="tab"]):hover,
html[data-theme="dark"] .button:not(.secondary):hover,
html[data-theme="dark"] .concept-button.primary:hover,
html[data-theme="dark"] .concept-search > button:hover {
    background-color: #c52b43;
    border-color: #c52b43;
}
html[data-theme="dark"] .header-quick-links .header-signout,
html[data-theme="dark"] .concept-menu,
html[data-theme="dark"] .concept-hero-arrow,
html[data-theme="dark"] .product-tab-list button,
html[data-theme="dark"] .product-favorite-action button {
    color: var(--concept-ink);
    background: transparent;
    border-color: var(--concept-line);
}
html[data-theme="dark"] .concept-hero-art::after { background: linear-gradient(90deg, #21191c 4%, rgba(33,25,28,.94) 52%, rgba(33,25,28,.18) 100%); }

/* Preserve the live product layout and tabs with the shared red palette. */
.product-gallery-modern__thumb:hover, .product-gallery-modern__thumb.is-active { box-shadow: 0 0 0 2px rgba(186,31,50,.12); }
.product-gallery-modern__main, .product-buybox, .product-tabs { box-shadow: 0 12px 30px rgba(43,27,32,.07); }
.compatibility-empty__icon { background: var(--concept-violet-dark); }
.product-qty input { border-color: #d8c7cb; }
.product-service-list li { border-color: var(--concept-line); }
.product-tabs__nav { background: #fbf3f4; }
.product-tabs__nav button { border-right-color: var(--concept-line) !important; }
.product-tabs__nav button[aria-selected=true]::after { background: var(--concept-violet); }
.product-spec-table > div:nth-child(odd), .compatibility-empty { background: #faf3f4; }
.compatibility-empty { border-color: #ddb9c0; }
.product-document-card:hover { border-color: #c99ba4; background: #fbf3f4; }
.product-document-card > span { background: var(--concept-violet-dark); }
html[data-theme="dark"] .product-gallery-modern__main,
html[data-theme="dark"] .product-gallery-modern__thumb,
html[data-theme="dark"] .product-buybox,
html[data-theme="dark"] .product-tabs,
html[data-theme="dark"] .product-tabs__nav button[aria-selected=true] { background: #21191c !important; }
html[data-theme="dark"] .product-tabs__nav { background: #281c20; }
html[data-theme="dark"] .product-service-list li { background: #21191c; border-color: var(--concept-line); }
html[data-theme="dark"] .product-service-list li > span { color: #f5a3ad; background: #352126; }
html[data-theme="dark"] .compatibility-empty { background: #352126; border-color: var(--concept-line); }
html[data-theme="dark"] .product-spec-table > div:nth-child(odd) { background: #281c20; }

/* Online-special catalog follows the shared red storefront palette. */
.main-nav .online-special-nav-link { color: var(--concept-violet-dark) !important; }
.online-special-public-heading { border-color: #e7cbd0; border-left-color: var(--concept-violet); background: linear-gradient(105deg,#fff 0%,#fff5f6 100%); }
.online-special-public-heading h1 { color: var(--concept-plum); }
.online-special-card { border-color: #dfc4c9; }
.online-special-card__label { background: var(--concept-violet-dark); }
.online-special-price { border-color: #e1c8cd; border-left-color: var(--concept-violet); background: #fff7f8; }
.online-special-price__saving,
.online-special-price__values strong,
.online-special-price__stock strong { color: var(--concept-violet-dark); }
.online-special-price__stock { border-top-color: #ead7da; }
.online-special-card__cart button,
.online-special-detail-cart button { background: var(--concept-violet-dark); border-color: var(--concept-violet-dark); }
.online-special-card__cart button:hover,
.online-special-detail-cart button:hover { background: var(--concept-violet); border-color: var(--concept-violet); }
html[data-theme="dark"] .online-special-public-heading,
html[data-theme="dark"] .online-special-price { color: var(--concept-ink); background: #281c20; border-color: var(--concept-line); border-left-color: var(--concept-violet); }
html[data-theme="dark"] .online-special-public-heading h1,
html[data-theme="dark"] .online-special-price__saving,
html[data-theme="dark"] .online-special-price__values strong,
html[data-theme="dark"] .online-special-price__stock strong { color: #f5a3ad; }
html[data-theme="dark"] .online-special-price__stock { border-top-color: var(--concept-line); }
