:root {
    --asset-leather-black: url("/pages/wbs3/background-black2.png");
    --asset-leather-red: url("/pages/wbs3/background-red.png");
    --asset-corner: url("/pages/wbs3/corner_icon.png");
    --asset-rivet: url("/pages/wbs3/beveled-tack.png");
    --asset-flourish-icon: url("/pages/wbs3/flourish_icon.png");

    --gold-bright: #f8dd82;
    --gold: #c99828;
    --gold-dark: #6f4612;
    --red-deep: #280000;
    --red: #630400;
    --black: #050403;
    --cream: #fff2c9;
    --muted: #d6c7a1;
}

* { box-sizing: border-box; }

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    color: var(--cream);
    font-family: Arial, Helvetica, sans-serif;
    background:
        linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.35) 15%, rgba(0,0,0,.35) 85%, rgba(0,0,0,.96)),
        var(--asset-leather-black) center top repeat,
        #020202;
}

a {
    color: #fff0af;
    text-decoration: underline;
}

a:hover,
a:focus-visible {
    color: #ffffff;
    outline: none;
}

.warning {
    width: min(1180px, calc(100vw - 24px));
    margin: 10px auto;
    padding: 10px 14px;
    color: #fff4bf;
    background: #5b0000;
    border: 1px solid var(--gold);
    text-align: center;
    font-weight: bold;
}

.lostinfo-stage {
    position: relative;
    width: 1040px;
    max-width: calc(100vw - 24px);
    margin: 14px auto;
    padding: 34px 46px 42px;
    overflow: hidden;
    border-radius: 18px;
    background: transparent;
}

.lostinfo-stage::before {
    content: "";
    position: absolute;
    inset: 18px;
    pointer-events: none;
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255,222,119,.08), transparent 90px),
        var(--asset-leather-red) center top repeat,
        radial-gradient(circle at 50% 20%, #80100b, #260000 72%);
    z-index: 0;
}

.lostinfo-stage::after {
    content: "";
    position: absolute;
    inset: 14px;
    pointer-events: none;
    border: 1px solid rgba(255,207,94,.72);
    border-radius: 12px;
    box-shadow:
        0 0 0 1px rgba(0,0,0,.75),
        0 0 26px rgba(0,0,0,.75) inset;
    z-index: 1;
}

.stage-corner,
.stage-rivet,
.panel-rivet {
    position: absolute;
    pointer-events: none;
    z-index: 4;
}

.stage-corner {
    width: 90px;
    height: 90px;
    background: var(--asset-corner) no-repeat center center;
    background-size: contain;
    opacity: .94;
}

.stage-corner-tl { top: 0; left: 0; }
.stage-corner-tr { top: 0; right: 0; transform: scaleX(-1); }
.stage-corner-bl { bottom: 0; left: 0; transform: scaleY(-1); }
.stage-corner-br { bottom: 0; right: 0; transform: scale(-1); }

.stage-rivet,
.panel-rivet {
    width: 18px;
    height: 18px;
    background: var(--asset-rivet) no-repeat center center;
    background-size: contain;
}

.stage-rivet-tl { top: 8px; left: 8px; }
.stage-rivet-tr { top: 8px; right: 8px; }
.stage-rivet-bl { bottom: 8px; left: 8px; }
.stage-rivet-br { bottom: 8px; right: 8px; }

.lostinfo-header,
.lostinfo-panel,
.lostinfo-footer {
    position: relative;
    z-index: 2;
}

.lostinfo-header {
    padding: 6px 44px 22px;
    text-align: center;
}

.wbs-logo-link {
    display: inline-block;
    margin-bottom: 12px;
    line-height: 0;
    text-decoration: none;
    filter: drop-shadow(0 4px 5px rgba(0,0,0,.72));
}

.wbs-logo-link img {
    max-width: min(321px, 88vw);
    height: auto;
    border: 0;
}

.lostinfo-header h1 {
    margin: 0;
    color: var(--gold-bright);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    line-height: .95;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-variant: small-caps;
    text-shadow:
        0 1px 0 #fff7cf,
        0 2px 0 #d9a73d,
        0 3px 0 #7a4b10,
        0 4px 0 #2b1603,
        0 0 8px rgba(0,0,0,.9),
        0 0 14px rgba(255,206,74,.24);
}

.lostinfo-header p {
    margin: 12px 0 0;
    color: #f3ead2;
    font-size: 17px;
    letter-spacing: .3px;
    text-shadow: 0 2px 2px #000;
}

.lostinfo-panel {
    max-width: 650px;
    margin: 0 auto;
    padding: 34px 42px 38px;
    border: 2px solid #181005;
    border-radius: 7px;
    background:
        linear-gradient(180deg, rgba(255,219,104,.08), transparent 34px),
        var(--asset-leather-black) center top repeat,
        linear-gradient(180deg, #10100d, #050504);
    box-shadow:
        0 0 0 1px #b48625 inset,
        0 0 0 4px rgba(0,0,0,.62) inset,
        0 0 0 5px rgba(217,154,41,.22) inset,
        0 0 18px rgba(0,0,0,.9);
}

.panel-rivet { width: 14px; height: 14px; }
.panel-rivet-tl { top: 12px; left: 12px; }
.panel-rivet-tr { top: 12px; right: 12px; }
.panel-rivet-bl { bottom: 12px; left: 12px; }
.panel-rivet-br { bottom: 12px; right: 12px; }

.lostinfo-panel h2 {
    margin: 0 0 18px;
    color: var(--gold-bright);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
    font-variant: small-caps;
    text-shadow: 0 2px 2px #000, 0 0 8px rgba(255,211,86,.25);
}

.lostinfo-panel h2::before,
.lostinfo-panel h2::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 16px;
    margin: 0 13px;
    background: var(--asset-flourish-icon) no-repeat center center;
    background-size: contain;
    transform: translateY(-1px);
}

