h1,
h2,
h3,
h4,
h5,
h6,
td,
dl,
ol,
blockquote {
    color: #021f53 !important;
}

.date {
    color: white;
}

.datePlace .place {
    color: white !important;
}

.timezone {
    color: white !important;
}



img {
    border-radius: 10px;
}

.just {
    text-align: justify;
    hyphens: auto;
}

span.conference-title-link span {
    display: none;
}

p {
    font-size: 17px;
    line-height: 27px;
    color: #111325 !important;
}

.confTitle {
    width: 100%;
    margin: 0 auto;
    max-width: 1600px;
}

.conference-page header {
    position: relative;
    margin-bottom: 1.8em;
    display: none;
}

/* --- MODERN GRID STYLES --- */
.prz-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    width: 720px;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    padding: 10px 0;
}

.grid-item {
    position: relative;
    min-height: 160px;
    height: auto;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.8s ease;
    animation-name: cta-living;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
}

.grid-item:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.grid-item .bg-wrapper {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.grid-item .bg-image {
    position: absolute;
    top: -15%;
    left: -15%;
    width: 130%;
    height: 130%;
    background-color: #021f53;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: opacity 0.8s ease;
    z-index: 1;
}

.grid-item:hover .bg-image {
    opacity: 0.6;
}

@keyframes pan-h {
    0% {
        transform: scale(1.1) translateX(-2%);
    }

    100% {
        transform: scale(1.1) translateX(2%);
    }
}

@keyframes pan-v {
    0% {
        transform: scale(1.1) translateY(-2%);
    }

    100% {
        transform: scale(1.1) translateY(2%);
    }
}

@keyframes pan-z {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.2);
    }
}

@keyframes pan-d {
    0% {
        transform: scale(1.15) translate(-1%, -1%);
    }

    100% {
        transform: scale(1.15) translate(1%, 1%);
    }
}

.grid-item:hover .bg-image {
    opacity: 0.7;
}

.grid-item .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(2, 31, 83, 0.9) 0%, rgba(2, 31, 83, 0) 80%);
    z-index: 2;
    transition: opacity 0.3s ease;
}

.grid-item:hover .overlay {
    background: linear-gradient(0deg, rgba(2, 31, 83, 1) 0%, rgba(2, 31, 83, 0.2) 100%);
}

.grid-item .content {
    position: relative;
    z-index: 3;
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
    transition: transform 0.3s ease;
}

.grid-item:hover .content {
    transform: translateY(-5px);
}

.grid-item .title {
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    margin: 0;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9);
    transition: transform 0.8s ease;
    letter-spacing: 0.4px;
}

/* Bento-style spans */
.grid-item.wide {
    grid-column: span 2;
    min-height: 220px;
    height: auto;
}

.grid-item.narrow {
    grid-column: span 1;
}

.grid-item.tall {
    grid-row: span 2;
    min-height: 440px;
    /* 280*2 + 12 gap */
    height: auto;
}

.grid-item.wide .title {
    font-size: 18px;
}

.grid-item.cta-item {
    background: #021f53 !important;
    background-image:
        radial-gradient(at 0% 100%, rgba(155, 156, 175, 0.4) 0, transparent 50%),
        radial-gradient(at 100% 0%, rgba(72, 82, 138, 0.5) 0, transparent 50%),
        radial-gradient(at 50% 50%, rgba(2, 31, 83, 0.8) 0, transparent 100%) !important;
    background-size: 150% 150% !important;
    animation-name: cta-living;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
    border: 1px solid rgba(255, 255, 255, 0.2);
    justify-content: center;
    text-align: center;
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    overflow: hidden;
}

@keyframes cta-living {
    0% {
        background-position: 0% 0%;
        filter: brightness(1) contrast(1);
    }

    100% {
        background-position: 80% 80%;
        filter: brightness(1.2) contrast(1.1);
    }
}

.grid-item.cta-item:hover {
    filter: brightness(1.2) contrast(1.1);
    box-shadow: 0 10px 40px rgba(155, 156, 175, 0.3);
}

.cta-item .content {
    padding: 30px;
    transform: none !important;
}

