/* Base Styles */

:root {

    --dark-background: #333940;

    --gold-accent: #C99B3B;

    --white-text: #FFFFFF;

    --light-gray: #CDCFD2;

    --blue-accent: rgba(0, 71, 186, 0.4);

    --dark-overlay: rgba(51, 57, 64, 0.85);

    --gold-overlay: rgba(201, 155, 59, 0.1);

    --venue-bar-bg: rgba(68, 75, 87, 0.6);

    --price-banner-bg: #292E35;

    --transition-speed: 0.3s;

}



* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



html {

    scroll-behavior: smooth;

}



body {

    font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;

    line-height: 1.6;

    color: var(--white-text);

    background-color: var(--dark-background);

    overflow-x: hidden;

}



img {

    max-width: 100%;

    height: auto;

}



ul {

    list-style-position: inside;

    margin-left: 10px;

}



.container {

    width: 90%;

    max-width: 1400px;

    margin: 0 auto;

    padding: 0 20px;

}



.gold-text {

    color: var(--gold-accent);

}



.white-text {

    color: var(--white-text);

}



/* Language content */

.lang-content {

    display: none !important;

}



.lang-content.active {

    display: block !important;

}



/* Default language visibility - Croatian visible by default */

.lang-content.hr.active {

    display: block !important;

}



.lang-content.en {

    display: none !important;

}



.lang-content.en.active {

    display: block !important;

}



/* Special handling for inline elements and buttons */

.lang-content.hr.active.button,

.lang-content.en.active.button,

a.lang-content.hr.active,

a.lang-content.en.active,

span.lang-content.hr.active,

span.lang-content.en.active,

strong.lang-content.hr.active,

strong.lang-content.en.active {

    display: inline-block !important;

}



/* For flex and grid containers */

.buttons .lang-content.hr.active,

.buttons .lang-content.en.active {

    display: inline-block !important;

}



/* Layout styles */


/* Typography */

h1, h2, h3, h4, h5 {

    font-weight: 700;

    line-height: 1.2;

    text-transform: uppercase;

}



.main-title {

    display: flex;

    flex-direction: column;

    gap: 10px;

    margin-bottom: 30px;

}



.main-title .gold-text {

    font-size: 48px;

    letter-spacing: 0.02em;

}



.main-title .white-text {

    font-size: 32px;

    letter-spacing: 0.02em;

}



/* Header */

.header {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    z-index: 1000;

    padding: 15px 0;

    transition: background-color var(--transition-speed);

}



.header .container {

    display: flex;

    justify-content: space-between;

    align-items: center;

}



.header .logo img {

    height: 50px;

    transition: opacity var(--transition-speed);

}



.language-switcher {

    display: flex;

    align-items: center;

    gap: 10px;

}



.lang-btn {

    color: var(--white-text);

    text-decoration: none;

    font-weight: 700;

    padding: 5px;

    transition: color var(--transition-speed);

}



.lang-btn.active {

    color: var(--gold-accent);

}



.lang-separator {

    color: var(--white-text);

    transition: color var(--transition-speed);

}



/* Two Column Layout */

.two-column-layout {

    display: flex;

    min-height: 100vh;

    position: relative;

    z-index: 1;

}



.column {

    position: relative;

    z-index: 2;

}



.column.visual {

    flex: 1;

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    background-color: transparent;

    background-image: url('assets/Straumanngroup Symposium_pozivnica 28.-29.11.2025/Straumanngroup Symposium_pozivnica 28.-29.11.2025/Links/d0ae6dedf2ce-73655195_4K.jpg');

    background-size: cover;

    background-position: center;

}



.column.visual::after {

    content: '';

    position: absolute;

    top: 0;

    right: 0;

    bottom: 0;

    width: 150px;

    background: linear-gradient(to right, transparent, var(--dark-background));

    z-index: 1;

}



.column.content {

    flex: 1;

    background-color: var(--dark-background);

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 40px 0;

    position: relative;

    overflow: hidden;

}



/* Hero Section */

.hero {

    position: relative;

    overflow: hidden;

}



@media (max-width: 768px) {

    .hero .column.visual {

        padding-top: 10px; /* Adjusted padding for hero section visual column */

    }

}



.hero::before {

    content: none; /* Remove default background image, we'll use the column visual instead */

}



.hero::after {

    content: none; /* Remove dark overlay */

}