.lostinfo-panel h2::before {
    transform: translateY(-1px) scaleX(-1);
}

.wbs-alert {
    margin: 0 0 16px;
    padding: 12px 16px;
    border-radius: 5px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.45;
    text-align: center;
    text-shadow: 0 1px 1px #000;
    box-shadow:
        0 1px 0 rgba(255,255,255,.12) inset,
        0 -1px 0 rgba(0,0,0,.65) inset;
}

.wbs-alert-success {
    color: #fff7d6;
    border: 1px solid rgba(186, 220, 122, .86);
    background: linear-gradient(180deg, rgba(51, 99, 23, .88), rgba(18, 55, 8, .96));
}

.wbs-alert-danger {
    color: #fff2cf;
    border: 1px solid rgba(255, 169, 98, .86);
    background: linear-gradient(180deg, rgba(135, 11, 4, .9), rgba(68, 0, 0, .96));
}

.lostinfo-form {
    margin: 0;
}

.form-row {
    margin: 0 0 18px;
}

.form-row label {
    display: block;
    margin: 0 0 8px;
    color: #fff0d4;
    font-size: 16px;
    line-height: 1.45;
    text-shadow: 0 1px 1px #000;
}

.form-row input {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    color: #fff2c9;
    font: 16px Arial, Helvetica, sans-serif;
    border: 1px solid rgba(205,123,24,.86);
    border-radius: 5px;
    background:
        linear-gradient(180deg, rgba(31, 0, 0, .92), rgba(9, 4, 3, .96)),
        var(--asset-leather-black) center center repeat;
    box-shadow:
        0 1px 0 rgba(255,219,102,.14) inset,
        0 0 0 3px rgba(0,0,0,.35) inset;
    outline: none;
}

.form-row input:focus {
    border-color: var(--gold-bright);
    box-shadow:
        0 1px 0 rgba(255,219,102,.22) inset,
        0 0 0 3px rgba(0,0,0,.35) inset,
        0 0 12px rgba(248,221,130,.2);
}

.form-row input:-webkit-autofill,
.form-row input:-webkit-autofill:hover,
.form-row input:-webkit-autofill:focus,
.form-row input:-webkit-autofill:active {
    -webkit-text-fill-color: #fff2c9;
    box-shadow: 0 0 0 1000px #120302 inset, 0 0 0 3px rgba(0,0,0,.35) inset;
    transition: background-color 9999s ease-in-out 0s;
}

.form-actions {
    display: flex;
    justify-content: center;
}

.form-actions button {
    min-width: min(100%, 310px);
    padding: 12px 18px;
    color: #2c1602;
    cursor: pointer;
    font: bold 15px Arial, Helvetica, sans-serif;
    letter-spacing: .3px;
    text-transform: uppercase;
    border: 1px solid #3a2106;
    border-radius: 5px;
    background:
        linear-gradient(180deg, #fff1aa 0%, #e4bc55 36%, #a46714 72%, #5e3509 100%);
    box-shadow:
        0 1px 0 #fff7d1 inset,
        0 -2px 0 rgba(0,0,0,.38) inset,
        0 3px 8px rgba(0,0,0,.65);
    text-shadow: 0 1px 0 rgba(255,255,255,.35);
}

.form-actions button:hover,
.form-actions button:focus-visible {
    color: #160900;
    background:
        linear-gradient(180deg, #fff8c9 0%, #f3cf65 38%, #bd7819 74%, #6f410d 100%);
    outline: none;
}

.help-line {
    margin: 22px 0 0;
    padding: 13px 16px;
    color: #fff0d4;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
    text-shadow: 0 1px 1px #000;
    border: 1px solid rgba(212,152,38,.8);
    border-radius: 5px;
    background: rgba(38,0,0,.72);
    box-shadow:
        0 0 0 3px rgba(0,0,0,.55) inset,
        0 0 0 4px rgba(177,108,20,.18) inset;
}

.help-line strong {
    color: #fff7d6;
}

.lostinfo-footer {
    min-height: 80px;
    margin: 12px 0 0;
    padding: 18px 40px 14px;
    text-align: center;
    color: #f8ecd0;
    border: 2px solid #100a04;
    border-radius: 6px 6px 12px 12px;
    background:
        linear-gradient(180deg, rgba(148, 9, 2, .6), rgba(40, 0, 0, .95)),
        var(--asset-leather-red) center center repeat;
    box-shadow:
        0 0 0 1px #a97a22 inset,
        0 0 0 4px rgba(0, 0, 0, .52) inset;
}

.lostinfo-footer p {
    margin: 0;
    color: #fff0d6;
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .lostinfo-stage {
        max-width: calc(100vw - 10px);
        margin: 5px auto;
        padding: 24px 14px 18px;
    }

    .stage-corner,
    .stage-rivet {
        display: none;
    }

    .lostinfo-header {
        padding: 14px 12px 20px;
    }

    .lostinfo-header h1 {
        font-size: 36px;
    }

    .lostinfo-header p,
    .form-row label,
    .help-line {
        font-size: 15px;
    }

    .lostinfo-panel {
        padding: 26px 18px 28px;
    }

    .lostinfo-panel h2 {
        font-size: 24px;
    }

    .lostinfo-panel h2::before,
    .lostinfo-panel h2::after {
        display: none;
    }

    .lostinfo-footer {
        padding: 16px 20px 14px;
    }
}
