/* CM Klara navigation v8 — restore desktop search, neutral mobile controls, clearer search motion. */

@media (min-width: 1025px) {
    /* Restore the pre-v7 desktop search treatment. */
    .cmk-nav .cmk-nav__root-item.is-search {
        width: 112px !important;
        flex: 0 0 112px !important;
        padding: 6px 4px !important;
        overflow: hidden !important;
        transition:
            width .34s cubic-bezier(.22,.61,.36,1),
            flex-basis .34s cubic-bezier(.22,.61,.36,1) !important;
    }

    .cmk-nav .cmk-nav__root-item.is-search-open {
        width: 350px !important;
        flex-basis: 350px !important;
    }

    .cmk-nav .cmk-nav__root-item.is-search > a.cmk-nav__root-link {
        inset: 6px 4px !important;
        min-height: 42px !important;
        width: calc(100% - 8px) !important;
        padding: 0 15px !important;
        gap: 9px !important;
        border: 1px solid rgba(64,64,65,.06) !important;
        border-radius: 12px !important;
        background: #f3f4f6 !important;
        color: #404041 !important;
        box-shadow: 0 2px 8px rgba(24,28,35,.045) !important;
        transition:
            color .18s ease,
            background-color .18s ease,
            border-color .18s ease,
            box-shadow .18s ease,
            opacity .18s ease,
            transform .34s cubic-bezier(.22,.61,.36,1),
            visibility .18s ease !important;
    }

    .cmk-nav .cmk-nav__root-item.is-search:hover > a.cmk-nav__root-link,
    .cmk-nav .cmk-nav__root-item.is-search:focus-within > a.cmk-nav__root-link {
        background: #eceef1 !important;
        color: #2d2f33 !important;
        border-color: rgba(64,64,65,.10) !important;
        box-shadow: 0 4px 12px rgba(24,28,35,.075) !important;
    }

    .cmk-nav .cmk-nav__root-item.is-search .cmk-nav__search-trigger-icon {
        order: initial !important;
        width: 19px !important;
        height: 19px !important;
        flex: 0 0 19px !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #404041 !important;
        box-shadow: none !important;
    }

    .cmk-nav .cmk-nav__root-item.is-search .cmk-nav__root-label {
        order: initial !important;
        font-weight: inherit !important;
    }

    .cmk-nav .cmk-nav__root-item.is-search .cmk-nav__search-form {
        inset: 5px 0 !important;
        min-height: 44px !important;
        padding: 4px 5px 4px 15px !important;
        border: 1px solid #e2e4e7 !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(24,28,35,.07) !important;
        transform: translateX(22px) scale(.97) !important;
        transform-origin: right center !important;
        transition:
            opacity .2s ease .04s,
            transform .34s cubic-bezier(.22,.61,.36,1),
            visibility .2s ease,
            border-color .18s ease,
            box-shadow .18s ease !important;
    }

    .cmk-nav .cmk-nav__root-item.is-search-open .cmk-nav__search-form {
        transform: translateX(0) scale(1) !important;
    }

    .cmk-nav .cmk-nav__search-form .cmk-nav__search-submit {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
        padding: 10px !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: #d71920 !important;
        color: #fff !important;
        box-shadow: 0 3px 8px rgba(215,25,32,.18) !important;
        transition:
            background-color .18s ease,
            box-shadow .18s ease,
            transform .18s ease !important;
    }
}

@media (min-width: 1025px) and (max-width: 1180px) {
    .cmk-nav .cmk-nav__root-item.is-search-open {
        width: 305px !important;
        flex-basis: 305px !important;
    }
}

@media (max-width: 1024px) {
    /* Header controls: neutral/dark by default; Klara red only on interaction. */
    .cmk-nav-mobile__toggle,
    .cmk-nav-mobile__search-toggle {
        border: 1px solid #404041 !important;
        background: #fff !important;
        color: #20242b !important;
        box-shadow: none !important;
        -webkit-tap-highlight-color: transparent !important;
        transition: color .16s ease, background-color .16s ease, transform .16s ease !important;
    }

    .cmk-nav-mobile__toggle:hover,
    .cmk-nav-mobile__search-toggle:hover,
    .cmk-nav-mobile__toggle:active,
    .cmk-nav-mobile__search-toggle:active,
    .cmk-nav-mobile__toggle:focus-visible,
    .cmk-nav-mobile__search-toggle:focus-visible {
        border-color: #404041 !important;
        background: #fff !important;
        color: #be1e2d !important;
    }

    .cmk-nav-mobile__toggle:active,
    .cmk-nav-mobile__search-toggle:active {
        transform: scale(.97) !important;
    }

    .cmk-nav-mobile__toggle:focus,
    .cmk-nav-mobile__search-toggle:focus {
        outline: none !important;
    }

    .cmk-nav-mobile__toggle:focus-visible,
    .cmk-nav-mobile__search-toggle:focus-visible {
        outline: 2px solid rgba(64,64,65,.24) !important;
        outline-offset: 2px !important;
    }

    /* Deliberately visible expansion: the field grows first, then the input settles in. */
    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-form {
        transition:
            width .44s cubic-bezier(.22,.61,.36,1),
            min-width .44s cubic-bezier(.22,.61,.36,1),
            background-color .26s ease,
            border-radius .40s cubic-bezier(.22,.61,.36,1),
            border-color .26s ease,
            box-shadow .26s ease,
            padding .40s cubic-bezier(.22,.61,.36,1) !important;
    }

    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-label {
        transition:
            opacity .20s ease,
            transform .25s ease,
            width .25s ease !important;
    }

    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-form button[type="submit"] {
        transition:
            border-radius .42s cubic-bezier(.22,.61,.36,1),
            width .42s cubic-bezier(.22,.61,.36,1),
            height .42s cubic-bezier(.22,.61,.36,1),
            flex-basis .42s cubic-bezier(.22,.61,.36,1),
            box-shadow .24s ease !important;
    }

    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-icon {
        transition: width .30s ease .08s, flex-basis .30s ease .08s, opacity .24s ease .08s !important;
    }

    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-form input[type="search"] {
        transition: opacity .28s ease .10s, width .36s cubic-bezier(.22,.61,.36,1) .04s !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cmk-nav .cmk-nav__root-item.is-search,
    .cmk-nav .cmk-nav__root-item.is-search > a.cmk-nav__root-link,
    .cmk-nav .cmk-nav__root-item.is-search .cmk-nav__search-form,
    .cmk-nav-mobile__toggle,
    .cmk-nav-mobile__search-toggle,
    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-form,
    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-label,
    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-form button[type="submit"],
    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-icon,
    body > .cmk-nav-mobile__panel .cmk-nav-mobile__search-form input[type="search"] {
        transition-duration: .01ms !important;
        transition-delay: 0s !important;
    }
}
