.keyword-recherche-page{
    width:100%;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
}

.keyword-card{
    min-width:0;
}

.keyword-auth-card{
    width:100%;
    max-width:1200px;
    margin:0 auto;
}

.keyword-auth-head{
    margin-bottom:24px;
}

.keyword-auth-head h2,
.keyword-toolbar h2{
    margin-bottom:8px;
}

.keyword-eyebrow{
    margin:0 0 6px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#284baa;
}

.keyword-login-form,
.keyword-verify-form,
.keyword-research-form{
    width:100%;
}

.keyword-field{
    min-width:0;
}

.keyword-field label,
.keyword-code-fieldset legend{
    display:block;
    margin:0 0 7px;
    font-weight:700;
    color:#00193c;
}

.keyword-field label span{
    font-weight:400;
    color:#5f5c73;
}

.keyword-field input,
.keyword-field select{
    width:100%;
    min-height:46px;
    padding:0 12px;
    border:1px solid #d0d2d5;
    border-radius:8px;
    background:#fff;
    color:#00193c;
    font:inherit;
}

.keyword-field input:focus,
.keyword-field select:focus,
.keyword-code-input:focus{
    outline:2px solid #284baa;
    outline-offset:1px;
    border-color:#284baa;
}

.keyword-login-form{
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:16px;
    align-items:end;
}

.keyword-login-form button,
.keyword-verify-form button,
.keyword-research-form button,
.keyword-toolbar button{
    min-height:46px;
    padding:0 22px;
    border:0;
    border-radius:8px;
    background:#284baa;
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.keyword-login-form button{
    white-space:nowrap;
}

.keyword-error{
    margin:0 0 20px;
    padding:13px 15px;
    border-left:4px solid #a40000;
    background:#fff4f4;
    color:#751010;
}

.keyword-note{
    margin:12px 0 0;
    color:#5f5c73;
    font-size:14px;
    line-height:1.55;
}

.keyword-code-fieldset{
    margin:0;
    padding:0;
    border:0;
}

.keyword-code-fields{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    width:100%;
    margin-top:10px;
}

.keyword-code-input{
    display:block !important;
    flex:0 0 58px !important;
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    height:62px;
    padding:0 !important;
    border:1px solid #d0d2d5;
    border-radius:8px;
    background:#fff;
    color:#00193c;
    text-align:center;
    font-size:28px;
    font-weight:700;
    line-height:62px;
}

.keyword-verify-form button{
    margin-top:22px;
}

.keyword-toolbar{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:28px;
}

.keyword-toolbar p{
    margin-bottom:0;
}

.keyword-toolbar .keyword-logout{
    background:#00193c;
}

.keyword-form-grid{
    display:grid;
    gap:18px;
}

.keyword-form-grid-main{
    grid-template-columns:1fr 1fr;
    margin-bottom:18px;
}

.keyword-form-grid-options{
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-bottom:18px;
}

.keyword-checkbox{
    display:flex;
    align-items:center;
    gap:10px;
    margin:4px 0 0;
    color:#00193c;
    font-weight:600;
    cursor:pointer;
}

.keyword-checkbox input{
    width:18px;
    height:18px;
    margin:0;
}

.keyword-form-actions{
    display:flex;
    justify-content:flex-start;
    margin-top:22px;
}

.keyword-research-form button[disabled]{
    opacity:.7;
    cursor:wait;
}

.keyword-result-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:24px;
}

.keyword-result-head h2{
    margin-bottom:8px;
}

.keyword-result-head p{
    margin-bottom:0;
}

.keyword-result-count{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-width:112px;
    min-height:92px;
    padding:14px;
    border:1px solid #d0d2d5;
    border-radius:10px;
    background:#f4f5f6;
    color:#00193c;
}

.keyword-result-count strong{
    font-size:30px;
    line-height:1;
}

.keyword-result-count span{
    margin-top:7px;
    font-size:13px;
}