.cta-item .cta-title {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 15px;
    color: #fff;
    text-shadow: none;
    line-height: 30px;
}

.cta-item .cta-desc {
    font-size: 14px;
    line-height: 1.5;
    opacity: 0.9;
    color: #fff;
    margin-bottom: 20px;
}

.cta-item .cta-btn {
    display: inline-block;
    padding: 12px 35px;
    background: rgba(255, 255, 255, 1);
    color: #21264d;
    border-radius: 50px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 2px;
    transition: background 0.8s ease, color 0.8s ease, box-shadow 0.8s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.cta-item:hover .cta-btn {
    background: #ffffff;
    box-shadow: 0 0 35px rgba(155, 156, 175, 0.6);
    color: #9b9caf;
}

/* Background Images ... */
/* Randomized Background Animations (Faster) */
.item-1 {
    animation-delay: -1.2s !important;
    animation-duration: 7s !important;
}

.item-1 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/146-1.jpg');
    animation: pan-h 6s infinite alternate ease-in-out;
}

.item-2 {
    animation-delay: -3.8s !important;
    animation-duration: 9s !important;
}

.item-2 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/145-2.jpg');
    animation: pan-v 7s infinite alternate ease-in-out;
}

.item-3 {
    animation-delay: -5.1s !important;
    animation-duration: 11s !important;
}

.item-3 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/144-3.jpg');
    animation: pan-z 8s infinite alternate ease-in-out;
}

.item-4 {
    animation-delay: -2.4s !important;
    animation-duration: 6.5s !important;
}

.item-4 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/143-4.jpg');
    animation: pan-d 5.5s infinite alternate ease-in-out;
}

.item-5 {
    animation-delay: -8.2s !important;
    animation-duration: 10.5s !important;
}

.item-5 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/142-5.jpg');
    animation: pan-h 9s infinite alternate ease-in-out;
    animation-delay: -1s;
}

.item-6 {
    animation-delay: -4.5s !important;
    animation-duration: 8s !important;
}

.item-6 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/141-6.jpg');
    animation: pan-v 5s infinite alternate ease-in-out;
    animation-delay: -2s;
}

.item-7 {
    animation-delay: -7.1s !important;
    animation-duration: 12s !important;
}

.item-7 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/140-7.jpg');
    animation: pan-z 7.5s infinite alternate ease-in-out;
    animation-delay: -3s;
}

.item-8 {
    animation-delay: -0.5s !important;
    animation-duration: 13s !important;
}

.item-8 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/139-8.jpg');
    animation: pan-d 10s infinite alternate ease-in-out;
}

.item-9 {
    animation-delay: -6.4s !important;
    animation-duration: 7.5s !important;
}

.item-9 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/138-9.jpg');
    animation: pan-h 4.5s infinite alternate ease-in-out;
    animation-delay: -1.5s;
}

.item-10 {
    animation-delay: -9.1s !important;
    animation-duration: 10s !important;
}

.item-10 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/137-10.jpg');
    animation: pan-v 8.5s infinite alternate ease-in-out;
}

.item-11 {
    animation-delay: -3.2s !important;
    animation-duration: 11.5s !important;
}

.item-11 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/148-11.jpg');
    animation: pan-z 6s infinite alternate ease-in-out;
    animation-delay: -4s;
}

.item-12 {
    animation-delay: -5.5s !important;
    animation-duration: 9.5s !important;
}

.item-12 .bg-image {
    background-image: url('https://events.camk.edu.pl/event/141/images/147-12.jpg');
    animation: pan-d 7s infinite alternate ease-in-out;
}

/* Standalone Full-Width CTA Component for Subpages */
.cta-full-width {
    width: 720px;
    margin: 20px auto;
    min-height: 280px;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    position: relative;
    font-family: inherit;
    background: #21264d;
    background-image:
        radial-gradient(at 0% 100%, rgba(155, 156, 175, 0.4) 0, transparent 50%),
        radial-gradient(at 100% 0%, rgba(72, 49, 212, 0.5) 0, transparent 50%),
        radial-gradient(at 50% 50%, rgba(33, 38, 77, 0.8) 0, transparent 100%) !important;
    background-size: 150% 150% !important;
    animation-name: cta-living;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    margin-top: 80px;
}

