/* Scoped front-end registration popup. Does not style or alter existing KOD blocks. */
.kod-reg-overlay, .kod-reg-overlay * { box-sizing: border-box; }
.kod-reg-overlay[hidden], .kod-reg-form[hidden], .kod-reg-success[hidden], .kod-reg-error[hidden], #kod-reg-age-wrap[hidden] { display: none !important; }
body.kod-reg-open { overflow: hidden !important; }
.kod-reg-overlay { position: fixed; inset: 0; z-index: 2147483000; display: flex; justify-content: center; align-items: center; padding: 18px; }
.kod-reg-backdrop { position: absolute; inset: 0; background: rgba(16,16,16,.76); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.kod-reg-dialog { position: relative; z-index: 1; width: min(100%, 600px); max-height: min(92dvh, 960px); overflow-y: auto; overscroll-behavior: contain; background: #fff; color: #1c1c1c; padding: 32px 38px 34px; border-top: 4px solid #eec56a; box-shadow: 0 25px 100px rgba(0,0,0,.35); border-radius: 0; font-family: 'Inter', Arial, sans-serif; scrollbar-width: thin; }
.kod-reg-dialog:focus { outline: none; }
.kod-reg-close { position: absolute; top: 21px; right: 19px; padding: 6px; border: 0 !important; outline-offset: 4px; background: transparent !important; color: #1c1c1c !important; cursor: pointer; width: 36px; height: 36px; display: inline-grid; place-items: center; box-shadow: none !important; }
.kod-reg-close svg { width: 22px; height: 22px; }
.kod-reg-close:hover { opacity: .6; }
.kod-reg-brand { font-size: 10px; letter-spacing: .13em; color: #977123; font-weight: 600; display: flex; align-items: center; gap: 11px; padding-right: 38px; }
.kod-reg-brand-line { display: inline-block; width: 23px; height: 1px; background: #b48e3a; }
.kod-reg-title { margin: 14px 0 5px !important; padding: 0 !important; color: #1c1c1c !important; font-family: 'Barlow Condensed', Arial, sans-serif !important; font-weight: 700 !important; font-size: clamp(40px, 7vw, 56px) !important; line-height: 1.02 !important; letter-spacing: 0; }
.kod-reg-description { margin: 0 0 18px !important; color: #565656 !important; font-size: 13px !important; line-height: 1.65 !important; }
.kod-reg-program { display: flex; flex-direction: column; gap: 4px; padding: 13px 15px; margin-bottom: 20px; background: #f8f5ef; border-left: 3px solid #eec56a; }
.kod-reg-program span { color: #85611d; font-family: 'Barlow Condensed', Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.kod-reg-program strong { color: #1c1c1c; font-family: 'Barlow Condensed', Arial, sans-serif; font-size: 20px; line-height: 1.2; text-transform: uppercase; font-weight: 700; }
.kod-reg-form { display: flex; flex-direction: column; gap: 14px; }
.kod-reg-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kod-reg-field label { display: block; color: #222 !important; margin: 0 !important; font-family: 'Inter', Arial, sans-serif !important; font-size: 12px !important; line-height: 1.5 !important; font-weight: 600 !important; }
.kod-reg-field label span, .kod-reg-consent b { color: #b08125; }
.kod-reg-field label em { color: #8a8a8a; font-weight: 400; font-style: normal; }
.kod-reg-field input, .kod-reg-field textarea { display: block !important; width: 100% !important; max-width: none !important; min-height: 42px !important; height: auto; padding: 10px 12px !important; margin: 0 !important; border: 1px solid #d7d4ce !important; border-radius: 0 !important; background: #fff !important; color: #1c1c1c !important; box-shadow: none !important; font-family: 'Inter', Arial, sans-serif !important; font-size: 13px !important; font-weight: 400 !important; line-height: 1.45 !important; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.kod-reg-field input:focus, .kod-reg-field textarea:focus { border-color: #b48e3a !important; box-shadow: 0 0 0 2px rgba(238,197,106,.2) !important; }
.kod-reg-field input::placeholder, .kod-reg-field textarea::placeholder { color: #a1a1a1 !important; opacity: 1; }
.kod-reg-field textarea { min-height: 80px !important; resize: vertical; }
.kod-reg-field small { color: #777; font-size: 11px; line-height: 1.5; }
.kod-reg-two-cols { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.kod-reg-consent { display: flex !important; align-items: flex-start !important; gap: 10px; margin: 3px 0 1px !important; color: #565656 !important; cursor: pointer; font-family: 'Inter', Arial, sans-serif !important; font-size: 11px !important; line-height: 1.65 !important; font-weight: 400 !important; }
.kod-reg-consent input[type="checkbox"] { appearance: auto !important; -webkit-appearance: checkbox !important; display: block !important; position: static !important; flex: 0 0 16px; width: 16px !important; height: 16px !important; min-width: 16px !important; min-height: 16px !important; margin: 1px 0 0 !important; accent-color: #b48e3a; opacity: 1 !important; }
.kod-reg-consent span { flex: 1; }
.kod-reg-consent a { color: #926b1c !important; text-decoration: underline !important; }
.kod-reg-consent a:hover { color: #1c1c1c !important; }
.kod-reg-error { padding: 11px 12px; border-left: 3px solid #c23d3d; background: #fff0f0; color: #8a2222; font-size: 12px; line-height: 1.5; }
.kod-reg-submit, .kod-reg-done { display: flex !important; align-items: center !important; justify-content: center !important; gap: 11px; width: 100% !important; min-height: 48px !important; margin: 2px 0 0 !important; padding: 12px 22px !important; border: 0 !important; border-radius: 0 !important; background: #eec56a !important; color: #1c1c1c !important; cursor: pointer; box-shadow: none !important; font-family: 'Barlow Condensed', Arial, sans-serif !important; font-size: 16px !important; line-height: 20px !important; letter-spacing: .02em; font-weight: 700 !important; text-transform: uppercase; transition: background .2s ease; }
.kod-reg-submit:hover, .kod-reg-done:hover { background: #ddaf4d !important; }
.kod-reg-submit:disabled { cursor: wait; opacity: .72; }
.kod-reg-submit svg { display: block; width: 22px; height: 20px; }
.kod-reg-required { margin: -4px 0 0 !important; color: #868686; font-size: 11px !important; text-align: center; }
.kod-reg-trap { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.kod-reg-success { padding: 24px 0 9px; text-align: center; }
.kod-reg-success-icon { display: grid; place-items: center; margin: 0 auto 18px; width: 64px; height: 64px; background: #eec56a; color: #1c1c1c; font-size: 34px; font-weight: 600; border-radius: 50%; }
.kod-reg-success h3 { font-family: 'Barlow Condensed', Arial, sans-serif !important; font-size: 30px !important; line-height: 1.1 !important; color: #1c1c1c !important; margin: 0 0 11px !important; }
.kod-reg-success p { font-family: 'Inter', Arial, sans-serif !important; color: #555; font-size: 13px !important; line-height: 1.65 !important; margin: 0 0 22px !important; }
.kod-reg-done { max-width: 240px; margin: 0 auto !important; }
@media (max-width: 600px) {
  .kod-reg-overlay { padding: 10px; align-items: center; }
  .kod-reg-dialog { max-height: calc(100dvh - 20px); padding: 26px 20px 23px; }
  .kod-reg-close { top: 15px; right: 12px; }
  .kod-reg-title { font-size: 43px !important; }
  .kod-reg-two-cols { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .kod-reg-program strong { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) { .kod-reg-overlay * { transition: none !important; } }