.keyword-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.keyword-summary-item{
    padding:16px;
    border:1px solid #d0d2d5;
    border-radius:8px;
    background:#fff;
}

.keyword-summary-item span{
    display:block;
    margin-bottom:6px;
    color:#5f5c73;
    font-size:13px;
}

.keyword-summary-item strong{
    color:#00193c;
    font-size:22px;
}

.keyword-clusters{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 20px;
}

.keyword-clusters span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border-radius:999px;
    background:#eef2fb;
    color:#00193c;
    font-size:13px;
}

.keyword-table-wrap{
    width:100%;
    overflow-x:auto;
    border:1px solid #d0d2d5;
    border-radius:8px;
}

.keyword-table{
    width:100%;
    min-width:1120px;
    border-collapse:collapse;
    background:#fff;
}

.keyword-table th,
.keyword-table td{
    padding:11px 12px;
    border-bottom:1px solid #e2e4e8;
    text-align:left;
    vertical-align:top;
    white-space:nowrap;
}

.keyword-table th{
    background:#f4f5f6;
    color:#00193c;
    font-size:13px;
}

.keyword-table td{
    color:#243044;
    font-size:14px;
}

.keyword-table tbody tr:last-child td{
    border-bottom:0;
}

@media (max-width:900px){
    .keyword-login-form{
        grid-template-columns:1fr 1fr;
    }

    .keyword-login-form button{
        grid-column:1 / -1;
    }

    .keyword-form-grid-options{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:640px){
    .keyword-login-form,
    .keyword-form-grid-main,
    .keyword-form-grid-options{
        grid-template-columns:1fr;
    }

    .keyword-toolbar{
        flex-direction:column;
    }

    .keyword-code-fields{
        gap:7px;
    }

    .keyword-code-input{
        flex:1 1 0 !important;
        width:auto !important;
        min-width:0 !important;
        max-width:52px !important;
        height:54px;
        font-size:23px;
        line-height:54px;
    }
}

@media (max-width:900px){
    .keyword-summary-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:640px){
    .keyword-result-head{
        flex-direction:column;
    }

    .keyword-summary-grid{
        grid-template-columns:1fr;
    }
}


/* ==================================================
   1.3.0 – RESPONSIVE ERGEBNISSE / TABELLEN
================================================== */

.keyword-recherche-page,
.keyword-recherche-page .content-section,
.keyword-recherche-page .grid,
.keyword-recherche-page .card,
.keyword-card{
    min-width:0;
    max-width:100%;
}

.keyword-card{
    overflow:hidden;
}

.keyword-recherche-page .grid.grid-4{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.keyword-recherche-page .grid.grid-4 .keyword-card{
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
}

.keyword-recherche-page .grid.grid-4 .keyword-card h3{
    max-width:100%;
    overflow-wrap:anywhere;
    hyphens:auto;
}

.keyword-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
}

.keyword-table{
    width:100%;
    min-width:940px;
    table-layout:auto;
}

.keyword-table th,
.keyword-table td{
    white-space:nowrap;
}

.keyword-table th:first-child,
.keyword-table td:first-child{
    min-width:250px;
    white-space:normal;
}

.keyword-form-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
}

.keyword-export-button{
    background:#00193c !important;
}

