body,html{margin:0}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);box-shadow:0 1px 4px rgba(0,0,0,.05)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.brand img.logo{height:120px}
.alert {background:#e0ffe0;border:1px solid #81c784;padding:.6rem 1rem;border-radius:.5rem;margin-bottom:1rem;}
.alert-error {
  background:#fee2e2;        /* light red */
  color:#991b1b;              /* dark red text */
  border:1px solid #fecaca;   /* soft red border */
}
.main-nav a{margin-left:1rem;text-decoration:none;color:#4b5563;font-weight:500}
.hero{text-align:center;padding:3rem 1rem}
.hero h1{font-size:2.5rem;font-weight:600;margin-bottom:.5rem}
.hero p{max-width:600px;margin:0 auto;color:#4b5563}
.card-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:rgba(255,255,255,.85);backdrop-filter:blur(4px);border-radius:1rem;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.05)}
.card img{width:100%;height:170px;object-fit:cover}
.card-body{padding:1rem}
.card-body a{color:#1f2937;text-decoration:none}
.card-body small{color:#6b7280}
.cta-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:2rem 0}
.cta{background:rgba(255,255,255,.85);padding:1.5rem;border-radius:1rem;text-align:center;box-shadow:0 4px 10px rgba(0,0,0,.05)}
.cta h2{font-size:1.35rem;line-height:1.3}
.cta-note{margin:.25rem 0;color:#4b5563;font-size:.875rem}
.small{font-size:.75rem}
.btn{display:inline-block;margin-top:.5rem;padding:.5rem 1.25rem;background:#7c3aed;color:#fff;border-radius:.5rem;text-decoration:none;transition:background .2s ease,color .2s ease}
.btn.btn-disabled{background:#9ca3af;color:#f9fafb;cursor:not-allowed}
.btn.btn-disabled:hover,.btn.btn-disabled:focus{background:#9ca3af;color:#f9fafb}
.cookie-banner{display:none;position:fixed;bottom:0;left:0;right:0;background:#1f2937;color:#fff;padding:.75rem;text-align:center}
.cookie-banner button{margin-left:.75rem;background:#7c3aed;color:#fff;border:none;padding:.35rem .75rem;border-radius:.5rem;cursor:pointer}
.site-footer{background:#1f2937;color:#fff;text-align:center;padding:1rem 0;font-size:.875rem;margin-top:4rem}
.form-card{max-width:500px;margin:0 auto;background:rgba(255,255,255,.9);padding:1.5rem;border-radius:1rem;box-shadow:0 4px 10px rgba(0,0,0,.05)}
.form-card label{display:block;margin-bottom:1rem}
.form-card input[type=text],.form-card input[type=email],.form-card input[type=password],.form-card input[type=url],.form-card textarea{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.5rem}

/* Footer links white on dark background */
.site-footer a,
.site-footer a:visited {
  color: #afdfaf;
}

.site-footer a:hover,
.site-footer a:focus {
  color: #afffaf;            /* slightly lighter gray on hover */
  text-decoration: underline;
}

/* Inline label helper */
label.inline { display:inline-flex; align-items:center; gap:.35rem }

/* Tooltip badge */
.help-tip {
  display:inline-flex; align-items:center; justify-content:center;
  width:1rem; height:1rem; border-radius:50%;
  background:#374151; color:#fff; font-size:.75rem; line-height:1rem;
  cursor:help; position:relative; user-select:none; outline:none;
}
.help-tip:hover, .help-tip:focus { background:#111827 }

/* Tooltip bubble */
.help-tip .bubble {
  display:none; position:absolute; left:0; top:1.4rem;
  background:#111827; color:#fff; width:22rem; max-width:80vw;
  padding:.6rem .8rem; border-radius:.5rem; box-shadow:0 8px 24px rgba(0,0,0,.22);
  z-index:20; font-size:.875rem; line-height:1.25rem;
}
.help-tip .bubble::after {
  content:""; position:absolute; top:-6px; left:10px;
  border-width:6px; border-style:solid;
  border-color:transparent transparent #111827 transparent;
}

/* Show on hover or keyboard focus */
.help-tip:hover .bubble,
.help-tip:focus .bubble,
.help-tip:focus-within .bubble { display:block }
