/* Standalone password-gated text page (textProtected).
   Self-contained: this page does not load the site's base.css, so everything it
   needs lives here. font-size 62.5% keeps 1rem = 10px, matching the project convention. */
html {
    font-size: 62.5%;
}

body.textprotected {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.6rem;
    line-height: 1.6;
    color: #1d1d1b;
    background-color: #fff;
}

/* Unlocked content */
.textprotected__content {
    max-width: 144rem;
    margin: 0 auto;
    padding: 4rem 2rem;
}

body.textprotected section.block__text .container {
    margin: 0;
}

/* Password gate */
.textprotected__gate {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.gate {
    width: 100%;
    max-width: 36rem;
}

.gate__title {
    margin: 0 0 2rem;
    font-size: 2.2rem;
}

.gate__form {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.gate__label {
    font-size: 1.4rem;
}

.gate__input {
    height: 4.4rem;
    padding: 0 1.4rem;
    border: .1rem solid #c9c9c9;
    border-radius: .6rem;
    font-size: 1.6rem;
}

.gate__input:focus-visible {
    border-color: #76a73a;
    outline: .2rem solid #76a73a;
    outline-offset: 0;
}

.gate__button {
    margin-top: .8rem;
    height: 4.4rem;
    border: none;
    border-radius: .6rem;
    background-color: #76a73a;
    color: #fff;
    font-size: 1.6rem;
    cursor: pointer;
}

@media (hover: hover) and (pointer: fine) {
    .gate__button:hover {
        background-color: #0a4a2f;
    }
}

.gate__error {
    margin: 0 0 1.6rem;
    padding: 1rem 1.4rem;
    border-radius: .6rem;
    background-color: rgba(230, 70, 93, .1);
    color: #e6465d;
    font-size: 1.4rem;
}