@media (max-width:1050px){
    .keyword-recherche-page .grid.grid-4{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:640px){
    .keyword-recherche-page .grid.grid-4{
        grid-template-columns:1fr;
    }

    .keyword-form-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .keyword-form-actions button{
        width:100%;
    }
}

/* ==================================================
   1.3.3 – IBSAX-SEITENCONTAINER / LOGIN
================================================== */

.site-main.keyword-recherche-page{
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.keyword-recherche-page .content-section{
    width:100%;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
}

.keyword-recherche-page .keyword-auth-card{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}

.keyword-recherche-page .keyword-login-form{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto !important;
    gap:16px !important;
    align-items:end !important;
}

.keyword-recherche-page .keyword-login-form button{
    width:auto !important;
    min-width:145px;
    grid-column:auto !important;
}

@media (max-width:900px){
    .keyword-recherche-page .keyword-login-form{
        grid-template-columns:1fr 1fr !important;
    }

    .keyword-recherche-page .keyword-login-form button{
        grid-column:1 / -1 !important;
        width:100% !important;
    }
}

@media (max-width:640px){
    .keyword-recherche-page .keyword-login-form{
        grid-template-columns:1fr !important;
    }
}

/* ==================================================
   1.3.4 – SICHERHEITSCODE MITTIG
================================================== */

.keyword-recherche-page .keyword-code-fieldset{
    text-align:center;
}

.keyword-recherche-page .keyword-code-fieldset legend{
    width:100%;
    text-align:center;
}

.keyword-recherche-page .keyword-code-fields{
    justify-content:center !important;
}

.keyword-recherche-page .keyword-verify-form{
    text-align:center;
}

.keyword-recherche-page .keyword-verify-form .keyword-note{
    text-align:center;
}

.keyword-recherche-page .keyword-verify-form button{
    display:block;
    width:auto !important;
    min-width:180px;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* ==================================================
   1.3.5 – ERGEBNIS-KOPF / EXCEL / NACH OBEN
================================================== */

.keyword-result-head{
    position:relative;
}

.keyword-result-title{
    flex:1 1 auto;
    text-align:center;
    padding-left:130px;
}

.keyword-result-title .keyword-eyebrow,
.keyword-result-title h2,
.keyword-result-title p{
    text-align:center;
}

.keyword-result-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin:0 0 16px;
}

.keyword-result-actions form{
    margin:0;
}

.keyword-result-actions .keyword-export-button{
    min-height:44px;
    padding:0 18px;
    border:0;
    border-radius:8px;
    background:#00193c;
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.keyword-back-top{
    display:flex;
    justify-content:flex-end;
    margin-top:18px;
}

.keyword-back-top a{
    display:inline-block;
    padding:9px 14px;
    border-radius:8px;
    background:#00193c;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.keyword-back-top a:hover,
.keyword-back-top a:focus{
    text-decoration:none;
}

@media (max-width:640px){
    .keyword-result-title{
        padding-left:0;
    }

    .keyword-result-actions{
        justify-content:stretch;
    }

    .keyword-result-actions form,
    .keyword-result-actions .keyword-export-button{
        width:100%;
    }

    .keyword-back-top{
        justify-content:center;
    }
}

/* ==================================================
   1.3.6 – KOPFBEREICH / EXCEL MITTIG
================================================== */

/* Oberen Textblock innerhalb der Kachel mittig setzen.
   Abmelden bleibt rechts unverändert. */
.keyword-recherche-page .keyword-toolbar{
    position:relative;
}

.keyword-recherche-page .keyword-toolbar-title{
    flex:1 1 auto;
    text-align:center;
    padding-left:150px;
}

.keyword-recherche-page .keyword-toolbar-title .keyword-eyebrow,
.keyword-recherche-page .keyword-toolbar-title h2,
.keyword-recherche-page .keyword-toolbar-title p{
    text-align:center;
}

/* Excel-Button oberhalb der Ergebnisliste mittig */
.keyword-recherche-page .keyword-result-actions{
    justify-content:center !important;
}

.keyword-recherche-page .keyword-result-actions form{
    display:flex;
    justify-content:center;
    width:100%;
}

@media (max-width:640px){
    .keyword-recherche-page .keyword-toolbar-title{
        padding-left:0;
        width:100%;
    }

    .keyword-recherche-page .keyword-toolbar{
        align-items:stretch;
    }
}

/* ==================================================
   1.3.7 – RECHERCHE-BUTTON MITTIG
================================================== */

.keyword-recherche-page .keyword-research-form .keyword-form-actions{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100%;
}

.keyword-recherche-page .keyword-research-form .keyword-form-actions button{
    margin-left:auto !important;
    margin-right:auto !important;
}