.logos-stack {

    background-color: rgba(0, 0, 0, 0.5);

    padding: 30px;

    border-radius: 10px;

    z-index: 5;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 20px; /* Reduced gap for four logos */

    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3), 0 0 30px rgba(201, 155, 59, 0.2);

    backdrop-filter: blur(5px);

    border: 1px solid rgba(201, 155, 59, 0.1);

    position: relative;

}



.brand-logo {

    width: auto;

    height: auto;

    max-width: 160px;

    object-fit: contain;

    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));

    transition: transform 0.3s ease, filter 0.3s ease;

}



.brand-logo:hover {

    transform: scale(1.05);

    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4)) brightness(1.1);

}



/* Divider */

.divider {

    width: 100%;

    height: 1px;

    background-color: var(--white-text);

    margin: 16px 0 30px;

}



/* CTA Block */

.cta-block {

    display: flex;

    flex-direction: column;

    gap: 20px;

}



.save-date {

    font-size: 24px;

    letter-spacing: 0.05em;

}



/* Date Box */

.date-box {

    border: 1px solid var(--white-text);

    padding: 25px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    max-width: 220px;

}



.date-box .month {

    font-size: 18px;

    font-weight: 300;

    letter-spacing: 0.05em;

}



.date-box .days {

    font-size: 48px;

    font-weight: 700;

    line-height: 1.1;

    margin: 10px 0;

}



.date-box .year {

    font-size: 32px;

    font-weight: 400;

}



.date-box.small {

    padding: 15px;

    max-width: 180px;

}



.date-box.small .month {

    font-size: 14px;

}



.date-box.small .days {

    font-size: 32px;

    margin: 5px 0;

}



.date-box.small .year {

    font-size: 22px;

}



/* Date and Pricing Wrapper */

.date-pricing-wrapper {

    display: flex;

    align-items: flex-start;

    gap: 30px;

}



/* Pricing */

.pricing {

    display: flex;

    flex-direction: column;

    gap: 3px;

}



.price-label {

    font-size: 24px;

    font-weight: 400;

}



.price-value {

    font-size: 36px;

    font-weight: 700;

    color: var(--gold-accent);

}



.price-period {

    font-size: 16px;

    color: var(--light-gray);

}



.price-note {

    font-size: 14px;

    font-style: italic;

    color: var(--light-gray);

}



.price-tax {

    font-size: 12px;

    color: var(--light-gray);    margin-top: 5px;

}



/* Event Description */

.event-description {

    text-align: center;

    margin-bottom: 20px;

}



.event-description p {

    font-size: 20px;

    line-height: 1.5;

    color: var(--light-gray);

    margin: 0;

    font-weight: 300;

    letter-spacing: 0.02em;

    padding: 0 15px;

}



/* Venue Bar */

.venue-bar {

    background-color: var(--venue-bar-bg);

    padding: 12px;

    text-align: center;

    border-radius: 4px;

    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);

    border: 1px solid rgba(255, 255, 255, 0.1);

}



.venue-name {

    font-size: 18px;

    font-weight: 400;

}



/* Buttons */

.buttons {

    display: flex;

    gap: 15px;

    flex-wrap: wrap;

}



.button {

    display: inline-block;

    padding: 12px 24px;

    background-color: rgba(255, 255, 255, 0.1);

    border: 1px solid var(--white-text);

    color: var(--white-text);

    text-decoration: none;

    text-transform: uppercase;

    font-weight: 600;

    font-size: 14px;

    letter-spacing: 0.05em;

    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);

    text-align: center;

    position: relative;

    overflow: hidden;

    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);

    z-index: 1;

}



.button::before {

    content: '';

    position: absolute;

    background: var(--white-text);

    bottom: 0;

    left: 0;

    right: 0;

    top: 100%;

    z-index: -1;

    transition: top 0.3s cubic-bezier(0.25, 1, 0.5, 1);

}



.button:hover {

    color: var(--dark-background);

    border-color: var(--white-text);

    transform: translateY(-2px);

    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);

}



.button:hover::before {

    top: 0;

}



.button:active {

    transform: translateY(0);

    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);

}



/* Scroll Down */

.scroll-down {

    position: absolute;

    bottom: 30px;

    left: 50%;

    transform: translateX(-50%);

    z-index: 10;

    display: flex;

    justify-content: center;

    width: 40px;

    height: 60px;

    text-decoration: none;

}