.cta-full-width:hover {
    filter: brightness(1.2) contrast(1.1);
    box-shadow: 0 10px 40px rgba(155, 156, 175, 0.3);
}

.cta-full-width .content {
    padding: 40px;
    text-align: center;
    z-index: 2;
    width: 100%;
    box-sizing: border-box;
}

.cta-full-width .cta-title {
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 15px;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.cta-full-width .cta-desc {
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.9;
    color: #fff;
    margin: 0 auto 25px auto;
    max-width: 600px;
}

.cta-full-width .cta-btn {
    display: inline-block;
    padding: 14px 40px;
    background: #ffffff;
    color: #021f53;
    border-radius: 50px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 2px;
    transition: background 0.8s ease, color 0.8s ease, box-shadow 0.8s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    text-decoration: none;
}

.cta-full-width:hover .cta-btn {
    background: #ffffff !important;
    box-shadow: 0 0 35px rgba(155, 156, 175, 0.6) !important;
    color: #021f53 !important;
}

/* --- FLAT COMPACT GRID STYLES --- */
.flat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: 720px;
    margin: 30px auto;
    font-family: inherit;
}

.flat-grid-header {
    width: 720px;
    margin: 40px auto 20px auto;
    text-align: center;
    color: #021f53;
    font-size: 28px;
    font-weight: 800;
}

.flat-item {
    position: relative;
    min-height: 90px;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 12px 18px;
    box-sizing: border-box;
    background: #021f53 !important;
    background-image:
        radial-gradient(at 0% 100%, rgba(155, 156, 175, 0.25) 0, transparent 60%),
        radial-gradient(at 100% 0%, rgba(155, 156, 175, 0.15) 0, transparent 60%) !important;
    background-size: 160% 160% !important;
    animation-name: cta-living !important;
    animation-iteration-count: infinite !important;
    animation-direction: alternate !important;
    animation-timing-function: ease-in-out !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.4s ease;
}

