/* The bridge intentionally leaves the approved Gallery 2.0.0 UI untouched.
   These styles render only if central Content Access locks the Gallery. */
.tba-ggg-bridge-lock {
    box-sizing: border-box;
    width: min(760px, calc(100% - 28px));
    margin: 48px auto;
    padding: 30px;
    border: 4px solid #6f4828;
    border-radius: 22px;
    background: linear-gradient(180deg, #fffaf0, #ead7ad);
    box-shadow: 0 14px 34px rgba(48, 29, 15, .22);
    color: #38271c;
    text-align: center;
}
.tba-ggg-bridge-lock h2 { margin: 4px 0 12px; color: #275f39; font-family: Georgia, serif; }
.tba-ggg-bridge-lock p { line-height: 1.5; }
.tba-ggg-bridge-eyebrow { margin: 0; color: #795333; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.tba-ggg-bridge-lock-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 20px; }
.tba-ggg-bridge-lock-actions a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 9px 16px; border: 2px solid #234d27; border-radius: 10px; background: #326b34; color: #fff !important; font-weight: 800; text-decoration: none; }
.tba-ggg-bridge-lock-actions a:hover,
.tba-ggg-bridge-lock-actions a:focus-visible { background: #244f28; color: #fff !important; outline: 3px solid #62b9e8; outline-offset: 2px; }
@media (max-width: 520px) { .tba-ggg-bridge-lock { margin: 24px auto; padding: 22px 16px; } .tba-ggg-bridge-lock-actions { display: grid; } }

/* v0.2.0: make Ghost Grizzwald's Daily Hall Hunt discoverable from the lobby. */
.tba-ggg-bridge-hunt-lobby {
    box-sizing: border-box;
    margin: 22px 0 28px;
    padding: 20px 22px;
    border: 3px solid #75502e;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff8e5 0%, #ead7aa 100%);
    box-shadow: 0 8px 0 rgba(65, 42, 25, .14), inset 0 0 0 2px rgba(255,255,255,.55);
    color: #38271c;
}
.tba-ggg-bridge-hunt-copy { display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: start; }
.tba-ggg-bridge-hunt-icon { width: 46px; height: 46px; color: #2f7045; }
.tba-ggg-bridge-hunt-lobby h3 { margin: 2px 0 7px; color: #285f3b; font: 800 clamp(22px, 2.3vw, 32px)/1.08 Georgia, serif; }
.tba-ggg-bridge-hunt-lobby p { margin: 0; line-height: 1.48; }
.tba-ggg-bridge-hunt-progress { display: flex; flex-wrap: wrap; gap: 8px; margin: 15px 0 13px 66px; }
.tba-ggg-bridge-hunt-progress span { padding: 6px 10px; border: 1px solid #a48556; border-radius: 999px; background: rgba(255,255,255,.58); color: #4c3826; font-size: 12px; font-weight: 800; }
.tba-ggg-bridge-hunt-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-left: 66px; }
.tba-ggg-bridge-hunt-actions button { min-height: 44px; padding: 9px 14px; border: 2px solid #244d2e; border-radius: 10px; background: linear-gradient(#4f8957,#2f6840); color: #fffdf4 !important; font: 800 14px/1.2 Arial,sans-serif; cursor: pointer; }
.tba-ggg-bridge-hunt-actions button:hover,
.tba-ggg-bridge-hunt-actions button:focus-visible { background: linear-gradient(#619b68,#285a37); color: #fffdf4 !important; outline: 3px solid #d9b55f; outline-offset: 2px; }
@media (max-width: 700px) {
    .tba-ggg-bridge-hunt-lobby { padding: 16px 14px; }
    .tba-ggg-bridge-hunt-copy { grid-template-columns: 40px 1fr; gap: 10px; }
    .tba-ggg-bridge-hunt-icon { width: 36px; height: 36px; }
    .tba-ggg-bridge-hunt-progress,
    .tba-ggg-bridge-hunt-actions { margin-left: 0; }
    .tba-ggg-bridge-hunt-actions { display: grid; grid-template-columns: 1fr; }
    .tba-ggg-bridge-hunt-actions button { width: 100%; }
}


/* v0.3.1: explicit Adventure Profile save state without modifying Gallery core. */
.tba-ggg-bridge-save-state {
    box-sizing: border-box;
    width: min(1080px, calc(100% - 28px));
    margin: 12px auto 18px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 2px solid #8d6a3f;
    border-radius: 12px;
    background: #fff3d8;
    color: #3d2c1e;
    font: 800 14px/1.35 Arial, sans-serif;
    text-align: center;
}
.tba-ggg-bridge-save-state.is-signed-in { background: #edf7e9; border-color: #698454; }
.tba-ggg-bridge-save-state a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border: 2px solid #274f2f;
    border-radius: 9px;
    background: #397144;
    color: #fff !important;
    text-decoration: none;
    white-space: nowrap;
}
.tba-ggg-bridge-save-state a:hover,
.tba-ggg-bridge-save-state a:focus-visible { background: #2c5d36; outline: 3px solid #dbb45a; outline-offset: 2px; }
@media (max-width: 620px) {
    .tba-ggg-bridge-save-state { flex-direction: column; align-items: stretch; font-size: 13px; }
    .tba-ggg-bridge-save-state a { width: 100%; box-sizing: border-box; }
}