.scroll-icon {

    position: relative;

    width: 30px;

    height: 50px;

}



.scroll-icon::before {

    content: '';

    position: absolute;

    top: 0;

    left: 50%;

    width: 10px;

    height: 10px;

    margin-left: -5px;

    transform: rotate(45deg);

    border-bottom: 2px solid var(--white-text);

    border-right: 2px solid var(--white-text);

    animation: scrollDown 2s infinite;

}



@keyframes scrollDown {

    0% {

        transform: translate(0, 0) rotate(45deg);

        opacity: 0;

    }

    50% {

        opacity: 1;

    }

    100% {

        transform: translate(0, 20px) rotate(45deg);

        opacity: 0;

    }

}



/* Program Day */

.program-day {

    position: relative;

    overflow: hidden;

    height: 100%;

}



/* All program sections use the same background image */

.program-day::before {

    content: none; /* Remove default background image */

}



.program-day::after {

    content: none; /* Remove dark overlay */

}



.program-day .column.visual {

    background-image: url('assets/Straumanngroup Symposium_pozivnica 28.-29.11.2025/Straumanngroup Symposium_pozivnica 28.-29.11.2025/Links/d0ae6dedf2ce-73655195_4K.jpg');

    background-size: cover;

    background-position: center;

}



/* Headline Row */

.headline-row {

    display: flex;

    justify-content: flex-start;

    align-items: center;

    margin-bottom: 30px;

    gap: 20px;

}



.event-title {

    font-size: 28px;

    display: flex;

    flex-direction: column;

    color: var(--white-text);

}



.title-line {

    line-height: 1.2;

}



.workshop-brand {

    display: flex;

    align-items: center;

    justify-content: center; /* Center the logo horizontally */

}



.workshop-logo {

    height: 80px;

    width: auto; /* Ensure width is auto to prevent stretching */

    object-fit: contain; /* Maintain aspect ratio */

}



/* Specific logo sizes */

.workshop-logo[alt="Straumann Group"] {

    height: 40px;

    width: auto; /* Ensure width is auto to prevent stretching */

}



.workshop-logo[alt="ClearCorrect"] {

    height: 120px;

    width: auto; /* Ensure width is auto to prevent stretching */

}



.workshop-logo[alt="Neodent"] {

    height: 130px;

    width: auto; /* Ensure width is auto to prevent stretching */

}



/* Day Heading */

.day-heading {

    background-color: var(--gold-accent);

    padding: 10px 20px;

    margin-bottom: 30px;

    border-radius: 4px;

    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);

    text-align: center;

}



.day-label {

    font-weight: 700;

    text-transform: uppercase;

    color: var(--dark-background);

}



/* Workshop Title */

.workshop-title {

    margin-bottom: 30px;

}



.workshop-title h2 {

    font-size: 28px;

    margin-bottom: 10px;

}



.workshop-presenter {

    font-size: 18px;

    font-weight: 400;

    color: var(--white-text);

    margin-bottom: 5px;

}



.workshop-location {

    font-size: 14px;

    color: var(--light-gray);

    display: inline-block;

}



.room-badge {

    background-color: var(--gold-accent);

    color: var(--dark-background);

    font-weight: 700;

    font-size: 14px;

    padding: 6px 10px;

    border-radius: 4px;

    margin-left: 10px;

    display: inline-block;

    position: relative;

    top: -1px;

    box-shadow: 0 3px 8px rgba(201, 155, 59, 0.5);

    transition: all 0.3s ease;

    border: 1px solid rgba(255, 255, 255, 0.2);

    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);

}



.room-badge:hover {

    transform: translateY(-2px);

    box-shadow: 0 5px 12px rgba(201, 155, 59, 0.7);

}



/* Schedule List */

.schedule-list {

    display: flex;

    flex-direction: column;

    gap: 8px;

}



.schedule-item {

    display: flex;

    gap: 15px;

    position: relative;

    padding-left: 30px;

    opacity: 0;

    transform: translateY(20px);

    transition: opacity 0.6s ease, transform 0.6s ease, background-color 0.3s ease;

    border-radius: 8px;

    padding: 8px 15px;

    padding-left: 40px;

    margin-left: -10px;

    margin-right: -10px;

    margin-bottom: 5px;

}



.schedule-item:hover {

    background-color: rgba(255, 255, 255, 0.05);

}



.schedule-item.visible {

    opacity: 1;

    transform: translateY(0);

}



