.ov { position: fixed; inset: 0; background: rgba(11,22,40,.72); backdrop-filter: blur(6px); z-index: 1000; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: var(--ease); padding: 20px }
.ov.act { opacity: 1; visibility: visible }
.pop { background: var(--white); border-radius: var(--r2); padding: 40px 32px; max-width: 420px; width: 100%; position: relative; transform: translateY(14px) scale(.97); transition: var(--ease); box-shadow: 0 28px 72px rgba(0,0,0,.22) }
.ov.act .pop { transform: none }
.pcl { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px; border: none; background: var(--g100); border-radius: 6px; cursor: pointer; font-size: 15px; display: flex; align-items: center; justify-content: center; color: var(--g400); transition: var(--ease) }
.pcl:hover { background: var(--navy); color: var(--white) }
.pop h3 { font-family: var(--serif); font-size: 20px; font-weight: 800; color: var(--g900); margin-bottom: 4px; text-align: center }
.psub { font-size: 13px; color: var(--g400); text-align: center; margin-bottom: 22px }
.pform { display: flex; flex-direction: column; gap: 11px }
.pform input { width: 100%; padding: 13px 15px; border: 1.5px solid var(--g100); border-radius: 7px; font-family: var(--sans); font-size: 14px; transition: var(--ease); outline: none; background: var(--off) }
.pform input:focus { border-color: var(--blue); background: var(--white) }
.pform input::placeholder { color: var(--g200) }
.pform .btn { width: 100% }
.pnote { font-size: 11px; color: var(--g400); text-align: center; margin-top: 8px }
.pok { text-align: center; display: none }
.pok.show { display: block }
.pokic { width: 52px; height: 52px; border-radius: 50%; background: var(--blue); color: var(--white); display: flex; align-items: center; justify-content: center; font-size: 22px; margin: 0 auto 14px }
.pok p { font-size: 14px; color: var(--g400); line-height: 1.6 }

.flcta { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 900; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); padding: 10px 16px; box-shadow: 0 -2px 14px rgba(0,0,0,.07) }
.flcta .btn { width: 100%; font-size: 13px; padding: 13px }

#registration-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 20px }
.overlay-backdrop { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.85) }
.popup-container { position: relative; width: 100%; max-width: 600px; height: 90vh; max-height: 700px; background: white; border-radius: 20px; box-shadow: 0 20px 60px rgba(0,0,0,.3); overflow: hidden; z-index: 1 }
#registration-iframe { width: 100%; height: 100%; border: none; border-radius: 20px }
.popup-close { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; background: white; border: none; border-radius: 50%; font-size: 28px; line-height: 1; color: #495057; cursor: pointer; z-index: 2; box-shadow: 0 4px 12px rgba(0,0,0,.2) }
