#anosta-ersatzglas-finder {
    --aef-blue: #1b01dc;
    --aef-navy: #102a4c;
    --aef-text: #203047;
    --aef-muted: #68758a;
    --aef-line: #dfe5ec;
    --aef-soft: #f5f7fa;
    color: var(--aef-text);
    font-family: inherit;
    margin-bottom: 3rem;
}
#anosta-ersatzglas-finder *,
#anosta-ersatzglas-finder *::before,
#anosta-ersatzglas-finder *::after { box-sizing: border-box; }
.aef-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(250px, .85fr);
    align-items: end;
    gap: 2rem;
    padding: clamp(1.75rem, 4vw, 3rem);
    color: #fff;
    background: linear-gradient(118deg, #245c91 0%, #2d6da6 68%, #4938ef 145%);
    border-radius: .35rem .35rem 0 0;
}
.aef-hero h1 {
    margin: .25rem 0 .75rem;
    color: #fff !important;
    font-size: clamp(1.9rem, 4vw, 3.1rem);
    line-height: 1.08;
    text-shadow: 0 1px 2px rgba(0, 23, 55, .18);
}
.aef-hero p { margin: 0; color: #f5f8ff; }
.aef-eyebrow { font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.aef-note { padding: 1rem 1.15rem; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.36); border-radius: .35rem; }
.aef-panel { padding: clamp(1.25rem, 3vw, 2rem); background: #fff; border: 1px solid var(--aef-line); border-top: 0; box-shadow: 0 12px 30px rgba(16,42,76,.07); }
.aef-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.aef-tabs button { padding: .7rem 1rem; color: var(--aef-navy); background: var(--aef-soft); border: 1px solid var(--aef-line); border-radius: .25rem; font-weight: 700; }
.aef-tabs button.is-active { color: #fff; background: var(--aef-blue); border-color: var(--aef-blue); }
.aef-tab { display: none; }
.aef-tab.is-active { display: block; }
.aef-search-row { display: grid; grid-template-columns: 1fr auto; gap: .75rem; margin-top: .5rem; }
#anosta-ersatzglas-finder input,
#anosta-ersatzglas-finder select { width: 100%; min-height: 46px; padding: .65rem .75rem; color: var(--aef-text); background: #fff; border: 1px solid #b9c4d0; border-radius: .2rem; }
#anosta-ersatzglas-finder label span { color: var(--aef-muted); font-weight: 400; }
.aef-number-status { margin: .75rem 0 0; padding: .7rem .85rem; border-radius: .25rem; font-size: .92rem; }
.aef-number-status.is-match { color: #1f6b45; background: #eaf8f0; border: 1px solid #b9dfca; }
.aef-number-status.is-empty { color: #805c00; background: #fff4cc; border: 1px solid #ead79a; }
.aef-primary,
.aef-secondary { min-height: 46px; padding: .65rem 1.15rem; border-radius: .2rem; font-weight: 700; cursor: pointer; }
.aef-primary { color: #fff; background: var(--aef-blue); border: 1px solid var(--aef-blue); }
.aef-primary:hover { background: #1500ad; border-color: #1500ad; }
.aef-secondary { color: var(--aef-navy); background: #fff; border: 1px solid #9aa8b8; }
.aef-fieldset { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.aef-form-field { grid-column: 1 / -1; }
.aef-shape-grid { display: grid; grid-template-columns: repeat(5, minmax(115px, 1fr)); gap: .65rem; margin-top: .55rem; }
.aef-shape { min-height: 145px; padding: .6rem .45rem; color: var(--aef-navy); background: #fff; border: 1px solid var(--aef-line); border-radius: .3rem; cursor: pointer; }
.aef-shape:hover { border-color: #8c7fff; }
.aef-shape.is-active { border: 2px solid var(--aef-blue); background: #f2f0ff; }
.aef-shape svg { display: block; width: 76px; height: 92px; margin: 0 auto .35rem; }
.aef-shape span { display: block; font-size: .84rem; line-height: 1.2; font-weight: 700; }
.aef-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }
.aef-results { margin-top: 1.5rem; }
.aef-results-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.aef-results-head h2 { margin: 0; color: var(--aef-navy); }
.aef-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.aef-product { display: grid; grid-template-columns: 170px minmax(0, 1fr); min-height: 250px; overflow: hidden; background: #fff; border: 1px solid var(--aef-line); border-radius: .35rem; box-shadow: 0 8px 24px rgba(16,42,76,.06); }
.aef-product-image { position: relative; display: flex; align-items: center; justify-content: center; padding: 1rem; background: #f7f8fa; }
.aef-product-image.is-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 42px;
    height: 42px;
    margin: -21px 0 0 -21px;
    border: 3px solid #dce3eb;
    border-top-color: var(--aef-blue);
    border-radius: 50%;
    animation: aef-spin .8s linear infinite;
}
.aef-product-image img { width: 100%; height: 210px; object-fit: contain; transition: opacity .16s ease; }
.aef-product-image img.is-pending { opacity: 0; }
@keyframes aef-spin { to { transform: rotate(360deg); } }
.aef-product-body { display: flex; flex-direction: column; padding: 1.1rem; }
.aef-product h3 { margin: .25rem 0 .65rem; color: var(--aef-navy); font-size: 1.1rem; }
.aef-match { display: inline-block; align-self: flex-start; margin: 0; padding: .25rem .5rem; border-radius: 99px; color: #1f6b45; background: #eaf8f0; font-size: .78rem; font-weight: 700; }
.aef-match[data-fit="similar"] { color: #805c00; background: #fff4cc; }
.aef-specs { display: grid; gap: .25rem; color: #45566c; font-size: .9rem; }
.aef-article-number { margin-top: .65rem; font-size: .9rem; }
.aef-price { margin: .45rem 0 0; color: var(--aef-navy); font-size: 1.2rem; font-weight: 800; }
.aef-product-action { margin-top: auto; padding-top: .85rem; }
.aef-product-action a { display: inline-block; padding: .55rem .8rem; color: #fff; background: var(--aef-blue); border-radius: .2rem; font-weight: 700; text-decoration: none; }
.aef-product-action .aef-request { color: var(--aef-navy); background: #edf0f4; }
.aef-empty { padding: 1.25rem; background: #fff8e4; border: 1px solid #ead79a; border-radius: .3rem; }
@media (max-width: 980px) {
    .aef-fieldset { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .aef-shape-grid { grid-template-columns: repeat(3, minmax(115px, 1fr)); }
    .aef-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .aef-hero { grid-template-columns: 1fr; align-items: start; }
    .aef-search-row { grid-template-columns: 1fr; }
    .aef-fieldset { grid-template-columns: 1fr; }
    .aef-shape-grid { grid-template-columns: repeat(2, minmax(110px, 1fr)); }
    .aef-product { grid-template-columns: 120px minmax(0, 1fr); }
    .aef-product-image img { height: 170px; }
}
@media (max-width: 450px) {
    .aef-product { grid-template-columns: 1fr; }
    .aef-product-image img { height: 190px; }
}
