/* IMGPV UI — shared styles for the redesigned pages (home, login, register, contact, footer) */

.ui, .ui-footer {
  --ink:#0f172a; --muted:#64748b; --line:#e2e8f0; --soft:#f8fafc;
  --blue:#2563eb; --blue2:#3b82f6; --green:#10b981; --green2:#059669;
  --navy:linear-gradient(135deg,#0b1220,#111c3a 55%,#0f2a4a);
}
.ui { color:var(--ink); text-align:left; line-height:1.5; }
.ui *, .ui-footer * { box-sizing:border-box; }
.ui h1, .ui h2, .ui h3 { margin:0; color:inherit; font-weight:800; letter-spacing:-.02em; }
.ui p { margin:0; }
.ui a { text-decoration:none; }

/* buttons */
.ui-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:48px; padding:0 24px; border:0; border-radius:12px;
  font-size:15px; font-weight:700; cursor:pointer; transition:transform .15s, box-shadow .15s, background .15s; white-space:nowrap; }
.ui-btn:hover { transform:translateY(-1px); }
.ui-btn-primary { background:linear-gradient(135deg,var(--blue2),var(--blue)); color:#fff!important; box-shadow:0 8px 20px rgba(37,99,235,.3); }
.ui-btn-green { background:linear-gradient(135deg,var(--green),var(--green2)); color:#fff!important; box-shadow:0 8px 20px rgba(16,185,129,.3); }
.ui-btn-ghost { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25); color:#fff!important; }
.ui-btn-light { background:#fff; border:1px solid var(--line); color:var(--ink)!important; }
.ui-btn-block { width:100%; }
.ui-btn[disabled] { opacity:.6; cursor:default; transform:none; }

/* form fields */
.ui-field { margin-bottom:16px; }
.ui-field > label { display:block; font-size:13px; font-weight:700; color:#334155; margin-bottom:7px; }
.ui-field > label small { font-weight:500; color:var(--muted); }
.ui-input-wrap { position:relative; }
.ui-input-wrap > i { position:absolute; z-index:2; left:15px; top:50%; transform:translateY(-50%); color:#94a3b8; font-size:15px; pointer-events:none; }
.ui input[type=text], .ui input[type=email], .ui input[type=password], .ui select, .ui textarea {
  width:100%!important; height:48px; padding:0 14px; border:1px solid var(--line); border-radius:12px; background:#fff;
  font-size:15px; color:var(--ink); box-shadow:none; outline:none; transition:border-color .15s, box-shadow .15s; margin:0; }
.ui-input-wrap > input { padding-left:42px!important; }
.ui textarea { height:auto; min-height:150px; padding:12px 14px; resize:vertical; line-height:1.5; }
.ui input:focus, .ui select:focus, .ui textarea:focus { border-color:var(--blue2); box-shadow:0 0 0 4px rgba(59,130,246,.15); }
.ui-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ui-msg { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:12px; margin-bottom:16px; font-size:14px; font-weight:600;
  background:#fef2f2; border:1px solid #fecaca; color:#b91c1c; }
.ui-msg.ok { background:#ecfdf5; border-color:#a7f3d0; color:#047857; }
.ui-msg:empty { display:none; }

/* captcha produced by the script (ihtml) */
.ui-captcha { margin-bottom:16px; }
.ui-captcha table { width:100%; border:0; margin:0; }
.ui-captcha td { padding:0!important; border:0!important; text-align:left!important; background:none!important; }
.ui-captcha td[colspan] b { display:block; font-size:13px; font-weight:700; color:#334155; margin-bottom:7px; }
.ui-captcha tr + tr td:first-child { width:96px; }
.ui-captcha td > div { border-radius:10px; background:#e2e8f0!important; height:48px!important; width:84px!important; font-size:15px!important; color:#0f172a; }
.ui-captcha td > div span { margin-top:10px; margin-left:2px; }
.ui-captcha input.captcha_code { width:100%!important; }

/* cards */
.ui-card { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 10px 40px rgba(15,23,42,.08); }

/* ---------- auth / contact layout ---------- */
.ui-auth { display:grid; grid-template-columns:1fr 1.1fr; overflow:hidden; max-width:980px; margin:10px auto 60px; }
.ui-auth-side { position:relative; padding:44px 40px; color:#fff; background:
  radial-gradient(ellipse at 0% 0%,rgba(59,130,246,.45),transparent 55%),
  radial-gradient(ellipse at 100% 100%,rgba(16,185,129,.35),transparent 55%), var(--navy); }
.ui-auth-side .logo { display:block; width:110px; height:auto; filter:brightness(0) invert(1); margin-bottom:34px; }
.ui-auth-side h2 { font-size:30px; line-height:1.15; color:#fff; }
.ui-auth-side h2 span { background:linear-gradient(90deg,#34d399,#60a5fa); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ui-auth-side > p { color:#cbd5e1; margin-top:12px; font-size:15px; }
.ui-checks { list-style:none; margin:28px 0 0; padding:0; }
.ui-checks li { display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; color:#e2e8f0; font-size:15px; }
.ui-checks li::before { content:"\2713"; flex:none; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:13px; font-weight:800;
  background:rgba(16,185,129,.2); color:#34d399; border:1px solid rgba(52,211,153,.4); }
.ui-side-stat { display:flex; gap:12px; margin-top:30px; }
.ui-side-stat div { flex:1; padding:14px; border-radius:14px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); }
.ui-side-stat b { display:block; font-size:22px; color:#fff; }
.ui-side-stat span { font-size:12px; color:#cbd5e1; }
.ui-auth-main { padding:44px 40px; }
.ui-auth-main h1 { font-size:28px; }
.ui-auth-main .sub { color:var(--muted); margin:6px 0 26px; font-size:15px; }
.ui-auth-main .sub a, .ui-auth-foot a, .ui-link { color:var(--blue)!important; font-weight:700; }
.ui-auth-foot { text-align:center; color:var(--muted); font-size:14px; margin-top:20px; }
.ui-between { display:flex; justify-content:space-between; align-items:center; margin:-4px 0 18px; font-size:14px; }
.ui-social { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:18px; }
.ui-social img { height:40px; border-radius:8px; }
.ui-contact-list { list-style:none; margin:30px 0 0; padding:0; }
.ui-contact-list li { display:flex; gap:14px; align-items:center; margin-bottom:16px; }
.ui-contact-list i { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; flex:none; font-size:17px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#93c5fd; }
.ui-contact-list b { display:block; color:#fff; font-size:15px; }
.ui-contact-list span, .ui-contact-list a { color:#cbd5e1!important; font-size:14px; }

@media (max-width:820px) {
  .ui-auth { grid-template-columns:1fr; margin-top:0; }
  .ui-auth-side { padding:28px 24px; }
  .ui-auth-side .logo { width:90px; margin-bottom:18px; }
  .ui-auth-side h2 { font-size:24px; }
  .ui-checks, .ui-side-stat, .ui-contact-list { display:none; }
  .ui-auth-main { padding:28px 22px; }
}
@media (max-width:480px) { .ui-row { grid-template-columns:1fr; gap:0; } }

/* ---------- footer ---------- */
#footer.ui-footer { display:block!important; float:none!important; position:relative!important; width:100%; margin:0; padding:0;
  background:#0b1220; border:0; color:#94a3b8; text-align:left; font-size:14px; }
.ui-footer-in { max-width:1124px; margin:0 auto; padding:48px 20px 32px; display:grid; grid-template-columns:1.3fr 2fr; gap:40px; }
.ui-footer-brand img { width:96px; height:auto; filter:brightness(0) invert(1); }
.ui-footer-brand p { margin:14px 0 0; max-width:300px; line-height:1.6; }
.ui-footer-brand .ui-btn { margin-top:20px; height:42px; font-size:14px; }
.ui-footer-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ui-footer-cols h4 { margin:0 0 14px; color:#fff; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ui-footer-cols ul { list-style:none; margin:0; padding:0; }
.ui-footer-cols li { margin:0 0 10px; }
.ui-footer-cols a { color:#94a3b8!important; text-decoration:none; transition:color .15s; }
.ui-footer-cols a:hover { color:#fff!important; }
.ui-footer-bottom { border-top:1px solid rgba(148,163,184,.15); }
.ui-footer-bottom div { max-width:1124px; margin:0 auto; padding:18px 20px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; }
.ui-footer-bottom a { color:#94a3b8!important; margin-left:16px; }
@media (max-width:760px) {
  .ui-footer-in { grid-template-columns:1fr; gap:28px; padding:36px 20px 24px; }
  .ui-footer-cols { grid-template-columns:1fr 1fr; }
  .ui-footer-bottom a { margin:0 16px 0 0; }
}

/* single-column auth card (forgot password) */
.ui-auth.ui-auth-narrow { grid-template-columns:1fr; max-width:480px; }
.ui-icon-badge { width:52px; height:52px; border-radius:15px; display:grid; place-items:center; margin-bottom:18px; font-size:20px; color:#fff;
  background:linear-gradient(135deg,#3b82f6,#10b981); box-shadow:0 10px 24px rgba(37,99,235,.3); }

/* logged-in dashboard pages hide the footer (as the original layout did) */
body:has(link[href*="dashboard-menu.css"]) #footer.ui-footer { display:none!important; }
#footer.ui-footer.ui-footer-auth { display:none!important; }
