/* ===== Portland.gov-inspired skin (keeps IDs & JS intact) ===== */

/* Tokens */
:root{
  --pg-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
  --pg-text: #1f2937;           /* slate-ish body text */
  --pg-muted: #6b7280;          /* muted notes */
  --pg-bg: #f5f7fa;             /* page background */
  --pg-surface: #ffffff;        /* cards/panels */
  --pg-border: #e5e7eb;         /* light gray borders */
  --pg-primary: #0b5ed7;        /* link/action blue (close to Portland.gov feel) */
  --pg-primary-dark: #0a58ca;   /* hover */
  --pg-focus: 0 0 0 .2rem rgba(13,110,253,.25);
  --pg-radius: 12px;
  --pg-radius-sm: 8px;
  --pg-shadow: 0 6px 18px rgba(0,0,0,.06);
  --pg-shadow-sm: 0 2px 6px rgba(0,0,0,.06);
}

/* Global surface + type */
html, body{ background:var(--pg-bg); color:var(--pg-text); font-family:var(--pg-font); }
a{ color:var(--pg-primary); text-decoration: underline; text-underline-offset: 2px; }
a:hover{ color:var(--pg-primary-dark); }

/* Neutralize legacy heavy borders/shadows */
input, select, textarea,
.ddl, .ddl1, .ddl2{
  background:#fff; border:1px solid var(--pg-border) !important;
  border-radius:var(--pg-radius-sm) !important; box-shadow:none !important;
  padding:.5rem .6rem;
}
input:focus, select:focus, textarea:focus{ outline:0; box-shadow:var(--pg-focus); border-color:#86b7fe; }

/* Frame (master) */
#page-wrap{ max-width:1100px; margin:24px auto !important; padding:0 20px; }
#header{
  background:var(--pg-surface) !important; border:1px solid var(--pg-border) !important;
  border-radius:var(--pg-radius) !important; box-shadow:var(--pg-shadow) !important;
  padding:14px 18px !important; height:auto !important; display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center;
}
#imgTopLeft img.site-logo{ max-height:56px; width:auto; display:block; }
#headlinks{ list-style:none; margin:0; padding:0; display:flex; gap:16px; }
#headlinks a{ color:#111827; font-weight:600; text-decoration:none; }
#headlinks a:hover{ color:var(--pg-primary); }

#header { display: none !important; }


#main{
  background:var(--pg-surface); border:1px solid var(--pg-border);
  border-radius:var(--pg-radius); box-shadow:var(--pg-shadow); padding:22px;
  height:auto !important;
}

#xfooter{
  margin-top:18px; background:#0f172a !important; color:#e5e7eb !important;
  border:1px solid var(--pg-border) !important; border-radius:var(--pg-radius);
  padding:10px 14px !important; height:auto !important; box-shadow:var(--pg-shadow);
}