.schedule-item::before {

    content: '';

    position: absolute;

    left: 18px;

    top: 20px;

    bottom: -15px;

    width: 2px;

    background: linear-gradient(to bottom, var(--gold-accent), rgba(201, 155, 59, 0.1));

    border-radius: 1px;

}



.schedule-item:last-child::before {

    display: none;

}



.schedule-item::after {

    content: '';

    position: absolute;

    left: 14px;

    top: 20px;

    width: 10px;

    height: 10px;

    border-radius: 50%;

    background-color: var(--gold-accent);

    box-shadow: 0 0 10px rgba(201, 155, 59, 0.5);

}



.time {

    font-size: 18px;

    font-weight: 700;

    color: var(--white-text);

    min-width: 70px;

    flex-shrink: 0;

}



.description {

    flex: 1;

}



.description strong {

    display: block;

    margin-bottom: 5px;

    font-size: 16px;

}



.speakers, .location {

    font-size: 14px;

    color: var(--light-gray);

    display: block;

    margin-bottom: 10px;

}



.speaker-photos {

    display: flex;

    gap: 10px;

    margin-top: 10px;

}



.speaker-photos img {

    width: 64px;

    height: 64px;

    border-radius: 50%;

    object-fit: cover;

    border: 2px solid var(--white-text);

    transition: all 0.3s ease;

    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);

    filter: grayscale(20%);

    cursor: pointer;

}



.speaker-photos img:hover {

    transform: scale(1.15);

    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);

    border-color: var(--gold-accent);

    filter: grayscale(0%);

    z-index: 10;

    position: relative;

}



/* Speaker Description */

.speaker-description {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    text-align: center;

    padding: 30px;

    background: rgba(51, 57, 64, 0.9);

    border-radius: 12px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);

    border: 1px solid rgba(201, 155, 59, 0.3);

    max-width: 80%;

}



.speaker-description p {

    font-size: 22px;

    line-height: 1.6;

    color: var(--white-text);

    margin: 0;

    font-weight: 300;

    letter-spacing: 0.02em;

    /* padding: 0 25px; */

}



.workshop-details {

    padding-left: 15px;

    margin-top: 10px;

}



.workshop-details li {

    font-size: 14px;

    color: var(--light-gray);

    margin-bottom: 5px;

}



/* .workshop-details li::before {

    content: '•';

    color: var(--gold-accent);

    display: inline-block;

    width: 1em;

    margin-left: -1em;

} */



/* Price Banner */

.price-banner {

    background-color: var(--price-banner-bg);

    padding: 25px;

    text-align: center;

    margin-top: 40px;

    display: flex;

    flex-direction: column;

    border-radius: 8px;

    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);

    border: 1px solid rgba(201, 155, 59, 0.2);

}



.workshop-price {

    font-size: 32px;

    font-weight: 700;

    color: var(--gold-accent);

    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);

}



/* Footer */

.footer {

    background-color: rgba(51, 57, 64, 0.9);

    padding: 50px 0;

    border-top: 1px solid rgba(255, 255, 255, 0.1);

    position: relative;

    z-index: 5;

    backdrop-filter: blur(5px);

}



.footer .container {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 20px;

}



.footer .logo img {

    height: 40px;

    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));

}



.footer-info {

    text-align: center;

    line-height: 1.8;

}



.footer-info a {

    color: var(--gold-accent);

    text-decoration: none;

    transition: color var(--transition-speed);

}



.footer-info a:hover {

    text-decoration: underline;

}



/* Hero Section Content Wrapper - Reset to left alignment */

.hero .content-wrapper {

    padding: 30px 50px;

    display: flex;

    flex-direction: column;

    justify-content: flex-start;

    align-items: flex-start;

    text-align: left;

    gap: 15px;

}



/* Responsive adjustments for hero content wrapper */

@media (max-width: 768px) {

    .hero .content-wrapper {

        padding: 20px 30px;

        gap: 12px;

    }

}



/* Responsive Styles */

@media (max-width: 1024px) {

    .main-title .gold-text {

        font-size: 40px;

    }

    

    .main-title .white-text {

        font-size: 28px;

    }

    

    .content-wrapper {

        padding: 0 30px;

    }

      .brand-logo {

        width: 140px;

    }

}



@media (max-width: 1024px) and (min-width: 769px) {

    /* Tablet-specific adjustments */    .time {

        min-width: 65px;

        font-size: 17px;

        flex-shrink: 0;

    }

    

    .schedule-item {

        gap: 12px;

    }

}



