/* GBN Industry Consultation registration.
   Follows the Consultio theme as used on gbn.com.na, measured from the live
   Contact Us form: panel #eff1ff, fields white with a 1px #e4eaff border,
   5px radius, 51px tall, Roboto 15px #666, placeholder-led; Poppins headings;
   theme red #d00000. Buttons use the theme's own .btn class, so they are the
   theme's buttons rather than a copy. Scoped to .gbnc. */
.gbnc{--gbnc-red:#d00000;--gbnc-ink:#0e0e0e;--gbnc-text:#383838;--gbnc-muted:#666;--gbnc-panel:#eff1ff;--gbnc-line:#e4eaff;
  max-width:860px;margin:0 auto;color:var(--gbnc-text);font-size:16px;line-height:1.7}
.gbnc *{box-sizing:border-box}
.gbnc h2,.gbnc h3,.gbnc .gbnc-person-title,.gbnc legend,.gbnc .gbnc-section-title{font-family:Poppins,sans-serif;color:var(--gbnc-ink);font-weight:700}

/* Event header */
.gbnc-hero{background:var(--gbnc-panel);border-radius:5px;padding:34px 34px 28px;margin-bottom:30px}
.gbnc-kicker{margin:0 0 8px;font-family:Poppins,sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gbnc-red)}
.gbnc .gbnc-title{font-size:26px;line-height:1.35;margin:0 0 18px}
.gbnc-facts{display:flex;flex-wrap:wrap;gap:12px 40px;margin:0 0 16px;padding:0}
.gbnc-facts dt{font-size:13px;color:var(--gbnc-muted);margin:0}
.gbnc-facts dd{margin:0;font-family:Poppins,sans-serif;font-weight:700;font-size:17px;color:var(--gbnc-ink)}
.gbnc-lead{margin:0;text-align:justify}

/* Sections */
.gbnc-card{background:#fff;border:1px solid var(--gbnc-line);border-radius:5px;padding:30px 34px;margin-bottom:30px}
#gbnc-register,.gbnc-receipt{background:var(--gbnc-panel);border-color:var(--gbnc-panel)}
.gbnc-card h3{margin:0 0 12px;font-size:22px}
.gbnc-card p{margin:0 0 12px;text-align:justify}
.gbnc-deadline{border-left:3px solid var(--gbnc-red);padding:2px 0 2px 12px;margin-bottom:24px!important}
.gbnc-alert{background:#fff;border-left:3px solid var(--gbnc-red);border-radius:5px;padding:12px 16px;margin:0 0 22px;color:var(--gbnc-red);font-weight:500}

/* Fields, matching the theme's contact form */
.gbnc-field{margin:0 0 22px;border:0;padding:0;min-width:0}
.gbnc .gbnc-section-title{font-size:17px;margin:4px 0 12px}
.gbnc .gbnc-field legend{font-size:17px;line-height:1.5;border:0;width:auto;margin:0 0 12px;padding:0;text-transform:none;letter-spacing:normal}
.gbnc input[type=text],.gbnc input[type=email],.gbnc input[type=tel],.gbnc select{
  width:100%;height:51px;padding:6px 22px;background:#fff;border:1px solid var(--gbnc-line);border-radius:5px;
  font-family:Roboto,sans-serif;font-size:15px;color:var(--gbnc-muted);box-shadow:none;margin:0}
.gbnc input::placeholder{color:var(--gbnc-muted);opacity:1}
.gbnc input:focus,.gbnc select:focus,.gbnc .nice-select:focus{outline:2px solid rgba(208,0,0,.25);outline-offset:1px}
.gbnc [aria-invalid=true],.gbnc .gbnc-invalid .nice-select{border-color:var(--gbnc-red)!important}
.gbnc .nice-select{width:100%;float:none;height:51px;line-height:49px;padding:0 22px;border:1px solid var(--gbnc-line);border-radius:5px;font-family:Roboto,sans-serif;font-size:15px;color:var(--gbnc-muted);background:#fff}
.gbnc .nice-select .list{width:100%;max-height:320px;overflow-y:auto;border-radius:5px}
.gbnc .nice-select .option{line-height:40px;min-height:40px;white-space:normal}
.gbnc-error{color:var(--gbnc-red);font-size:14px;margin:6px 0 0!important;line-height:1.4}
.gbnc-hint{color:var(--gbnc-muted);font-size:14px;font-weight:400}
.req{color:var(--gbnc-red)}
.gbnc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.gbnc-grid>div{margin-bottom:22px;min-width:0}

/* People */
.gbnc-person{background:#fff;border:1px solid var(--gbnc-line);border-radius:5px;padding:20px 22px 0;margin:0 0 18px}
.gbnc .gbnc-person-title{font-size:15px;margin:0 0 12px}
.gbnc-person .gbnc-name{margin-bottom:22px}

/* Choices */
.gbnc-radio{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-weight:400;cursor:pointer;color:var(--gbnc-text)}
.gbnc-radio input{margin-top:6px;width:17px;height:17px;flex:0 0 auto;accent-color:var(--gbnc-red)}

/* Buttons are the theme's .btn; only spacing is set here */
.gbnc .btn{margin-top:4px}
.gbnc .btn[disabled]{opacity:.75;cursor:wait}
.gbnc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Result states */
.gbnc-closed{border-left:3px solid var(--gbnc-red)}
.gbnc-qr-grid{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0}
.gbnc-qr{margin:0;text-align:center;background:#fff;border:1px solid var(--gbnc-line);border-radius:5px;padding:14px}
.gbnc-qr img{display:block;width:220px;height:220px;image-rendering:pixelated}
.gbnc-qr figcaption{font-family:Poppins,sans-serif;font-weight:700;color:var(--gbnc-ink);margin-top:8px}

/* Leave room for the theme's sticky header when jumping to the form or result. */
.gbnc-card,.gbnc-hero{scroll-margin-top:110px}

@media (max-width:767px){
  .gbnc-grid{grid-template-columns:1fr}
  .gbnc-hero,.gbnc-card{padding:22px 18px}
  .gbnc-person{padding:16px 14px 0}
  .gbnc .gbnc-title{font-size:21px}
}
@media print{.gbnc-hero,.gbnc-rfp,.gbnc-actions,header,footer,nav{display:none!important}.gbnc-receipt{background:#fff}}

/* The site-wide newsletter popup covers the form on phones. This stylesheet only
   loads on the registration page, so the popup is unchanged everywhere else. */
#ct-newsletter-popup{display:none!important}
