* {
    box-sizing: border-box;
}

body {
    font-size: 16px;
    line-height: 1.6;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Nagłówki */
h1 {
    font-size: 2rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

h2 {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

h3 {
    font-size: 1.3rem !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

h4 {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

/* Paragrafy i tekst */
p, span, div, li, a {
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

/* Mniejszy tekst */
small, .small-text {
    font-size: 0.875rem !important;
}

#home img {background-color: rgba(0, 76, 128, 0.8);}
.img-circular{border-radius:20px!important;}
.form-progress .pro-item.active::before{height:5.3px;}
.main-btn{border-radius:100px!important; padding-top:12px!important; padding-bottom:12px!important;}
.miejsce {background-color: rgba(255, 255, 255, 0.6); z-index:0;}
#miejsce .is-container{z-index:0;}

.popup-overlay {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); display: none; justify-content: center; align-items: center; z-index: 999998;}
.popup-content {background: white; padding: 20px; border-radius: 8px; max-width: 600px; width: 80%; max-height: 80vh; overflow-y: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: left;}
.popup-close {position: absolute; top: 10px; right: 10px; cursor: pointer; font-weight: bold;}
@media (max-width: 768px) {.popup-content {width: 90%; max-height: 70vh;}}

/* ==================== ZEGAR ==================== */
.nova-countdown-section {padding: 30px 20px; display: flex; justify-content: center; align-items: center;}
.nova-countdown-container {display: flex; justify-content: center; align-items: center; gap: 40px; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; width: 100%;}
.nova-countdown-item {opacity: 0; animation: novaCountdownFadeIn 0.8s ease forwards;}
.nova-delay-100 {animation-delay: 0.1s;}
.nova-delay-200 {animation-delay: 0.2s;}
.nova-delay-300 {animation-delay: 0.3s;}
.nova-delay-400 {animation-delay: 0.4s;}
@keyframes novaCountdownFadeIn {from {opacity: 0; transform: translateY(20px);} to {opacity: 1; transform: translateY(0);}}
.nova-countdown-circle {width: 180px; height: 180px; border-radius: 50%; background: #00AEEF; box-shadow: 0 8px 25px rgba(0, 174, 239, 0.25); display: flex; align-items: center; justify-content: center; position: relative;}
.nova-countdown-content {text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.nova-countdown-number {font-weight: 700; color: white; line-height: 1; margin: 0 0 8px 0;}
.nova-countdown-label {font-weight: 600; color: white; margin: 0; text-transform: uppercase; letter-spacing: 1px; opacity: 0.95;}

@media (min-width: 1400px) {.nova-countdown-circle {width: 160px; height: 160px;}}
@media (max-width: 1024px) {.nova-countdown-container {gap: 30px;} .nova-countdown-circle {width: 150px; height: 150px;}}
@media (max-width: 768px) {.nova-countdown-section {padding: 40px 15px;} .nova-countdown-container {gap: 25px;} .nova-countdown-circle {width: 140px; height: 140px;} .nova-countdown-number {margin-bottom: 6px;}}
@media (max-width: 640px) {.nova-countdown-section {padding: 30px 10px;} .nova-countdown-container {gap: 18px; max-width: 260px; justify-content: center;} .nova-countdown-item {flex: 0 0 calc(50% - 9px); display: flex; justify-content: center;} .nova-countdown-circle {width: 115px; height: 115px;} .nova-countdown-number {margin-bottom: 3px !important;}}
@media (max-width: 480px) {.nova-countdown-section {padding: 25px 10px;} .nova-countdown-container {gap: 15px; max-width: 230px;} .nova-countdown-item {flex: 0 0 calc(50% - 7.5px);} .nova-countdown-circle {width: 100px; height: 100px;} .nova-countdown-number {margin-bottom: 3px !important;}}
@media (max-width: 380px) {.nova-countdown-container {gap: 12px; max-width: 200px;} .nova-countdown-item {flex: 0 0 calc(50% - 6px);} .nova-countdown-circle {width: 88px; height: 88px;}}
@media (min-width: 970px) {#licznik .is-row {display: block!important;}}

/* ==================== REJESTRACJA ==================== */
.nova-register-section {display: flex; flex-wrap: wrap; gap: 30px; justify-content: center; align-items: stretch; padding: 40px 20px; max-width: 1400px; margin: 0 auto;}
.nova-register-card {flex: 1; min-width: 320px; max-width: 600px; background: white; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 40px rgba(67, 106, 141, 0.15); transition: all 0.3s ease; display: flex; flex-direction: column; position: relative; border: 3px solid transparent;}
.nova-register-card:hover {transform: translateY(-5px); box-shadow: 0 15px 50px rgba(0, 174, 239, 0.25); border-color: #00AEEF;}
.nova-card-header {background: linear-gradient(135deg, #436A8D 0%, #00AEEF 100%); padding: 30px 30px; text-align: center; position: relative; height: 140px; display: flex; align-items: center; justify-content: center;}
.nova-card-header h3 {color: white; margin: 0; line-height: 1.3; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);}
.nova-student-header {background: linear-gradient(135deg, #00AEEF 0%, #436A8D 100%);}
.nova-card-body {padding: 30px; flex-grow: 1;}
.nova-card-body > p {color: #555; margin-bottom: 25px; text-align: left;}
.nova-card-features {display: flex; flex-direction: column; gap: 15px;}
.nova-feature-item {display: flex; align-items: flex-start; gap: 12px; padding: 12px; background: linear-gradient(to right, #f8fcff 0%, white 100%); border-radius: 10px; border-left: 3px solid #00AEEF; transition: all 0.3s ease;}
.nova-feature-item:hover {background: linear-gradient(to right, #fffef5 0%, white 100%); border-left-color: #fbcd01; transform: translateX(5px);}
.nova-feature-icon {font-weight: 700; color: #00AEEF; flex-shrink: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; background: #fbcd01; border-radius: 50%; color: #436A8D;}
.nova-feature-item span:last-child {color: #555; line-height: 1.5;}
.nova-card-footer {padding: 0 30px 40px 30px; display: flex; justify-content: center; align-items: center;}
.nova-register-button {display: inline-block; padding: 16px 50px; background: #00AEEF; color: white !important; text-decoration: none !important; font-weight: 600; border-radius: 50px; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0, 174, 239, 0.3); border: 3px solid transparent; text-align: center; min-width: 200px;}
.nova-register-button:hover {background: #fbcd01; transform: scale(1.05);}
.nova-register-button:active {transform: scale(1.02);}
.nova-student-button {background: #00AEEF;}
.nova-student-button:hover {background: #fbcd01; transform: scale(1.05);}

@media (max-width: 1024px) {.nova-register-section {gap: 25px; padding: 30px 20px;} .nova-register-card {max-width: 500px;} .nova-card-header {height: 130px;} .nova-card-body {padding: 25px;} .nova-card-footer {padding: 0 25px 35px 25px;}}
@media (max-width: 768px) {.nova-register-section {gap: 20px; padding: 20px 15px; flex-direction: column;} .nova-register-card {max-width: 100%; min-width: 100%; width: 100%;} .nova-card-header {padding: 25px 20px; height: auto; min-height: 90px;} .nova-card-body {padding: 20px;} .nova-card-body > p {margin-bottom: 20px;} .nova-feature-item {padding: 10px; gap: 10px;} .nova-card-footer {padding: 0 20px 30px 20px;} .nova-register-button {padding: 14px 40px; min-width: 180px;}}
@media (max-width: 480px) {.nova-register-section {padding: 15px 10px; gap: 15px;} .nova-register-card {max-width: 100%; min-width: 100%; width: 100%;} .nova-card-header {padding: 20px 15px; height: auto; min-height: 85px;} .nova-card-body {padding: 15px;} .nova-feature-item {padding: 8px; gap: 8px;} .nova-feature-icon {width: 20px; height: 20px;} .nova-card-footer {padding: 0 15px 25px 15px;} .nova-register-button {padding: 12px 35px; min-width: 160px;}}

@keyframes novaSlideUp {from {opacity: 0; transform: translateY(30px);} to {opacity: 1; transform: translateY(0);}}
.nova-register-card {animation: novaSlideUp 0.6s ease forwards;}
.nova-register-card:nth-child(2) {animation-delay: 0.2s;}

/* ==================== LIST POWITALNY ==================== */
@media (min-width: 970px) {#list .is-row {display: block!important;}}
.nova-welcome-section {padding: 60px 20px;}
.nova-welcome-card {max-width: 1200px; margin: 0 auto; background: white; border-radius: 20px; box-shadow: 0 10px 40px rgba(67, 106, 141, 0.15); overflow: hidden;}
.nova-logos-container {display: flex; justify-content: center; align-items: center; gap: 40px; padding: 40px 30px 30px 30px; flex-wrap: wrap; background: white;}
.nova-welcome-logo {max-height: 80px; width: auto; object-fit: contain; transition: transform 0.3s ease;}
.nova-welcome-logo:hover {transform: scale(1.05);}
.nova-welcome-content {padding: 0 40px 40px 40px;}
.nova-welcome-intro {text-align: center; margin-bottom: 40px;}
.nova-welcome-intro p {color: #555; max-width: 900px; margin: 0 auto;}
.nova-highlight-box {background: linear-gradient(135deg, #00AEEF 0%, #436A8D 100%); border-radius: 20px; padding: 35px; margin-bottom: 40px; box-shadow: 0 8px 25px rgba(0, 174, 239, 0.25);}
.nova-highlight-title {font-weight: 700; color: white!important; margin: 0 0 15px 0; text-align: center;}
.nova-highlight-box > p {color: white; text-align: center; margin: 0 0 25px 0; opacity: 0.95;}
.nova-benefits-list {list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 15px;}
.nova-benefits-list li {display: flex; align-items: center; gap: 15px; background: rgba(255, 255, 255, 0.15); padding: 15px 20px; border-radius: 15px; color: white; transition: all 0.3s ease;}
.nova-benefits-list li:hover {background: rgba(255, 255, 255, 0.25); transform: translateX(5px);}
.nova-benefits-list li::before {content: "✓"; font-weight: bold; color: #fbcd01; flex-shrink: 0; width: 30px; display: flex; align-items: center; justify-content: center;}
.nova-benefit-icon {flex-shrink: 0; width: 30px; display: flex; align-items: center; justify-content: center;}
.nova-conference-days {margin-top: 40px; background: #f8f9fa; padding: 30px; border-radius: 20px;}
.nova-section-title {font-weight: 700; color: #436A8D; text-align: center; margin: 0 0 30px 0;}
.nova-day-card {background: white; border-radius: 15px; padding: 30px; margin-bottom: 20px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08); border-left: 5px solid #00AEEF; transition: all 0.3s ease; display: flex; align-items: flex-start; gap: 20px; min-height: 120px;}
.nova-day-card:last-child {margin-bottom: 0;}
.nova-day-card:hover {transform: translateX(5px); box-shadow: 0 8px 30px rgba(0, 174, 239, 0.2);}
.nova-day-card.nova-day-2 {border-left-color: #fbcd01;}
.nova-day-header {display: flex; flex-direction: column; align-items: flex-start; flex-shrink: 0; min-width: 120px;}
.nova-day-number {font-weight: 700; color: #00AEEF; line-height: 1; margin-bottom: 5px; font-size:35px!important;}
.nova-day-card.nova-day-2 .nova-day-number {color: #fbcd01;}
.nova-day-month {font-weight: 600; color: #436A8D; line-height: 1.2;}
.nova-day-content {flex: 1; display: flex; flex-direction: column; justify-content: center;}
.nova-day-content p {color: #555; margin: 0 0 10px 0;}
.nova-day-content p:last-child {margin-bottom: 0;}

.nova-letter-section {padding: 60px 20px;}
.nova-letter-card {max-width: 1200px; margin: 0 auto; background: white; border-radius: 20px; box-shadow: 0 10px 40px rgba(67, 106, 141, 0.15); overflow: hidden;}
.nova-letter-content {padding: 40px; display: flex; gap: 30px; align-items: flex-start;}
.nova-letter-image {width: 280px; height: auto; border-radius: 15px; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); flex-shrink: 0; transition: all 0.3s ease;}
.nova-letter-image:hover {transform: scale(1.03); box-shadow: 0 12px 35px rgba(0, 174, 239, 0.25);}
.nova-letter-text {flex: 1;}
.nova-letter-text p {color: #555; margin: 0 0 20px 0; text-align: justify;}
.nova-letter-text p:last-of-type {margin-bottom: 0;}
.nova-signature {margin-top: 30px; padding: 20px 25px; background: linear-gradient(135deg, #436A8D 0%, #00AEEF 100%); border-radius: 15px; border-left: 5px solid #fbcd01;}
.nova-signature p {color: white !important; font-weight: 600; font-style: italic; margin: 0; text-align: left !important;}
.nova-letter-buttons {display: flex; justify-content: center; gap: 20px; padding: 0 40px 40px 40px; flex-wrap: wrap;}
.nova-letter-button {display: inline-block; padding: 16px 50px; background: #00AEEF; color: white !important; text-decoration: none !important; font-weight: 600; border-radius: 50px; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0, 174, 239, 0.3); text-align: center; min-width: 200px;}
.nova-letter-button:hover {background: #fbcd01; transform: scale(1.05);}
.nova-letter-button.nova-secondary {background: #436A8D;}
.nova-letter-button.nova-secondary:hover {background: #fbcd01;}

@media (max-width: 1024px) {.nova-welcome-content {padding: 0 30px 30px 30px;} .nova-conference-days {padding: 25px;} .nova-letter-content {padding: 30px;} .nova-letter-image {width: 240px;}}
@media (max-width: 768px) {.nova-welcome-section, .nova-letter-section {padding: 40px 15px;} .nova-logos-container {gap: 25px; padding: 30px 20px 20px 20px;} .nova-welcome-logo {max-height: 60px;} .nova-welcome-content {padding: 0 20px 30px 20px;} .nova-highlight-box {padding: 25px;} .nova-benefits-list {gap: 12px;} .nova-conference-days {padding: 20px;} .nova-day-card {padding: 25px; flex-direction: column; gap: 15px;} .nova-day-header {flex-direction: row; align-items: baseline; gap: 15px; min-width: auto;} .nova-day-number {margin-bottom: 0;} .nova-letter-content {flex-direction: column; padding: 25px; gap: 25px;} .nova-letter-image {width: 100%; max-width: 350px; margin: 0 auto;} .nova-letter-buttons {flex-direction: column; padding: 0 25px 30px 25px; gap: 15px;} .nova-letter-button {width: 100%; max-width: 300px; margin: 0 auto;}}
@media (max-width: 480px) {.nova-welcome-section, .nova-letter-section {padding: 30px 10px;} .nova-logos-container {gap: 20px; padding: 25px 15px 15px 15px; flex-direction: column;} .nova-welcome-logo {max-height: 50px;} .nova-welcome-content {padding: 0 15px 25px 15px;} .nova-highlight-box {padding: 20px; border-radius: 15px;} .nova-benefits-list li {padding: 12px 15px;} .nova-benefits-list li::before {width: 25px;} .nova-conference-days {padding: 15px; border-radius: 15px;} .nova-day-card {padding: 20px; flex-direction: column; gap: 12px; min-height: auto; border-radius: 12px;} .nova-day-header {flex-direction: row; align-items: baseline; gap: 12px;} .nova-letter-content {padding: 20px 15px;} .nova-letter-text p {text-align: left;} .nova-signature {padding: 15px 20px; border-radius: 12px;} .nova-letter-buttons {padding: 0 15px 25px 15px;} .nova-letter-button {padding: 14px 40px;}}

@keyframes novaWelcomeFadeIn {from {opacity: 0; transform: translateY(30px);} to {opacity: 1; transform: translateY(0);}}
.nova-welcome-card, .nova-letter-card {animation: novaWelcomeFadeIn 0.8s ease forwards;}

/* ==================== PROGRAM ==================== */
.nova-woda-program-container {background: linear-gradient(135deg, #f5f7fa 0%, #e8eef3 100%); border-radius: 20px; box-shadow: 0 10px 40px rgba(67, 106, 141, 0.15); overflow: hidden; line-height: 1.6; margin: 20px 0;}
.nova-header {background: linear-gradient(135deg, #436A8D 0%, #00AEEF 100%); padding: 40px; text-align: center; color: white;}
.nova-header h1 {margin-bottom: 10px; font-weight: 700; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);}
.nova-header p {opacity: 0.95;}
.nova-day-switcher {display: flex; justify-content: center; padding: 30px 40px; gap: 20px; background: #f8f9fa; border-bottom: 3px solid #00AEEF;}
.nova-day-button {padding: 15px 40px; font-weight: 600; border: 3px solid #436A8D; background: white; color: #436A8D; border-radius: 50px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 10px rgba(67, 106, 141, 0.2);}
.nova-day-button:hover {transform: translateY(-2px); box-shadow: 0 6px 15px rgba(67, 106, 141, 0.3);}
.nova-day-button.active {background: linear-gradient(135deg, #436A8D 0%, #00AEEF 100%); color: white; border-color: #00AEEF;}
.nova-program-content {padding: 40px;}
.nova-day-section {display: none;}
.nova-day-section.active {display: block; animation: novaFadeIn 0.5s ease;}
@keyframes novaFadeIn {from {opacity: 0; transform: translateY(20px);} to {opacity: 1; transform: translateY(0);}}
.nova-event {margin-bottom: 30px; padding: 25px; border-left: 5px solid #00AEEF; background: linear-gradient(to right, #f8fcff 0%, white 100%); border-radius: 10px; transition: all 0.3s ease; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);}
.nova-event:hover {transform: translateX(5px); box-shadow: 0 5px 20px rgba(0, 174, 239, 0.15); border-left-color: #fbcd01;}
.nova-event-time {font-weight: 700; color: #436A8D; margin-bottom: 10px; display: inline-block; background: #fbcd01; padding: 5px 15px; border-radius: 20px; color: #436A8D;}
.nova-event-title {font-weight: 700; color: #436A8D; margin-bottom: 10px;}
.nova-event-speaker {color: #00AEEF; font-weight: 600; margin-bottom: 8px;}
.nova-event-description {color: #555; line-height: 1.7; margin-top: 10px; padding: 15px; background: #f8f9fa; border-radius: 8px; border-left: 3px solid #fbcd01;}
.nova-break-event {border-left-color: #fbcd01; background: linear-gradient(to right, #fffef5 0%, white 100%); text-align: center;}
.nova-break-event .nova-event-time {background: #436A8D; color: white;}
.nova-panel-event {border-left-color: #436A8D; background: linear-gradient(to right, #f0f4f8 0%, white 100%);}
.nova-panel-participants {margin-top: 15px; padding: 15px; background: white; border-radius: 8px; border: 2px solid #00AEEF;}
.nova-panel-participants h4 {color: #436A8D; margin-bottom: 10px;}
.nova-panel-participants ul {list-style: none; padding-left: 0;}
.nova-panel-participants li {padding: 5px 0; color: #555; padding-left: 20px; position: relative;}
.nova-panel-participants li:before {content: "▸"; position: absolute; left: 0; color: #00AEEF; font-weight: bold;}
.nova-partner-badge {display: inline-block; background: #fbcd01; color: #436A8D; padding: 3px 12px; border-radius: 15px; font-weight: 700; margin-left: 10px;}
.nova-keynote-badge {display: inline-block; background: #436A8D; color: white; padding: 3px 12px; border-radius: 15px; font-weight: 700; margin-left: 10px;}
.nova-networking-event {border-left-color: #fbcd01; background: linear-gradient(135deg, #fffef5 0%, #fff9e6 100%);}
.nova-location-info {margin-top: 10px; font-style: italic; color: #666;}

@media (max-width: 768px) {.nova-header h1 {} .nova-day-switcher {flex-direction: column; gap: 10px;} .nova-day-button {width: 100%;} .nova-program-content {padding: 20px;} .nova-event {padding: 15px;}}