@media (max-width: 768px) {

    .two-column-layout {

        flex-direction: column;

        min-height: auto;

    }      .column.visual {

        min-height: 40vh;

        order: 1; /* Visual first on mobile */

        padding-top: 50px; /* Reduced padding to bring logos closer to navbar */

    }

    

    .column.visual::after {

        width: 0; /* Remove gradient on mobile */

        height: 100px;

        top: auto;

        bottom: 0;

        left: 0;

        right: 0;

        background: linear-gradient(to bottom, transparent, var(--dark-background));

    }

    

    .column.content {

        order: 2; /* Content second on mobile */

        min-height: 60vh;

    }

    

    /* Add padding to hero section to prevent navbar overlap */

    #hero {

        padding-top: 80px;

    }

    

    .logos-stack {

        position: static;

        margin: 30px auto;

        max-width: 80%;

        gap: 15px;

        padding: 20px;

        align-items: center;

    }

      .brand-logo {

        width: auto;

        height: auto;

        max-width: 100px;

        max-height: 40px;

        margin: 0 auto;

        object-fit: contain;

    }

    

    /* Specific adjustments for different logos */

    .brand-logo[alt="Straumann Group"] {

        max-height: 30px;

    }

    

    .brand-logo[alt="ClearCorrect"] {

        max-height: 35px;

    }

    

    .main-title .gold-text {

        font-size: 32px;

    }

    

    .main-title .white-text {

        font-size: 22px;

    }

      .headline-row {

        flex-direction: column;

        align-items: flex-start;

        gap: 15px;

    }

      .event-title {

        font-size: 24px;    }    .workshop-logo {

        height: 60px;

        width: auto; /* Ensure width is auto to prevent stretching */

        object-fit: contain; /* Maintain aspect ratio */

    }

    

    /* Specific mobile logo sizes */

    .workshop-logo[alt="Straumann Group"] {

        height: 35px;

        width: auto; /* Ensure width is auto to prevent stretching */

    }



    .workshop-logo[alt="ClearCorrect"] {

        height: 90px;

        width: auto; /* Ensure width is auto to prevent stretching */

    }



    .workshop-logo[alt="Neodent"] {

        height: 100px;

        width: auto; /* Ensure width is auto to prevent stretching */

    }

      .date-box.small {

        align-self: flex-start;

    }

    

    .date-pricing-wrapper {

        flex-direction: column;

        gap: 20px;

    }

    

    .time {

        min-width: 120px;

        font-size: 16px;

    }    .schedule-item {

        flex-direction: column;

        gap: 8px;

        padding: 6px 15px;

        padding-left: 20px;

        margin-bottom: 3px;

    }

    

    .schedule-item::before {

        left: 4px;

        top: 16px;

        bottom: -8px;

    }

      .schedule-item::after {

        left: 0px;

        top: 16px;

    }

    

    .schedule-list {

        gap: 5px;

    }

    

    .button {

        padding: 10px 20px;

        font-size: 12px;

        width: 100%;

    }

    

    .content-wrapper {

        margin: 20px;

        padding: 20px;

    }

      .speaker-photos {

        justify-content: center;

    }

    

    .speaker-description {

        position: static;

        transform: none;

        max-width: 100%;

        margin: 20px;

        padding: 20px;

    }

    

    .speaker-description p {

        font-size: 16px;

        line-height: 1.5;

    }

      .workshop-brand img {

        max-width: 150px;

        object-fit: contain; /* Maintain aspect ratio */

        width: auto; /* Let width adjust naturally based on height */

    }

}



