/* ============================================================================
   Silent Book Contest - shared modern page shell.
   Used by default2.aspx and the migrated public pages; pair with Header.ascx.
   All rules live under .sbc so they never leak into other pages.
   ============================================================================ */

.sbc { --ink:#6f6f6f; --ink-strong:#565656; --accent:#c85a1b; --olive:#84961b;
       --olive-d:#71811a; --line:#cccccc; --border:#bcbcbc;
       max-width:1040px; margin:0 auto; padding:28px 20px 48px;
       color:var(--ink); font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
       font-size:15px; line-height:1.5; }
/* Exclude Bootstrap buttons (.btn) so their own text colours win — LinkButtons render as <a>,
   and a bare ".sbc a" rule would override .btn-primary's white text (making it unreadable). */
.sbc a:not(.btn) { color:var(--accent); }

/* The page header lives in the reusable Header.ascx control. */

/* Two-column bilingual blocks -------------------------------------------- */
.sbc-cols { display:grid; grid-template-columns:1fr 1fr; gap:20px 48px; }
.sbc-col-title { text-transform:uppercase; letter-spacing:1px; color:#9a9a9a; font-weight:700;
                 font-size:14px; margin:0 0 12px; }

/* Message / info pages (registration closed, confirmed, waiting, ...) ----- */
.sbc-msg { margin:26px 0; }
.sbc-msg h2 { color:var(--ink-strong); font-weight:700; font-size:clamp(18px,2.4vw,24px);
              margin:0 0 10px; line-height:1.2; }
.sbc-msg p { margin:0 0 10px; }
.sbc-msg .it { color:#8a8a8a; }
.sbc-msg--center { text-align:center; }

/* Highlighted registration-code banner (payment confirmation pages) */
.sbc-code { background:#eeeeee; color:#000; text-align:center; padding:10px 14px; border-radius:4px;
            margin:22px 0; font-weight:700; letter-spacing:.5px; }

/* Logged-in user bar (reserved-area pages) */
.sbc-userbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px;
               margin:0 0 18px; padding:10px 0; border-bottom:1px solid var(--line); font-size:13px; color:var(--ink-strong); }
.sbc-userbar-actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }

/* Books list (dashboard) */
.sbc-books-head { display:flex; align-items:center; justify-content:space-between; gap:10px;
                  flex-wrap:wrap; margin:24px 0 10px; }
.sbc-books td, .sbc-books th { vertical-align:middle; }
.sbc-book-name { word-break:break-all; }
.sbc-book-status img { height:22px; width:auto; margin:0 2px; }
.sbc-book-actions .btn { margin:2px 0 2px 4px; }

/* Upload drop zone wrapper */
.sbc-upload { margin:24px 0; }

/* Form ------------------------------------------------------------------- */
.sbc-form { margin:30px 0 6px; }
.f { display:grid; grid-template-columns:minmax(170px,215px) 1fr; gap:6px 20px;
     align-items:center; padding:7px 0; }
.f-lab { color:var(--ink-strong); font-weight:600; font-size:13px; text-transform:uppercase;
         letter-spacing:.3px; display:flex; align-items:baseline; gap:6px; }
.f-lab .it { color:#a6a6a6; font-weight:400; font-style:italic; text-transform:none; letter-spacing:0; }
.bull { color:transparent; font-size:16px; line-height:1; flex:0 0 auto; }
.bull.req { color:var(--accent); }
.in { width:100%; box-sizing:border-box; padding:7px 9px; border:1px solid var(--border);
      border-radius:3px; font-size:14px; background:#fff; color:#333; }
.in:focus { outline:0; border-color:var(--accent); box-shadow:0 0 0 2px rgba(200,90,27,.15); }
.err { display:block; color:#c0392b; font-size:12px; margin-top:3px; }
.hint { color:#a6a6a6; font-size:12px; }
.in-date { max-width:220px; }

/* Checkbox --------------------------------------------------------------- */
.f-check { align-items:start; padding-top:14px; }
.sbc-decl label { font-weight:400; color:var(--ink-strong); }
.sbc-decl .in-check { margin-right:8px; }

.sbc-legend { text-transform:uppercase; letter-spacing:.4px; color:var(--ink-strong);
              font-weight:600; font-size:13px; margin:18px 0 4px; }
.sbc-legend .it { color:#a6a6a6; font-style:italic; text-transform:none; font-weight:400; }

/* Terms ------------------------------------------------------------------ */
.sbc-terms { margin-top:26px; font-size:13.5px; color:#7a7a7a; }
.sbc-terms .accept { font-weight:700; color:var(--ink-strong); display:block; margin-top:10px; }

/* Buttons ---------------------------------------------------------------- */
.sbc-actions { margin-top:22px; }
.sbc-actions .cell { display:flex; align-items:center; gap:16px; }
.sbc .btn-confirm, .sbc .sbc-btn { display:inline-block; text-align:center; background:var(--olive);
    color:#fff; text-transform:uppercase; font-weight:700; letter-spacing:1px;
    padding:8px 18px; border:0; border-radius:2px; text-decoration:none; cursor:pointer; }
.sbc .btn-confirm { flex:1 1 auto; }
.sbc .sbc-btn { padding:8px 22px; }
.sbc .btn-confirm:hover, .sbc .btn-confirm:focus, .sbc .btn-confirm:active, .sbc .btn-confirm:visited,
.sbc .sbc-btn:hover, .sbc .sbc-btn:focus, .sbc .sbc-btn:active, .sbc .sbc-btn:visited {
    background:var(--olive-d); color:#fff; text-decoration:none; }
.sbc-back { text-transform:uppercase; letter-spacing:1px; font-size:13px; color:#9a9a9a; text-decoration:none; }
.sbc-back:hover { color:var(--accent); }

/* Rules links + footer --------------------------------------------------- */
.sbc-rules { margin-top:22px; }
.sbc-rules a { text-transform:uppercase; font-weight:700; letter-spacing:.4px; font-size:13px; }
.sbc-foot { margin-top:32px; padding-top:14px; border-top:1px solid var(--line);
            font-size:12px; color:#9a9a9a; }

/* Responsive ------------------------------------------------------------- */
@media (max-width:760px) {
    .sbc-cols { grid-template-columns:1fr; }
    .f { grid-template-columns:1fr; align-items:start; gap:4px; padding:9px 0; }
}
