/*
 * Project-specific Camino color overrides.
 * Adjust the CSS variables below to customize the Caramel Cream scheme.
 */
:root,
.theme-caramel-cream {
    --headline-family: "Oswald";
    --subline-family: "Oswald";
    --title-family: "Oswald";
    --label-family: "Oswald";
    --body-family: "Oswald";

    --color-primary-75: rgb(245, 190, 122);
    --color-primary-100: rgb(227, 148, 59);

    --color-neutral-0: #ffffff;
    --color-neutral-10: #fbf2ee;
    --color-neutral-20: #ecdfd9;
    --color-neutral-30: #d0bfb7;
    --color-neutral-40: #bca59a;
    --color-neutral-50: #ab978e;
    --color-neutral-60: #887167;
    --color-neutral-70: #6c5246;
    --color-neutral-80: #49362d;
    --color-neutral-90: #220b01;
}

body {
    --link-color: rgb(227, 148, 59);
    --link-color-hover: rgb(245, 190, 122);
}

@media (min-width: 1600px) {
    :root,
    .theme-caramel-cream {
        --content-max-width: 1440px;
    }
}

.header {
    background: #000000;
    color: #ffffff;
}

.header a,
.header button,
.header .button__content,
.header .button__text,
.header .icon {
    color: #ffffff;
    --icon-fill: currentColor;
}

.header__nav {
    --link-color: #ffffff;
    --link-color-hover: rgb(227, 148, 59);
}

.header__nav-item:hover,
.header__nav-item:focus-visible,
.header__nav-item--active {
    color: rgb(227, 148, 59);
}

.header__nav-item:hover:before,
.header__nav-item--active:before {
    background-color: rgb(227, 148, 59);
}

.header__menu--open {
    color: #ffffff;
    background: #000000;
}