.flat-item:hover {
    background: #0d2a5f;
    border-color: rgba(155, 156, 175, 0.4);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.flat-item .bg-image {
    opacity: 0.4;
    transition: opacity 0.4s ease;
}

.flat-item:hover .bg-image {
    opacity: 0.7;
}

.flat-item .content {
    position: relative;
    z-index: 3;
    width: 100%;
}

.flat-item .title {
    margin: 0;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
    color: #ffffff !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
    letter-spacing: 0.4px;
}

/* Bento Spans for Flat Grid */
.flat-item.wide {
    grid-column: span 2;
}

.flat-item.narrow {
    grid-column: span 1;
}

/*form*/


/* Designed to match the CAMK Summer Program Grid aesthetic by prz */

:root {
    --navy: #021f53;
    --slate: #9b9caf;
    --bg-light: #f8f9fa;
    --border-radius: 10px;
    --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Base Form Container */
form {
    max-width: 800px !important;
    margin: 40px auto !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Sections (Cards) */
.regform-section {
    background: white !important;
    border-radius: var(--border-radius) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 30px !important;
    overflow: hidden !important;
    border: 1px solid rgba(2, 31, 83, 0.08) !important;
    transition: var(--transition) !important;
}

.regform-section:hover {
    box-shadow: 0 8px 30px rgba(2, 31, 83, 0.1) !important;
}

/* Headers */
.i-box-header {
    background: var(--navy) !important;
    padding: 20px 30px !important;
    border-bottom: none !important;
}

.i-box-title {
    color: white !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

/* Content Area */
.i-box-content {
    padding: 30px !important;
}

/* Labels */
label,
.events-registration-client-styles-___regform-module__label___t11lD,
legend {
    font-weight: 600 !important;
    color: var(--navy) !important;
    margin-bottom: 8px !important;
    display: block !important;
    font-size: 14px !important;
}

/* Inputs */
.ui.input input,
input[type="text"],
input[type="email"],
input[type="number"],
textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    border: 1.5px solid #e0e0e0 !important;
    font-size: 15px !important;
    transition: var(--transition) !important;
    background: var(--bg-light) !important;
    color: var(--navy) !important;
}

.ui.input input:focus,
input:focus {
    outline: none !important;
    border-color: var(--slate) !important;
    background: white !important;
    box-shadow: 0 0 0 4px rgba(155, 156, 175, 0.15) !important;
}

/* Placeholder Center Segment (File Dropzone) */
.ui.placeholder.segment {
    border: 2px dashed rgba(33, 38, 77, 0.2) !important;
    background: var(--bg-light) !important;
    border-radius: var(--border-radius) !important;
    padding: 40px !important;
    transition: var(--transition) !important;
}

.ui.placeholder.segment:hover {
    border-color: var(--slate) !important;
    background: rgba(155, 156, 175, 0.03) !important;
}

/* Radio Buttons & Checkboxes */
input[type="radio"],
input[type="checkbox"] {
    accent-color: var(--slate) !important;
    transform: scale(1.1) !important;
    margin-right: 10px !important;
}

label:has(input[type="radio"]),
label:has(input[type="checkbox"]),
._-web-client-js-react-components-___RadioButton-module__radio-label___wtdzt,
._-web-client-js-react-components-___Checkbox-module__checkbox-label___lICzc {
    padding: 10px 15px !important;
    border-radius: 6px !important;
    transition: var(--transition) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    font-weight: 500 !important;
}

label:has(input[type="radio"]:checked),
label:has(input[type="checkbox"]:checked) {
    background: rgba(155, 156, 175, 0.08) !important;
    color: var(--slate) !important;
}

/* Tables (Selected Project) */
.events-registration-client-js-form-fields-___table-module__choice-table___nw5lF {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

.events-registration-client-js-form-fields-___table-module__row___kh-Ns td {
    background: var(--bg-light) !important;
    border-radius: 8px !important;
    padding: 5px !important;
    transition: var(--transition) !important;
}

.events-registration-client-js-form-fields-___table-module__row___kh-Ns:hover td {
    background: #f0f0f0 !important;
}

/* Date Picker Buttons */
ind-date-picker button {
    background: var(--navy) !important;
    color: white !important;
    border-radius: 6px !important;
    padding: 5px 10px !important;
    border: none !important;
    cursor: pointer !important;
}

/* Form Footer & Submit Button */
.field[style*="text-align: right"] {
    margin-top: 40px !important;
    padding-bottom: 40px !important;
}

.ui.primary.button[type="submit"] {
    background: var(--navy) !important;
    color: white !important;
    padding: 16px 45px !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    letter-spacing: 2px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

.ui.primary.button[type="submit"]:hover {
    background: var(--navy) !important;
    box-shadow: 0 0 35px rgba(155, 156, 175, 0.6) !important;
    transform: translateY(-2px) !important;
    color: var(--slate) !important;
}

/* Error Messages */
.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw {
    background: #fff5f7 !important;
    border: 1px solid rgba(155, 156, 175, 0.3) !important;
    border-radius: var(--border-radius) !important;
    padding: 20px !important;
    color: #cc0033 !important;
    margin-bottom: 30px !important;
}

.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw h4 {
    color: #cc0033 !important;
    margin-top: 0 !important;
}

.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw a {
    color: #cc0033 !important;
    text-decoration: underline !important;
}

/* Positive Messages */
.ui.positive.message {
    background: #f0fff4 !important;
    border: 1px solid #c6f6d5 !important;
    color: #2f855a !important;
    font-size: 13px !important;
    padding: 10px !important;
    border-radius: 6px !important;
    margin-top: 8px !important;
}

/* Warning Message Overhaul - Amber/Gold Aesthetic */
/* Designed to complement the CAMK Navy/Pink Design System */

:root {
    --warning-amber: #ff9800;
    /* Vibrant Orange/Amber */
    --warning-gold: #ffc107;
    /* Soft Gold */
    --warning-bg: rgba(255, 152, 0, 0.05);
    --navy: #21264d;
    --border-radius: 12px;
    --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@keyframes warning-glow {
    0% {
        box-shadow: 0 4px 15px rgba(255, 152, 0, 0.1);
        border-color: rgba(255, 152, 0, 0.2);
    }

    50% {
        box-shadow: 0 8px 30px rgba(255, 152, 0, 0.25);
        border-color: rgba(255, 152, 0, 0.5);
    }

    100% {
        box-shadow: 0 4px 15px rgba(255, 152, 0, 0.1);
        border-color: rgba(255, 152, 0, 0.2);
    }
}

.warning-message-box.fixed-width {
    background: white !important;
    border: 1px solid rgba(255, 152, 0, 0.2) !important;
    border-left: 5px solid var(--warning-amber) !important;
    border-radius: var(--border-radius) !important;
    padding: 25px 30px !important;
    margin: 30px auto !important;
    max-width: 900px !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    animation: warning-glow 6s infinite ease-in-out !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Internal Glow Layer */
.warning-message-box::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(at 0% 0%, rgba(255, 193, 7, 0.1) 0, transparent 50%) !important;
    pointer-events: none;
    z-index: 0;
}

.message-box-content {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Icon Overhaul */
.warning-message-box .icon {
    font-size: 32px !important;
    width: 60px !important;
    height: 60px !important;
    background: rgba(255, 152, 0, 0.1) !important;
    color: var(--warning-amber) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

/* Map Indico's icon-warning font-icon to look premium if used */
.warning-message-box .icon::before {
    content: "\e60e";
    /* icon-warning in indico bundle usually */
    font-family: 'IndicoIcons' !important;
}

/* If the icon is empty, add a default warning symbol */
.warning-message-box .icon:empty::before {
    content: "!";
    font-weight: 900;
    font-family: 'Inter', sans-serif;
}

/* Text Content */
.message-text {
    color: var(--navy) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
}

.message-text .label {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--warning-amber) !important;
    margin-bottom: 5px !important;
    letter-spacing: -0.2px !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .warning-message-box.fixed-width {
        margin: 20px 10px !important;
        padding: 20px !important;
    }

    .message-box-content {
        flex-direction: column !important;
        text-align: center !important;
    }
}

/* Form Error List Overhaul - Ruby/Red Aesthetic */
/* Designed to complement the CAMK Navy/Pink Design System */

:root {
    --error-red: #d32f2f;
    --error-ruby: #c2185b;
    --error-bg: rgba(211, 47, 47, 0.03);
    --navy: #21264d;
    --border-radius: 12px;
    --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@keyframes error-glow {
    0% {
        box-shadow: 0 4px 15px rgba(211, 47, 47, 0.1);
        border-color: rgba(211, 47, 47, 0.15);
    }

    50% {
        box-shadow: 0 8px 30px rgba(211, 47, 47, 0.25);
        border-color: rgba(211, 47, 47, 0.4);
    }

    100% {
        box-shadow: 0 4px 15px rgba(211, 47, 47, 0.1);
        border-color: rgba(211, 47, 47, 0.15);
    }
}

.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw {
    background: white !important;
    border: 1px solid rgba(211, 47, 47, 0.15) !important;
    border-left: 5px solid var(--error-red) !important;
    border-radius: var(--border-radius) !important;
    padding: 25px 35px !important;
    margin: 30px auto !important;
    max-width: 800px !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    animation: error-glow 6s infinite ease-in-out !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Subtle background glow */
.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(at 0% 0%, rgba(211, 47, 47, 0.05) 0, transparent 40%) !important;
    pointer-events: none;
    z-index: 0;
}

.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw h4 {
    color: var(--error-red) !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Error Symbol in Header */
.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw h4::before {
    content: '!';
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    background: var(--error-red) !important;
    color: white !important;
    border-radius: 50% !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw li {
    margin-bottom: 12px !important;
    padding-left: 20px !important;
    position: relative !important;
}

/* Custom bullet for errors */
.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    background: var(--error-red) !important;
    border-radius: 50% !important;
    opacity: 0.6 !important;
}

.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw a {
    color: var(--navy) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: var(--transition) !important;
    border-bottom: 1px solid rgba(33, 38, 77, 0.1) !important;
    display: inline-block !important;
}

.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw a:hover {
    color: var(--error-red) !important;
    border-bottom-color: var(--error-red) !important;
    transform: translateX(3px) !important;
}

/* Responsive adjustment */
@media (max-width: 768px) {
    .events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw {
        padding: 20px !important;
        margin: 20px 10px !important;
    }
}



/* --- SIDE MENU STYLES (INDICO OPTIMIZED) --- */
/* Optimized for Indico structure by prz */

/* Note: Variables --navy, --pink, --bg-light, --transition are inherited from style.css */
:root {
    --navy-deep: #111325;
    --border-color-soft: rgba(33, 38, 77, 0.1);
}

/* Container logic - maintaining Indico layout integrity */
.conf_leftMenu {
    float: left !important;
    width: 200px !important;
    background: transparent !important;
    margin-right: 30px !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Headings - Subtle and Modern */
.event-menu-heading,
.support_box>h3 {
    display: block !important;
    visibility: visible !important;
    padding: 0 12px 10px 12px !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--navy) !important;
    opacity: 0.6 !important;
    margin: 0 !important;
    font-weight: 800 !important;
    border-bottom: none !important;
    background: transparent !important;
}

/* Main Menu List (#outer) */
#outer {
    background: white !important;
    border: 1px solid var(--border-color-soft) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    /* User-defined base shadow with animated colors */
    animation: menu-shadow-living 6s infinite ease-in-out !important;
    padding: 10px 0 5px 0 !important;
    margin-bottom: 25px !important;
    position: relative !important;
    margin-left: 5px !important;
    /* Ensure shadow isn't clipped */
    animation: shadow-living 6s infinite ease-in-out !important;
}

/* Individual Links */
.menuConfTitle {
    border: none !important;
    background: transparent !important;
}

.menuConfTitle a {
    display: block !important;
    padding: 10px 15px !important;
    text-decoration: none !important;
    color: var(--navy) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: var(--transition) !important;
    border-left: 3px solid transparent !important;
    background: transparent !important;
}

/* Hover State */
.menuConfTitle a:hover {
    background: rgba(33, 38, 77, 0.03) !important;
    color: var(--slate) !important;
    padding-left: 20px !important;
}

/* Active State (Indico class: .menuConfSelected) */
.menuConfSelected,
.menuConfTitle.active {
    background: rgba(155, 156, 175, 0.05) !important;
    border-bottom: none !important;
    border-top: none !important;
}

.menuConfSelected a,
.menuConfTitle.active a {
    color: var(--slate) !important;
    font-weight: 700 !important;
    border-left-color: var(--slate) !important;
    background: transparent !important;
}

/* Support Box (Contact Section) */
.support_box {
    margin-top: 20px !important;
    background: white !important;
    border: 1px solid var(--border-color-soft) !important;
    /* User-defined base shadow with animated colors */
    animation: menu-shadow-living 6s infinite ease-in-out !important;
    border-radius: 12px !important;
    padding: 15px 0 !important;
    position: relative !important;
    overflow: hidden !important;
    margin-left: 5px !important;
    /* Ensure shadow isn't clipped */
    animation: shadow-living 6s infinite ease-in-out !important;
}

.support_box ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.support_box ul li {
    padding: 5px 15px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: visible !important;
}

.support_box a {
    text-decoration: none !important;
    color: var(--navy) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: var(--transition) !important;
    word-break: break-all !important;
    margin: 0 !important;
}

.support_box a:hover {
    color: var(--slate) !important;
}

.support_box .icon {
    font-size: 16px !important;
    color: var(--slate) !important;
    opacity: 0.9 !important;
}

/* Remove Indico's default dots/bullets if any */
li ul.inner li a {
    background-image: none !important;
}


/* --- INFOGRID STYLES (NAVY + VIBRANT SHADOW) --- */
/* Optimized for contrast and "living" colorful shadow effect */

@keyframes menu-shadow-living {
    0% {
        box-shadow: -2px 9px 19px 3px rgba(33, 38, 77, 0.16) !important;
    }

    50% {
        box-shadow: -2px 14px 28px 5px rgba(155, 156, 175, 0.22) !important;
    }

    100% {
        box-shadow: -2px 9px 19px 3px rgba(33, 38, 77, 0.16) !important;
    }
}

@keyframes shadow-living-boost {
    0% {
        box-shadow: 0 5px 25px rgba(33, 38, 77, 0.2), 0 2px 10px rgba(155, 156, 175, 0.1);
    }

    50% {
        box-shadow: 0 12px 40px rgba(33, 38, 77, 0.3), 0 8px 30px rgba(155, 156, 175, 0.25);
    }

    100% {
        box-shadow: 0 5px 25px rgba(33, 38, 77, 0.2), 0 2px 10px rgba(155, 156, 175, 0.1);
    }
}

@keyframes shadow-living {
    0% {
        box-shadow: 0 5px 20px rgba(2, 31, 83, 0.1), 0 2px 10px rgba(155, 156, 175, 0.05);
    }

    50% {
        box-shadow: 0 10px 35px rgba(2, 31, 83, 0.15), 0 5px 25px rgba(155, 156, 175, 0.15);
    }

    100% {
        box-shadow: 0 5px 20px rgba(2, 31, 83, 0.1), 0 2px 10px rgba(155, 156, 175, 0.05);
    }
}

.infogrid {
    background: white !important;
    border-radius: 12px !important;
    padding: 25px !important;
    /* Living colorful shadow for high contrast on white background */
    animation: shadow-living 6s infinite ease-in-out !important;
    border: 1px solid rgba(33, 38, 77, 0.05) !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    color: var(--navy) !important;
    margin: 30px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
}

/* Subtle top line in the project's signature Pink to keep some color hint */
.infogrid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 15px;
    right: 15px;
    height: 4px;
    background: linear-gradient(90deg, var(--navy), var(--slate), var(--navy));
    border-radius: 0 0 5px 5px;
}

.infogrid h2 {
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--navy) !important;
    opacity: 0.6 !important;
    margin: 0 0 20px 0 !important;
    font-weight: 800 !important;
    border: none !important;
}

/* Simple vertical stack */
.infoline {
    display: flex !important;
    padding: 2px 0 !important;
    border-top: 1px solid rgba(33, 38, 77, 0.05) !important;
    gap: 15px !important;
    align-items: flex-start !important;
}

.infoline:first-of-type {
    border-top: none !important;
}

/* Rounded "prz" Icons in Navy */
.infoline h3 {
    margin: 0 !important;
    padding: 2px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    background: rgb(33 38 77) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    font-size: 1rem !important;
}

.conference-page h3[class^=icon-]::before,
.conference-page h3[class*=" icon-"]::before {
    margin-right: 0 !important;
}

.infoline h3 span {
    display: none !important;
}

/* Text Area */
.infoline .text {
    flex-grow: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding-top: 6px !important;
}

.infoline .text p {
    margin: 0 0 4px 0 !important;
    font-size: 13px !important;
    line-height: 18px !important;
    color: var(--navy) !important;
    display: block !important;
}

/* Labels: Starts/Ends in Navy */
.infoline .label {
    font-weight: 800 !important;
    font-size: 9px !important;
    text-transform: uppercase !important;
    color: var(--navy) !important;
    margin-right: 8px !important;
    display: inline-block !important;
    min-width: 50px !important;
    letter-spacing: 0.5px !important;
    opacity: 0.8 !important;
}

/* Dates protection */
time {
    white-space: nowrap !important;
}

/* Location Highlight */
.place {
    font-weight: 700 !important;
    font-size: 14px !important;
    color: var(--navy-deep) !important;
    margin-bottom: 2px !important;
}

/* Links in Navy */
.infoline a {
    color: var(--navy) !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    transition: var(--transition) !important;
    border-bottom: 1px solid rgba(33, 38, 77, 0.2) !important;
}

.infoline a:hover {
    border-bottom-color: var(--navy) !important;
    color: var(--navy) !important;
}

/* --- ACTION BOX (CTA) STYLES --- */
/* Designed to be a high-impact registration banner by prz */

/* Variables inherited from style.css. Custom local variables: */
:root {
    --cta-shadow: -2px 14px 28px 5px rgba(2, 31, 83, 0.25);
}

.action-box.highlight {
    background: var(--navy) !important;
    background-image:
        radial-gradient(at 0% 100%, rgba(155, 156, 175, 0.3) 0, transparent 60%),
        radial-gradient(at 100% 0%, rgba(72, 82, 138, 0.4) 0, transparent 60%) !important;
    background-size: 150% 150% !important;
    animation: cta-living 8s infinite alternate ease-in-out !important;
    border-radius: 16px !important;
    padding: 35px !important;
    margin: 40px auto !important;
    color: white !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: var(--cta-shadow) !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    max-width: 900px !important;
    display: block !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Internal layout */
.action-box.highlight .section {
    display: flex !important;
    align-items: center !important;
    gap: 25px !important;
    border: none !important;
}

/* Icon styling */
.action-box .icon {
    font-size: 32px !important;
    width: 64px !important;
    height: 64px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--slate) !important;
    flex-shrink: 0 !important;
}

/* Text elements */
.action-box .text {
    flex-grow: 1 !important;
}

.action-box .text .label {
    font-size: 22px !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
    letter-spacing: 0.5px !important;
    color: white !important;
}

.action-box .text>div:not(.label) {
    font-size: 15px !important;
    opacity: 0.9 !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Toolbar & Button */
.action-box .toolbar {
    margin: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

.action-box .i-button.highlight {
    background: white !important;
    color: var(--navy) !important;
    padding: 12px 30px !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    letter-spacing: 1.5px !important;
    transition: background 0.8s ease, color 0.8s ease, box-shadow 0.8s ease, transform 0.8s ease !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: normal !important;
    height: auto !important;
    min-height: 48px !important;
    white-space: nowrap !important;
}

.action-box .i-button.highlight::after {
    margin-left: 10px !important;
}

.action-box .i-button.highlight:hover {
    background: white !important;
    color: var(--navy) !important;
    box-shadow: 0 0 35px rgba(155, 156, 175, 0.6) !important;
    transform: translateY(-2px) !important;
}

/* Pulsing accent line */
.action-box::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--slate), transparent);
    opacity: 0.5;
}

/* Responsiveness */
@media (max-width: 768px) {
    .action-box.highlight .section {
        flex-direction: column !important;
        text-align: center !important;
    }

    .action-box .i-button.highlight {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

.project-index-container {
    width: 100%;
    max-width: 720px;
    background: white;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(2, 31, 83, 0.05);
    border: 1px solid rgba(2, 31, 83, 0.05);
    position: relative;
    overflow: hidden;
}

.project-index-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #021f53, #9b9caf, #021f53);
}

.index-header {
    margin-bottom: 35px;
    text-align: left;
}

.index-header h1 {
    font-size: 28px;
    font-weight: 800;
    color: #021f53 !important;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
}

.index-header p {
    font-size: 15px;
    color: #9b9caf !important;
    margin: 0;
    font-weight: 500;
}

.project-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.project-item {
    margin-bottom: 12px;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: 10px;
    list-style-type: none !important;
}

.project-link {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 15px 20px;
    text-decoration: none;
    color: #021f53;
    background: rgba(2, 31, 83, 0.02);
    border-radius: 10px;
    border: 1px solid transparent;
    transition: all 0.4s ease;
}

.project-number {
    width: 32px;
    height: 32px;
    background: #021f53;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
    transition: all 0.4s ease;
}

.project-title {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    flex-grow: 1;
}

.project-item:hover .project-link {
    background: white;
    border-color: rgba(155, 156, 175, 0.3);
    box-shadow: 0 8px 25px rgba(2, 31, 83, 0.1);
    transform: translateX(8px);
}

.project-item:hover .project-number {
    background: #9b9caf;
    transform: scale(1.1) rotate(10deg);
}

.project-item:hover .project-title {
    color: #021f53;
}

@media (max-width: 600px) {
    .project-index-container {
        padding: 25px;
    }

    .project-title {
        font-size: 14px;
    }

    .index-header h1 {
        font-size: 22px;
    }
}