/* Catalogue and project quote experience. Loaded after component defaults. */
:root { --sticky-cta-space: 0px; }
/* Reserve the same media area for every product, regardless of source image shape. */
.product-card { display: flex; flex-direction: column; }
.product-card__media { display: block; width: 100%; flex-shrink: 0; background: var(--surface); }
.product-card__media > a, .product-card__media > picture, .product-card__media > img { position: absolute; inset: 0; width: 100%; height: 100%; }
.product-card__media picture { display: block; width: 100%; height: 100%; }
.product-card__media img { object-fit: contain; }
.product-card__body { display: flex; flex-direction: column; flex: 1; }
.product-card__foot { margin-top: auto; padding-top: 14px; }
.selection-checks { list-style: disc; padding-left: 1.4em; max-width: 72ch; }
.selection-checks li + li { margin-top: 12px; } .quote-item__body, .ctf-search, .product-card__body, .quote-layout > *{ min-width: 0; }
.quote-options { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 14px; margin-block: 0 20px; }
.quote-options > .field { min-width: 0; }
.quote-options > .field:last-of-type:first-child { grid-column: 1 / -1; max-width: 160px; }
.quote-options > .field-error { grid-column: 1 / -1; }
.quote-options select, .quote-options input { width: 100%; min-width: 0; min-height: 48px; font-size: 16px; }
.code-copy { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border-radius: var(--r-sm); }
.code-copy:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 3px; }
.code-copy code { overflow-wrap: anywhere; }
.variant-row { gap: 12px; }
.variant-row__codes { min-width: 0; flex-wrap: wrap; }
.document-list { display: grid; gap: 18px; }
.document-list a { display: flex; gap: 10px; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.document-list svg { flex-shrink: 0; }
.document-list .muted { display: block; margin-top: 6px; }
.quote-item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.quote-item img { width: 64px; height: 64px; object-fit: contain; }
.quote-item__body, .quote-item__variant { overflow-wrap: anywhere; }
.quote-item__body { grid-column: 1 / 3; }
.quote-item > img + .quote-item__body { grid-column: 2; }
.quote-item__variant { margin-top: 4px; font-size: 14px; color: var(--ink-2); }
.quote-item__quantity { display: grid; gap: 6px; min-width: 0; max-width: 130px; margin-top: 12px; font-size: 13px; }
.quote-item__quantity input { width: 100%; min-height: 44px; padding: 8px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); background: var(--bg); font-size: 16px; }
.quote-item__quantity label, .quote-item__quantity > span { display: block; font-size: 13px; margin-bottom: 4px; }
.quote-item__remove { min-width: 44px; min-height: 44px; margin: 0; padding: 8px; }
.quote-storage-notice { padding: 14px; border: 1px solid var(--line); border-radius: var(--r-sm); margin-bottom: 16px; font-size: 14px; }
.catalog-search-submit { min-width: 52px; min-height: 44px; align-self: stretch; padding-inline: 12px; font-size: 14px; font-weight: 600; color: var(--gold-deep); }
.ctf-filters-btn, .header__actions .quote-pill { min-height: 44px; }
.ctf-search input { min-width: 0; width: 100%; font-size: 16px; }
.ctf-search > svg { flex-shrink: 0; }
.ctf-view__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.catalog-filters:not(.filter-drawer) { margin-block: 24px; padding-block: 24px; border: 1px solid var(--line); border-radius: var(--r); }
.catalog-filters:not(.filter-drawer) .filter-drawer__body { max-height: none; overflow: visible; }
.catalog-filters.filter-drawer { max-width: none; width: 100%; padding: 0; }
.catalog-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 32px; }
.catalog-pagination a, .catalog-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 999px; }
.catalog-pagination [aria-current="page"] { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.catalog-pagination a:hover { border-color: var(--ink); }
.catalog-request-error { margin-bottom: 24px; }
[data-catalog-results] { scroll-margin-top: calc(var(--header-h) + 24px); }
[data-catalog-region][aria-busy="true"] [data-catalog-results] { opacity: .6; }
.product-card__foot .add { min-height: 44px; }
.icon-btn { width: 44px; height: 44px; }
.facet-pill .facet-check__label { min-height: 44px; }
.mobile-nav { z-index: 150; padding-top: max(24px, env(safe-area-inset-top, 0px)); padding-left: max(var(--gutter), env(safe-area-inset-left, 0px)); padding-right: max(var(--gutter), env(safe-area-inset-right, 0px)); overscroll-behavior: contain; }
.mobile-nav__close { flex: 0 0 44px; align-self: flex-end; margin-bottom: 12px; }
.mobile-nav > :first-child { margin-top: 0; }
.mobile-nav > :last-child { margin-bottom: 0; }
.mobile-nav > a { min-height: 44px; flex-shrink: 0; }
.mobile-nav__foot { flex-shrink: 0; }
.consent { max-height: calc(100dvh - 32px); overflow-y: auto; }
body.scroll-locked .consent { visibility: hidden; }
.toast { bottom: calc(var(--sticky-cta-space) + 20px + env(safe-area-inset-bottom, 0px)); width: max-content; max-width: calc(100vw - 32px); }
.toast svg { flex-shrink: 0; }
.toast:not(.is-show) { visibility: hidden; pointer-events: none; }
.filter-drawer__panel { overscroll-behavior: contain; }
.lightbox__close { top: max(18px, env(safe-area-inset-top, 0px)); right: max(18px, env(safe-area-inset-right, 0px)); }
.filter-drawer__foot { padding-bottom: max(16px, env(safe-area-inset-bottom, 0px)); }
.lang-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
.catalog-grid:not(.catalog-grid--list), .category-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 980px) {
    .catalog-grid:not(.catalog-grid--list), .category-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cat-pill, .chip { min-height: 44px; display: inline-flex; align-items: center; padding: 10px 14px; }
    .header__inner { gap: 12px; }
    .header__actions { gap: 8px; }
    .header__actions .quote-pill { padding-inline: 10px; }
    .header__actions .quote-pill .label { display: none; }
    .product-card__foot { flex-wrap: wrap; gap: 12px; }
}
@media (max-width: 720px) {
    .ctf-search input, .ctf-sort select, .field input, .field select, .field textarea { font-size: 16px; }
    .quote-item { grid-template-columns: 56px minmax(0, 1fr); gap: 10px; }
    .quote-item img { width: 56px; height: 56px; }
    .quote-item__remove { grid-column: 1 / -1; justify-self: end; padding: 8px 0 0 8px; }
    .filter-drawer__head { padding: 20px 20px 12px; }
    .filter-drawer__body { padding-inline: 20px; }
    .filter-drawer__foot { padding-inline: 20px; flex-wrap: wrap; }
    .filter-drawer__foot .btn { flex-basis: 120px; }
    .mobile-nav > a { font-size: clamp(1.4rem, 6vw, 2rem); }
}
@media (max-width: 600px) {
    .lightbox__nav { display: inline-flex; top: auto; bottom: max(18px, env(safe-area-inset-bottom, 0px)); transform: none; }
    .lightbox__nav--prev { left: max(18px, env(safe-area-inset-left, 0px)); }
    .lightbox__nav--next { right: max(18px, env(safe-area-inset-right, 0px)); }
    .lightbox__stage { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
    .lightbox__dots { bottom: calc(36px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 460px) {
    .catalog-grid:not(.catalog-grid--list), .category-product-grid { grid-template-columns: minmax(0, 1fr); }
    .quote-options { grid-template-columns: minmax(0, 1fr); }
    .quote-options > .field:last-of-type { max-width: 140px; }
    .variant-row { flex-direction: column; align-items: flex-start; }
    .catalog-grid--list .catalog-card { grid-template-columns: 80px minmax(0, 1fr); }
    .catalog-grid--list .product-card__body { padding: 12px; }
    .catalog-grid--list .product-card__title { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .mobile-nav, body.menu-open .mobile-nav, .burger span, .burger span::before, .burger span::after,
    .toast, .mobile-nav__contact a, .applications-index a, .applications-index a > svg { transition-duration: 0s; }
}

/* Mobile discovery: quiet surfaces, clear actions and native horizontal browsing. */
.header__quote-icon { display: none; }
.mobile-nav__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-shrink: 0; }
.mobile-nav__head .mobile-nav__close { margin: 0; align-self: center; }
.mobile-nav__search { display: flex; align-items: center; flex-shrink: 0; min-height: 52px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); padding: 4px 6px 4px 16px; margin: 12px 0 16px; background: var(--bg); }
.mobile-nav__search input { border: 0; background: transparent; width: 100%; min-width: 0; font-size: 16px; min-height: 44px; }
.mobile-nav__search:focus-within { outline: 2px solid var(--gold-deep); outline-offset: 2px; }
.mobile-nav__search input:focus { outline: none; }
.mobile-nav__search button { flex: 0 0 44px; }
.discovery-controls { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 6px; }
.discovery-controls__hint { color: var(--muted); font-size: 13px; }
.discovery-controls__buttons { display: flex; gap: 8px; flex-shrink: 0; }
.discovery-controls .icon-btn { display: inline-flex; justify-content: center; align-items: center; border: 1px solid var(--line); background: var(--bg); border-radius: 999px; }
.discovery-controls [data-rail-prev] svg { transform: rotate(180deg); }
.discovery-controls button:disabled { opacity: .35; cursor: default; }
.rail:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: -2px; }

@media (max-width: 980px) {
    :root { --header-h: 72px; --header-top-h: 72px; }
    /* Mobilde morph yok: kapsül yerine sabit, tam genişlikte bar. */
    .header .header__inner, .header.is-scrolled .header__inner { height: var(--header-h); max-width: none; padding-inline: var(--gutter); gap: 12px; }
    .header .header__inner::before, .header.is-scrolled .header__inner::before {
        transform: none; border-radius: 0; border: 0; border-bottom: 1px solid rgba(19,20,22,.08);
        background: rgba(251,251,250,.96); box-shadow: none;
        -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    }
    .header .nav { margin-inline: 0; }
    .header .brand { min-width: 0; min-height: 44px; flex-shrink: 1; }
    .header .brand-logo { width: 106px; height: auto; }
    .header .brand-region, .header__actions > .lang-switch { display: none; }
    .header .header__actions { gap: 6px; flex-shrink: 0; }
    .header .header__search, .header .header__actions .quote-pill, .header .header__actions .quote-pill[data-count="0"], .header .burger { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; min-width: 44px; min-height: 44px; border-radius: 999px; }
    .header__search, .header .burger { background: var(--surface); box-shadow: none; color: var(--ink); }
    .header .header__actions .quote-pill { position: relative; background: var(--ink); color: var(--bg); }
    .header .header__quote-icon { display: block; flex-shrink: 0; }
    .header .quote-pill .label { display: none; }
    .header .quote-pill .count { position: absolute; top: -2px; right: -2px; min-width: 18px; height: 18px; font-size: 10px; padding-inline: 4px; background: var(--gold-deep); color: #fff; box-shadow: 0 0 0 2px var(--bg); }
    .mobile-nav { background: #faf8f4; gap: 0; padding-top: max(18px, env(safe-area-inset-top, 0px)); }
    .mobile-nav > a { display: grid; grid-template-columns: minmax(0, 1fr) 18px; align-items: center; gap: 10px; min-height: 60px; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 1.3rem; font-weight: 500; line-height: 1.25; letter-spacing: -.025em; }
    .mobile-nav > a[aria-current="page"] { color: var(--gold-deep); }
    .mobile-nav > a > svg { color: var(--gold-deep); }
    .mobile-nav .mobile-nav__foot { margin-top: auto; padding-top: 24px; border-top: 0; }
    .mobile-nav__foot .lang-switch { padding: 4px; background: var(--bg); border: 1px solid var(--line); border-radius: 999px; gap: 4px; }
    .mobile-nav__foot .lang-switch span { display: none; }
    .mobile-nav__foot .lang-switch a { padding: 10px 20px; font-size: 14px; }
    .mobile-nav__foot .lang-switch a.is-active { background: var(--surface); border-radius: 999px; color: var(--gold-deep); }
    #catalog-search { scroll-margin-top: calc(var(--header-h) + 16px); }
}

@media (max-width: 720px) {
    :root { --gutter: 20px; --space-7: 26px; --space-8: 36px; }
    body { font-size: 16px; }
    .section { padding-block: 48px; }
    .section--tight-top { padding-top: 20px; }
    .section--snug-top { padding-top: 18px; }
    .section--flush-top { padding-top: 0; }
    .section--flush-bottom { padding-bottom: 0; }
    .page-hero { padding-top: calc(var(--header-top-h) + 30px); padding-bottom: 26px; }
    .page-hero .display { font-size: clamp(2.1rem, 8.4vw, 2.7rem); line-height: 1.08; }
    .breadcrumb { font-size: 12px; line-height: 1.6; margin-bottom: 16px; }
    .h-xl { font-size: clamp(1.85rem, 7.3vw, 2.3rem); line-height: 1.12; }
    .lead { font-size: 16px; line-height: 1.6; }
    .section-head .lead { margin-top: 12px; }
    .section-head--row { gap: 10px; }
    .btn { min-height: 48px; justify-content: center; padding: 12px 20px; }
    .btn--sm { min-height: 44px; padding: 10px 16px; }
    .btn--lg { padding: 14px 20px; font-size: 15px; }
    .rail { grid-auto-columns: minmax(250px, 82%); gap: 14px; -webkit-mask-image: none; mask-image: none; scroll-padding-inline: var(--gutter); }
    .product-card { border-radius: var(--r); }
    .product-card__body { padding: 16px; }
    .product-card__type { font-size: 13px; line-height: 1.5; }
    .product-card__title { font-size: 18px; line-height: 1.25; letter-spacing: -.02em; }
    .product-card__foot { gap: 12px; padding-top: 16px; }
    .split { gap: 26px; }
    .cta-band { padding-block: 40px; }
    .cta-band .btn-row { margin-top: 22px; }
    .footer { padding-top: 40px; }
    .footer__grid { gap: 26px; }
    .footer__about { font-size: 14px; }
    .footer__bottom { font-size: 11px; line-height: 1.6; gap: 10px; }
    .consent { border-radius: var(--r); padding: 16px; box-shadow: var(--shadow-md); }
    .consent__text { font-size: 13px; }
    .consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .consent__actions .btn { padding: 10px; font-size: 13px; }
}

@media (max-width: 359px) {
    :root { --gutter: 16px; }
    .header .brand-logo { width: 96px; }
    .header .header__actions { gap: 4px; }
    .rail { grid-auto-columns: minmax(240px, 86%); }
}