@media (max-width: 480px) {

    .header .logo img {

        height: 40px;

        width: auto; /* Ensure width is auto to prevent stretching */

        object-fit: contain; /* Maintain aspect ratio */

    }

    

    .lang-btn {

        font-size: 14px;

    }

    

    .main-title .gold-text {

        font-size: 24px;

    }

    

    .main-title .white-text {

        font-size: 18px;

    }

    

    .save-date {

        font-size: 20px;

    }

    

    .content-wrapper {

        padding: 15px;

        margin: 10px;

    }

    

    .logos-stack {

        margin: 0 auto;

    }

    

    .brand-logo {

        width: auto;

        height: auto;

        max-width: 90px;

        max-height: 35px;

        object-fit: contain; /* Ensure logos maintain aspect ratio */

    }

      .buttons {

        flex-direction: column;

        width: 100%;

    }

    

    .event-description p {

        font-size: 14px;

        line-height: 1.4;

        padding: 0 10px;

    }

    

    .workshop-price {

        font-size: 24px;

    }

    

    .column.visual {

        min-height: 30vh;

    }    .scroll-down {

        bottom: 10px;

    }

    

    .schedule-item {

        margin-bottom: 15px;

        padding-bottom: 15px;

        border-bottom: 1px solid rgba(255, 255, 255, 0.1);

    }

    

    .schedule-item:last-child {

        border-bottom: none;

    }

    

    .day-heading {

        margin-left: -15px;

        margin-right: -15px;

        border-radius: 0;

    }

    

    .room-badge {

        display: block;

        margin: 10px 0 0 0;

        width: fit-content;

    }

}



/* Registration Form Styles */

