/* ==========================================================================
   UI Refinements - Polish layer (transitions, focus states, colors only)
   No spacing, sizing, or positioning changes.
   ========================================================================== */

/* --- Font rendering --- */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* --- Smoother transitions --- */
a {
    transition: color 0.2s ease;
}

.button {
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* --- Header size fix --- */
header.container {
    height: auto;
}

/* --- Login form styled like search form --- */
.login-form {
    width: auto;
    float: none;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-left: 0;
    margin-right: 0;
    margin-top: 0;
}

.login-form .input-block {
    display: block;
    margin-bottom: 0;
}

.login-form label {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    color: #87888a;
    font-family: HelveticaNeueLTProBd, sans-serif;
}

.login-form input[type="text"],
.login-form input[type="password"] {
    height: 46px;
    width: 100%;
    font-size: 20px;
    letter-spacing: 0.1px;
    padding-left: 13px;
    border: 1px solid #c1c2c4;
    box-sizing: border-box;
}

.login-form .input-block:last-child {
    text-align: right;
}

.login-form input[type="submit"] {
    margin-top: 15px;
    display: inline-block;
    background-color: #882319;
    color: #fff;
    padding: 10px 30px;
    font-size: 22px;
    font-family: HelveticaNeueLTProBd, sans-serif;
    border: 1px solid #882319;
    text-align: center;
    cursor: pointer;
    height: 46px;
    margin-left: 0;
    width: auto;
    white-space: nowrap;
    transition: background 0.3s;
}

.login-form input[type="submit"]:hover {
    background-color: #fff;
    color: #882319;
}

/* --- Header focus states --- */
.login-form input[type="text"]:focus,
.login-form input[type="password"]:focus {
    border-color: #7a1a03;
    outline: none;
    box-shadow: 0 1px 3px rgba(122, 26, 3, 0.1);
}

/* --- Search form focus states --- */
.search-form input[type="text"]:focus,
.search-form select:focus {
    border-color: #7a1a03;
    box-shadow: 0 1px 3px rgba(122, 26, 3, 0.1);
    outline: none;
}

/* --- Hub hover effects --- */
.hub-item_link {
    transition: background-color 0.25s ease;
}

.hub-link_title {
    transition: color 0.25s ease;
}

.hub-link_icon {
    transition: opacity 0.2s ease;
}

/* --- Asset title hover --- */
.actif-title a {
    transition: color 0.2s ease;
}

.actif-title a:hover {
    color: #a52d15;
}

/* --- Footer link hovers --- */
footer ul li a {
    transition: color 0.2s ease;
}

footer ul li a:hover {
    color: #7a1a03;
}

footer h6 a {
    transition: color 0.2s ease;
}

footer h6 a:hover {
    color: #7a1a03;
}

.copyright a {
    transition: color 0.2s ease;
}

.copyright a:hover {
    color: #7a1a03;
}

/* --- Form focus states --- */
.form input:focus,
.form textarea:focus,
.form select:focus {
    border-color: #7a1a03;
    outline: none;
}

/* --- Selection color --- */
::selection {
    background-color: #7a1a03;
    color: #fff;
}

::-moz-selection {
    background-color: #7a1a03;
    color: #fff;
}