/* Child page: home layout */
.cw-page-title{ font-size:1.6rem; font-weight:800; margin:0 0 .75rem; color:#111827; }

/* Slider: keep, but minimal chrome */
.cw-slider-wrapper{ border-radius:var(--pg-radius); overflow:hidden; border:1px solid var(--pg-border); box-shadow:var(--pg-shadow); }
.bx-wrapper,.bx-viewport,.bx-wrapper img{ height:320px !important; width:100% !important; display:block; object-fit:cover; }
.bx-controls-direction a{ display:none; }
.bx-pager{ padding:10px 12px; }
.bx-pager a{ background:#d1d5db !important; }
.bx-pager a.active{ background:var(--pg-primary) !important; }

/* Action tiles (Register / Appeal) -> simple, civic look */
.big-link-button-container{ margin-bottom:14px; }
.big-link-button{
  display:flex; align-items:center; gap:.8rem;
  width:100%; max-width:380px; min-height:84px;
  border-radius:14px; border:1px solid var(--pg-border); background:#f8fafc;
  padding:16px 18px; color:#111827; font-weight:800; letter-spacing:.1px; text-decoration:none;
  box-shadow:var(--pg-shadow-sm); transition:transform .06s, box-shadow .15s, background .15s;
}
.big-link-button:hover{ background:#eef2f7; transform:translateY(-1px); box-shadow:var(--pg-shadow); }
.big-link-button--alt{ background:#eef6ff; }
.big-link-button__icon{ width:48px; height:48px; flex:0 0 48px; color:var(--pg-primary); }
.big-link-button__label{ margin:0; font-size:1.1rem; line-height:1.35; }

/* Login card: simple panel */
.cw-login-card{ max-width:420px; border:1px solid var(--pg-border) !important; border-radius:12px !important; box-shadow:var(--pg-shadow-sm) !important; }
.cw-login-card .card-body{ padding:18px; }
.input-group-text{ min-width:130px; background:#f3f4f6; border:1px solid var(--pg-border); font-weight:600; }
.btn.btn-secondary{ background:var(--pg-primary); border-color:var(--pg-primary); }
.btn.btn-secondary:hover{ background:var(--pg-primary-dark); }
#lblNotice{ color:#b91c1c !important; }

/* Related documents -> list group feel */
#relatedDocumentsSection label{ font-weight:800; color:#111827; }
#relatedDocumentsSection .docA{
  display:block; width:100%; border:1px solid var(--pg-border); border-radius:10px;
  padding:10px 12px; margin-bottom:10px; background:#fff; box-shadow:var(--pg-shadow-sm);
  color:#111827; transition:transform .06s, box-shadow .15s, background .15s;
}
#relatedDocumentsSection .docA:hover{ background:#f8fafc; transform:translateY(-1px); box-shadow:var(--pg-shadow); }

/* Intro paragraphs & small notes */
p.intro{ color:#1f2937; font-size:1rem; line-height:1.7; }
.small, .text-muted{ color:var(--pg-muted) !important; }

/* Quotes / callouts similar to the site’s content style */
blockquote, .pg-callout{
  border-left:4px solid var(--pg-primary); padding:.75rem 1rem; background:#f8fbff; border-radius:8px;
}

/* Utilities */
.mb-6{ margin-bottom:3rem !important; }
.mt-5{ margin-top:3rem !important; }
#captcha{ margin:14px 0; }


/* Add breathing room above the footer */
#xfooter {
  margin-top: 40px !important;   /* increase gap between main content and footer */
}

/* Also ensure main content doesn’t have forced height */
#main {
  height: auto !important;
  padding-bottom: 20rem;          /* adds internal spacing if content runs deep */
  margin-bottom: 10rem;
}

.cw-slider-wrapper {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  border: 1px solid #e5e7eb;
  background: #fff;
}
.cw-slider-wrapper img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
}

/* False Alarm message styling */
.cw-false-alarm-message {
  background: #f9fafb;
  border-left: 4px solid #0b5ed7; /* civic blue accent */
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  font-size: 2.15rem;
  line-height: 1.7;
  color: #1f2937;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
}

.cw-alert-box {
  border: 2px solid #b71c1c;
  background: #ffebee;
  color: #b71c1c;
  border-radius: .75rem;
  padding: 1rem 1.25rem;
  font-size: 2.15rem;
  font-weight: 600;
  box-shadow: 0 .25rem .75rem rgba(0,0,0,.1);
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
}

.cw-alert-box strong {
  display: block;
  font-size: 1.25rem;
  margin-bottom: .25rem;
}


/* Improve contrast for the login Submit button */
#btnLogOn.btn.btn-secondary {
  background-color: #0056b3; /* deeper blue */
  color: #fff;               /* white text for readability */
  border-color: #004a9f;
  font-weight: 600;
  transition: background-color 0.2s ease-in-out, transform 0.1s ease-in-out;
}

#btnLogOn.btn.btn-secondary:hover,
#btnLogOn.btn.btn-secondary:focus {
  background-color: #004080;
  border-color: #003366;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 0 0 0.2rem rgba(0,85,204,.25);
}


/* Modernize login card and form fields */
.cw-login-card .form-label {
  font-weight: 600;
  color: #333;
  margin-bottom: .25rem;
}

.cw-login-card .form-control {
  border-radius: .5rem;
  padding: .625rem .75rem;
  font-size: 1rem;
}

.cw-login-card .form-control:focus {
  border-color: #80bdff;
  box-shadow: 0 0 0 .25rem rgba(0,123,255,.25);
}

.cw-login-card .btn {
  border-radius: .5rem;
  font-weight: 600;
  padding: .5rem 1.25rem;
}

.cw-login-card .btn:focus {
  box-shadow: 0 0 0 .25rem rgba(0,85,204,.25);
}