.registration-section {

    background: linear-gradient(135deg, var(--dark-background) 0%, #2a3038 100%);

    padding: 80px 0;

    border-top: 1px solid rgba(201, 155, 59, 0.2);

}



.registration-content {

    max-width: 800px;

    margin: 0 auto;

    text-align: center;

}



.registration-section .section-title {

    font-size: 2.5rem;

    color: var(--gold-accent);

    margin-bottom: 20px;

    font-weight: 600;

}



.registration-section .section-description {

    font-size: 1.1rem;

    color: var(--light-gray);

    margin-bottom: 50px;

    line-height: 1.6;

}



.registration-form {

    background: rgba(255, 255, 255, 0.05);

    padding: 40px;

    border-radius: 15px;

    backdrop-filter: blur(10px);

    border: 1px solid rgba(255, 255, 255, 0.1);

    text-align: left;

    margin-bottom: 30px;

}



.form-row {

    display: flex;

    gap: 20px;

    margin-bottom: 25px;

}



.form-group {

    flex: 1;

}



.form-group.full-width {

    width: 100%;

}



.form-group.checkbox-group {

    display: flex;

    align-items: flex-start;

    gap: 10px;

    margin-top: 20px;

}



.form-group label {

    display: block;

    margin-bottom: 8px;

    color: var(--white-text);

    font-weight: 500;

    font-size: 0.95rem;

}



.form-group.checkbox-group label {

    margin-bottom: 0;

    font-size: 0.9rem;

    line-height: 1.4;

}



.form-group input,

.form-group select,

.form-group textarea {

    width: 100%;

    padding: 12px 15px;

    border: 2px solid rgba(255, 255, 255, 0.2);

    border-radius: 8px;

    background: rgba(255, 255, 255, 0.1);

    color: var(--white-text);

    font-size: 1rem;

    transition: all var(--transition-speed) ease;

}



.form-group select {

    cursor: pointer;

    appearance: none;

    -webkit-appearance: none;

    -moz-appearance: none;

    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");

    background-position: right 12px center;

    background-repeat: no-repeat;

    background-size: 16px;

    padding-right: 40px;

}



.form-group select option {

    background: var(--dark-background) !important;

    color: var(--white-text) !important;

    padding: 10px;

}



.form-group input:focus,

.form-group select:focus,

.form-group textarea:focus {

    outline: none;

    border-color: var(--gold-accent);

    background: rgba(255, 255, 255, 0.15);

    box-shadow: 0 0 0 3px rgba(201, 155, 59, 0.2);

}



.form-group input[type="checkbox"] {

    width: auto;

    margin: 0;

    transform: scale(1.2);

}



.form-group textarea {

    resize: vertical;

    min-height: 100px;

}



.form-group ::placeholder {

    color: rgba(255, 255, 255, 0.6);

}



.btn-submit {

    background: linear-gradient(45deg, var(--gold-accent), #e6b14a);

    color: var(--white-text);

    border: none;

    padding: 15px 40px;

    border-radius: 8px;

    font-size: 1.1rem;

    font-weight: 600;

    cursor: pointer;

    transition: all var(--transition-speed) ease;

    display: flex;

    align-items: center;

    gap: 10px;

    margin: 30px auto 0;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}



.btn-submit:hover {

    background: linear-gradient(45deg, #e6b14a, var(--gold-accent));

    transform: translateY(-2px);

    box-shadow: 0 8px 25px rgba(201, 155, 59, 0.3);

}



.btn-submit i {

    font-size: 1rem;

}



.registration-note {

    background: rgba(201, 155, 59, 0.1);

    border: 1px solid rgba(201, 155, 59, 0.3);

    border-radius: 10px;

    padding: 20px;

    text-align: center;

}



.registration-note p {

    color: var(--light-gray);

    font-size: 0.95rem;

    margin: 0;

}



/* Speaker Modal Styles */

.modal {

    display: none;

    position: fixed;

    z-index: 9999;

    left: 0;

    top: 0;

    width: 100%;

    height: 100%;

    background-color: rgba(0, 0, 0, 0.8);

    backdrop-filter: blur(5px);

}



.modal-content {

    background: linear-gradient(135deg, var(--dark-background) 0%, #2a3038 100%);

    margin: 5% auto;

    padding: 0;

    border-radius: 15px;

    width: 90%;

    max-width: 800px;

    max-height: 85vh;

    overflow-y: auto;

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);

    border: 1px solid rgba(255, 255, 255, 0.1);

    animation: modalSlideIn 0.3s ease-out;

}



@keyframes modalSlideIn {

    from {

        opacity: 0;

        transform: translateY(-50px) scale(0.9);

    }

    to {

        opacity: 1;

        transform: translateY(0) scale(1);

    }

}



.modal-header {

    background: linear-gradient(45deg, var(--gold-accent), #e6b14a);

    color: var(--white-text);

    padding: 25px 30px;

    border-radius: 15px 15px 0 0;

    position: relative;

}



.modal-header h2 {

    margin: 0 0 5px 0;

    font-size: 1.8rem;

    font-weight: 600;

}



.modal-header p {

    margin: 0;

    font-size: 1rem;

    opacity: 0.9;

}



.close {

    color: var(--white-text);

    float: right;

    font-size: 28px;

    font-weight: bold;

    position: absolute;

    top: 15px;

    right: 20px;

    cursor: pointer;

    transition: opacity var(--transition-speed) ease;

}



.close:hover,

.close:focus {

    opacity: 0.7;

}



.modal-body {

    padding: 30px;

    display: flex;

    gap: 30px;

    align-items: flex-start;

}



.speaker-photo-large {

    flex-shrink: 0;

    width: 200px;

}



.speaker-photo-large img {

    width: 100%;

    height: 200px;

    object-fit: cover;

    border-radius: 10px;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);

}


.speaker-details {

    flex: 1;

}



.speaker-details h3 {

    color: var(--gold-accent);

    font-size: 1.3rem;

    margin: 0 0 15px 0;

    font-weight: 600;

}



.speaker-details h3:not(:first-child) {

    margin-top: 25px;

}



.speaker-details p {

    color: var(--light-gray);

    line-height: 1.6;

    margin-bottom: 15px;

}



.speaker-details ul {

    color: var(--light-gray);

    margin: 0 0 15px 20px;

}



.speaker-details li {

    margin-bottom: 8px;

}



/* Clickable speaker images */

.speaker-image {

    cursor: pointer;

    transition: all var(--transition-speed) ease;

    border-radius: 50%;

    overflow: visible; /* Allow scaling to show outside container */

    display: inline-block;

    width: 64px;

    height: 64px;

    position: relative;

}



.speaker-image:hover {

    transform: scale(1.15);

    box-shadow: 0 8px 25px rgba(201, 155, 59, 0.4);

    z-index: 10;

}



.speaker-image img {

    border-radius: 50%;

    transition: all var(--transition-speed) ease;

    width: 100%;

    height: 100%;

    object-fit: cover;

}



/* Mobile Responsive Styles */

@media (max-width: 768px) {

    .registration-section {

        padding: 60px 0;

    }

    

    .registration-section .section-title {

        font-size: 2rem;

    }

    

    .registration-form {

        padding: 25px;

    }

    

    .form-row {

        flex-direction: column;

        gap: 15px;

    }

    

    .modal-content {

        margin: 10% auto;

        width: 95%;

        max-height: 80vh;

    }

    

    .modal-body {

        flex-direction: column;

        padding: 20px;

        gap: 20px;

    }

    

    .speaker-photo-large {

        width: 150px;

        align-self: center;

    }

    

    .speaker-photo-large img {

        height: 150px;

    }

    

    .modal-header {

        padding: 20px;

    }

    

    .modal-header h2 {

        font-size: 1.5rem;

    }

}