.header__nav-list,
.header__subnav {
    color: #ffffff;
    background: #000000;
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.header__subnav {
    --link-color: rgb(227, 148, 59);
    --link-color-hover: rgb(245, 190, 122);
}

.header__nav-item:hover,
.header__subnav-item:hover {
    background: rgba(255, 255, 255, 0.08);
}

.header__subnav-item {
    color: rgb(227, 148, 59);
}

.header__subnav-item:focus-visible,
.header__nav-item:focus-visible,
a:focus-visible,
button:focus-visible {
    outline-color: rgb(227, 148, 59);
}

/* Felogin layout restored from legacy sitepackage */
.component__content:has(.ihc-login-form),
.component__content:has(.frame-type-felogin_login),
.component__content:has(.tx-felogin-pi1),
.component__content:has(.tx-felogin) {
    max-width: 675px !important;
}

.frame.frame-type-felogin_login,
.frame.frame-type-login,
.frame.frame-type-list .tx-felogin-pi1,
.tx-felogin,
.tx-felogin-pi1,
.ihc-login-container {
    max-width: 675px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.frame.frame-type-felogin_login,
.frame.frame-type-login,
.ihc-login-container {
    padding-top: calc(2rem + 150px) !important;
    padding-bottom: 2rem !important;
}

.ihc-login-box,
.frame.frame-type-felogin_login .tx-felogin-pi1,
.frame.frame-type-login .tx-felogin-pi1,
.frame.frame-type-list .tx-felogin-pi1,
.tx-felogin-pi1,
.tx-felogin {
    width: 675px;
    max-width: 100%;
    padding: 40px !important;
    border-radius: 0.75rem !important;
    background: #fff !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.12) !important;
}

.ihc-login-box h1,
.ihc-login-box h2,
.ihc-login-box h3,
.tx-felogin h1,
.tx-felogin h2,
.tx-felogin h3,
.tx-felogin-pi1 h1,
.tx-felogin-pi1 h2,
.tx-felogin-pi1 h3,
.tx-felogin-pi1 legend,
.tx-felogin legend,
.tx-felogin .login,
.tx-felogin-pi1 .login {
    text-align: center !important;
}

.tx-felogin input[type="text"],
.tx-felogin input[type="email"],
.tx-felogin input[type="password"],
.tx-felogin-pi1 input[type="text"],
.tx-felogin-pi1 input[type="email"],
.tx-felogin-pi1 input[type="password"] {
    width: 100% !important;
}

.tx-felogin button[type="submit"],
.tx-felogin input[type="submit"],
.tx-felogin .btn,
.tx-felogin-pi1 button[type="submit"],
.tx-felogin-pi1 input[type="submit"],
.tx-felogin-pi1 .btn {
    display: block !important;
    margin: 1.25rem auto 0 !important;
}

.tx-felogin .login p:first-of-type,
.tx-felogin-pi1 .login p:first-of-type,
.tx-felogin .felogin-box p:first-of-type,
.tx-felogin-pi1 .felogin-box p:first-of-type {
    margin-bottom: 30px !important;
}

.tx-felogin form,
.tx-felogin-pi1 form,
.tx-felogin .felogin-box form,
.tx-felogin-pi1 .felogin-box form {
    margin-top: 30px !important;
}

.tx-felogin h1 + p,
.tx-felogin-pi1 h1 + p,
.tx-felogin h2 + p,
.tx-felogin-pi1 h2 + p {
    display: block !important;
    margin-bottom: 30px !important;
}

.tx-felogin p + form,
.tx-felogin-pi1 p + form,
.tx-felogin p + .felogin-box-body,
.tx-felogin-pi1 p + .felogin-box-body,
.tx-felogin p + .felogin-box-login,
.tx-felogin-pi1 p + .felogin-box-login {
    margin-top: 30px !important;
}

.tx-felogin .login,
.tx-felogin-pi1 .login,
.tx-felogin .felogin-box,
.tx-felogin-pi1 .felogin-box,
.tx-felogin .felogin-box-body,
.tx-felogin-pi1 .felogin-box-body,
.tx-felogin .felogin-box-content,
.tx-felogin-pi1 .felogin-box-content {
    padding: 40px !important;
    box-sizing: border-box !important;
}

.ihc-login-box > .tx-felogin-pi1,
.ihc-login-box > .tx-felogin {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ihc-login-form {
    margin: 0 !important;
}

.ihc-login-card {
    padding: 25px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 0.75rem !important;
    background: #fff !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.12) !important;
    margin-top: 5em;
}

.ihc-login-title {
    margin: 0 0 0.75rem 0 !important;
    text-align: center;
    font-size: 1.4em;
}

.ihc-login-intro {
    max-width: 420px;
    margin: 0 auto 30px auto !important;
    text-align: center !important;
    font-weight: 400 !important;
}

.ihc-login-field {
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 10px 14px;
    align-items: center;
}

.ihc-login-fields {
    display: block;
    max-width: 420px;
    margin: 0 auto 16px auto;
}

.ihc-login-fields .ihc-login-field {
    margin-bottom: 14px;
}

.ihc-login-fields .ihc-login-field:last-child {
    margin-bottom: 16px;
}

.ihc-login-remember,
.ihc-login-actions,
.ihc-login-forgot {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}

.ihc-login-label {
    display: block;
    margin-bottom: 0;
}

.ihc-login-input {
    width: 100% !important;
    min-height: 30px;
    padding: 4px 10px;
}

.ihc-login-remember {
    margin-top: 8px;
}

.ihc-login-remember-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ihc-login-actions {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 10px 14px;
}

.ihc-login-submit {
    grid-column: 2;
    display: block;
    margin: 0;
    min-height: 0;
    width: fit-content;
    padding: 0 6px;
    background: rgb(227, 148, 59) !important;
    color: #fff !important;
    border: 1px solid rgb(227, 148, 59) !important;
    border-radius: 10px !important;
    font-size: 0.78em !important;
    line-height: 1.2;
    font-weight: 400;
}

.ihc-login-forgot {
    margin-top: 14px;
    text-align: center;
}

@media (max-width: 767px) {
    .ihc-login-field {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .ihc-login-actions {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .ihc-login-submit {
        grid-column: 1;
        margin: 0 auto;
    }
}
