/* Page Styles */

.page-container {
    padding: 4rem 1rem;
}

@media (min-width: 640px) {
    .page-container {
        padding: 6rem 1.5rem;
    }
}

@media (min-width: 1024px) {
    .page-container {
        padding: 6rem 2rem;
    }
}

.page-header {
    max-width: var(--max-width);
    margin: 0 auto 4rem;
    text-align: center;
}

.page-header-icon {
    height: 4rem;
    width: 4rem;
    color: var(--primary-500);
    margin: 0 auto 1.5rem;
}

.page-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 1.5rem;
}

@media (min-width: 640px) {
    .page-title {
        font-size: 3rem;
    }
}

.page-description {
    font-size: 1.125rem;
    color: var(--gray-600);
    max-width: 48rem;
    margin: 0 auto;
}

@media (min-width: 640px) {
    .page-description {
        font-size: 1.25rem;
    }
}

/* Content Grid */
.content-grid {
    max-width: var(--max-width);
    margin: 0 auto 4rem;
    display: grid;
    gap: 3rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .content-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4rem;
    }
}

.content-image img {
    width: 100%;
    height: auto;
}

.rounded-image {
    border-radius: 1rem;
    box-shadow: var(--shadow-xl);
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.content-heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 1.5rem;
}

@media (min-width: 640px) {
    .content-heading {
        font-size: 1.875rem;
    }
}

.text-content {
    color: var(--gray-700);
    line-height: 1.8;
}

.text-content p {
    margin-bottom: 1rem;
}

.text-content p:last-child {
    margin-bottom: 0;
}

/* Benefits Section */
.benefits-section {
    max-width: var(--max-width);
    margin: 0 auto 4rem;
}

.benefits-grid {
    display: grid;
    gap: 1.5rem;
    margin-top: 3rem;
}

@media (min-width: 768px) {
    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .benefits-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.benefit-card {
    background: white;
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: var(--shadow);
    transition: all 0.3s;
}

.benefit-card:hover {
    box-shadow: var(--shadow-xl);
    transform: translateY(-0.25rem);
}

.benefit-icon {
    height: 2.5rem;
    width: 2.5rem;
    color: var(--primary-500);
    margin-bottom: 1rem;
}

.benefit-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--gray-900);
    margin-bottom: 0.5rem;
}

.benefit-description {
    font-size: 0.875rem;
    color: var(--gray-600);
}

/* Highlight Box */
.highlight-box {
    max-width: var(--max-width);
    margin: 0 auto 4rem;
    background: linear-gradient(135deg, var(--teal-50) 0%, var(--amber-50) 100%);
    border-radius: 1.5rem;
    padding: 2rem;
}

@media (min-width: 640px) {
    .highlight-box {
        padding: 3rem;
    }
}

.highlight-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 1.5rem;
}

@media (min-width: 640px) {
    .highlight-title {
        font-size: 1.875rem;
    }
}

.highlight-content {
    color: var(--gray-700);
    line-height: 1.8;
}

.highlight-content p {
    margin-bottom: 1rem;
}

.highlight-list {
    list-style: disc;
    margin-left: 1.5rem;
    margin-top: 0.5rem;
    margin-bottom: 2rem;
}

.highlight-list li {
    margin-bottom: 0.5rem;
}

.highlight-list-category {
    font-size: 1rem;
    font-weight: 600;
    color: var(--primary-700);
    margin-top: 0.2rem;
    margin-bottom: 0;
    border-bottom: 2px solid var(--primary-200);
    padding-bottom: 0.25rem;
    display: inline-block;
}

/* Page CTA */
.page-cta {
    max-width: var(--max-width);
    margin: 0 auto;
    text-align: center;
}

.cta-heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 1.5rem;
}

@media (min-width: 640px) {
    .cta-heading {
        font-size: 1.875rem;
    }
}

.cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
}

@media (min-width: 640px) {
    .cta-buttons {
        flex-direction: row;
    }
}

/* Facilitator Cards */
.facilitator-section {
    max-width: var(--max-width);
    margin: 0 auto 5rem;
}

.facilitator-grid {
    display: grid;
    gap: 3rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .facilitator-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4rem;
    }
}

.facilitator-card {
    background: white;
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: var(--shadow);
}

.facilitator-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.badge-primary {
    background-color: var(--primary-100);
    color: var(--primary-700);
}

.badge-teal {
    background-color: var(--teal-100);
    color: #0f766e;
}

.badge-icon {
    height: 1rem;
    width: 1rem;
}

.facilitator-name {
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 1rem;
}

@media (min-width: 640px) {
    .facilitator-name {
        font-size: 2.25rem;
    }
}

.facilitator-bio {
    color: var(--gray-700);
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.facilitator-bio p {
    margin-bottom: 1rem;
}

.facilitator-details {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.detail-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.detail-icon {
    height: 1.25rem;
    width: 1.25rem;
    color: var(--primary-500);
    margin-top: 0.25rem;
    flex-shrink: 0;
}

.detail-icon-teal {
    color: var(--teal-500);
}

.detail-content {
    flex: 1;
}

.detail-label {
    font-weight: 500;
    color: var(--gray-900);
}

.detail-text {
    font-size: 0.875rem;
    color: var(--gray-600);
}

.facilitator-image {
    aspect-ratio: 3 / 4;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: var(--shadow-xl);
}

.facilitator-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Info Cards for Group Details */
.info-cards-grid {
    max-width: var(--max-width);
    margin: 0 auto 4rem;
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .info-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .info-cards-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.detail-card {
    border: 2px solid;
    border-radius: 1rem;
    padding: 1.5rem;
}

.detail-card-blue {
    background-color: var(--blue-50);
    border-color: var(--blue-100);
}

.detail-card-teal {
    background-color: var(--teal-50);
    border-color: var(--teal-100);
}

.detail-card-amber {
    background-color: var(--amber-50);
    border-color: var(--amber-100);
}

.detail-card-icon {
    height: 2.5rem;
    width: 2.5rem;
    margin-bottom: 1rem;
}

.icon-blue {
    color: var(--blue-500);
}

.icon-teal {
    color: #14b8a6;
}

.icon-amber {
    color: #f59e0b;
}

.detail-card-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--gray-600);
    margin-bottom: 0.25rem;
}

.detail-card-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 0.5rem;
}

.detail-card-description {
    font-size: 0.875rem;
    color: var(--gray-600);
}

.detail-card-link {
    display: inline-block;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--primary-600);
    text-decoration: none;
    transition: color 0.3s;
}

.detail-card-link:hover {
    color: var(--primary-700);
    text-decoration: underline;
}

/* What to Expect Section */
.expect-grid {
    max-width: var(--max-width);
    margin: 0 auto 4rem;
    display: grid;
    gap: 2rem;
}

@media (min-width: 768px) {
    .expect-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.expect-card {
    background: white;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: var(--shadow);
}

.expect-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--gray-900);
    margin-bottom: 1rem;
}

.expect-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.expect-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: var(--gray-700);
}

.expect-icon {
    height: 1.25rem;
    width: 1.25rem;
    color: var(--primary-500);
    margin-top: 0.25rem;
    flex-shrink: 0;
}

.expect-icon-teal {
    color: #14b8a6;
}

/* Conditions Section */
.conditions-box {
    max-width: var(--max-width);
    margin: 0 auto 4rem;
    background: linear-gradient(135deg, var(--primary-50) 0%, var(--amber-50) 100%);
    border-radius: 1.5rem;
    padding: 2rem;
}

@media (min-width: 640px) {
    .conditions-box {
        padding: 3rem;
    }
}

.conditions-grid {
    max-width: 56rem;
    margin: 2rem auto 0;
    display: grid;
    gap: 2rem;
}

@media (min-width: 768px) {
    .conditions-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.conditions-section-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--gray-900);
    margin-bottom: 1rem;
}

.conditions-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    color: var(--gray-700);
}

.conditions-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.conditions-icon {
    height: 1.25rem;
    width: 1.25rem;
    color: var(--primary-500);
    margin-top: 0.125rem;
    flex-shrink: 0;
}

.conditions-icon-teal {
    color: #14b8a6;
}

/* FAQ Section */
.faq-section {
    max-width: 48rem;
    margin: 0 auto 4rem;
}

.faq-item {
    background: white;
    border-radius: 1rem;
    padding: 0;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
    margin-bottom: 1.5rem;
    transition: box-shadow 0.3s;
    overflow: hidden;
}

.faq-item:hover {
    box-shadow: var(--shadow);
}

.faq-question-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 1.5rem;
    cursor: pointer;
}

.faq-question {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--gray-900);
}

.faq-icon {
    width: 1.5rem;
    height: 1.5rem;
    color: var(--primary-500);
    transition: transform 0.3s ease;
    flex-shrink: 0;
    margin-left: 1rem;
}

.faq-answer-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    padding: 0 1.5rem;
}

.faq-item.active .faq-answer-wrapper {
    max-height: 500px;
    padding-bottom: 1.5rem;
}

.faq-item.active .faq-icon {
    transform: rotate(180deg);
}

.faq-answer {
    color: var(--gray-700);
    line-height: 1.7;
    margin-top: -0.5rem;
}

/* Final CTA Box */
.final-cta {
    max-width: var(--max-width);
    margin: 0 auto;
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);
    border-radius: 1.5rem;
    padding: 3rem 2rem;
    text-align: center;
}

.final-cta-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: white;
    margin-bottom: 1.5rem;
}

@media (min-width: 640px) {
    .final-cta-title {
        font-size: 2.25rem;
    }
}

.final-cta-description {
    font-size: 1.125rem;
    color: var(--primary-100);
    margin-bottom: 2rem;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

/* Hero Image */
.hero-image-wide {
    max-width: var(--max-width);
    margin: 0 auto 4rem;
}

.hero-image-wide img {
    width: 100%;
    aspect-ratio: 21 / 9;
    object-fit: cover;
    border-radius: 1.5rem;
    box-shadow: var(--shadow-xl);
}

/* Form Styles */
.form-container {
    max-width: 48rem;
    margin: 0 auto;
    background: white;
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: var(--shadow-xl);
}

@media (min-width: 640px) {
    .form-container {
        padding: 3rem;
    }
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--gray-900);
    margin-bottom: 0.5rem;
}

.form-icon {
    height: 1rem;
    width: 1rem;
    color: var(--primary-500);
}

.form-input,
.form-select,
.form-textarea {
    width: 100%;
    border-radius: 0.75rem;
    border: 2px solid var(--gray-200);
    padding: 0.75rem 1rem;
    color: var(--gray-900);
    font-size: 1rem;
    transition: border-color 0.3s;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    outline: none;
    border-color: var(--primary-500);
}

.form-input::placeholder,
.form-textarea::placeholder {
    color: #9ca3af;
}

.form-textarea {
    resize: none;
    min-height: 120px;
}

.form-error {
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: #dc2626;
}

.form-helper {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--gray-500);
}

.form-notice {
    background-color: var(--primary-50);
    border-radius: 0.75rem;
    padding: 1rem;
    margin-bottom: 1.5rem;
}

.form-notice p {
    font-size: 0.875rem;
    color: var(--gray-700);
}

.form-submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    background-color: var(--primary-600);
    color: white;
    font-weight: 600;
    font-size: 1.125rem;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: var(--shadow);
}

.form-submit:hover {
    background-color: var(--primary-700);
    box-shadow: var(--shadow-xl);
}

.contact-info {
    max-width: 48rem;
    margin: 2rem auto 0;
    text-align: center;
}

.contact-info-text {
    color: var(--gray-600);
    margin-bottom: 1rem;
}

.contact-links {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
}

@media (min-width: 640px) {
    .contact-links {
        flex-direction: row;
        justify-content: center;
    }
}

.contact-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--primary-600);
    text-decoration: none;
    transition: color 0.3s;
}

.contact-link:hover {
    color: var(--primary-700);
}

.contact-icon {
    height: 1.25rem;
    width: 1.25rem;
}

/* Success Message */
.success-container {
    max-width: 48rem;
    margin: 0 auto;
    background: white;
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: var(--shadow-xl);
    text-align: center;
}

@media (min-width: 640px) {
    .success-container {
        padding: 3rem;
    }
}

.success-icon-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    background-color: var(--green-100);
    border-radius: 9999px;
    margin-bottom: 1.5rem;
}

.success-icon {
    height: 2.5rem;
    width: 2.5rem;
    color: var(--green-600);
}

.success-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 1rem;
}

@media (min-width: 640px) {
    .success-title {
        font-size: 2.25rem;
    }
}

.success-description {
    font-size: 1.125rem;
    color: var(--gray-600);
    margin-bottom: 2rem;
}

.success-contact-box {
    background-color: var(--primary-50);
    border-radius: 1rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.success-contact-title {
    font-weight: 600;
    color: var(--gray-900);
    margin-bottom: 1rem;
}

.success-contact-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    color: var(--gray-700);
}

.success-contact-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.success-contact-link {
    color: var(--gray-700);
    text-decoration: none;
    transition: color 0.3s;
}

.success-contact-link:hover {
    color: var(--primary-600);
}

.success-back-btn {
    color: var(--primary-600);
    font-weight: 500;
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.3s;
}

.success-back-btn:hover {
    color: var(--primary-700);
}

/* Schedule Styles */
.schedule-container {
    max-width: var(--max-width);
    margin: 0 auto 4rem;
}

/* Schedule Themes */
.theme-teal {
    --theme-50: var(--primary-50);
    --theme-100: var(--primary-100);
    --theme-200: var(--primary-200);
    --theme-300: var(--primary-300);
    --theme-500: var(--primary-500);
    --theme-600: var(--primary-600);
    --theme-shadow: rgba(20, 184, 166, 0.3);
    /* primary-500 */
}

.theme-blue {
    --theme-50: var(--blue-50);
    --theme-100: var(--blue-100);
    --theme-200: var(--blue-200);
    --theme-300: var(--blue-300);
    --theme-500: var(--blue-500);
    --theme-600: var(--blue-600);
    --theme-shadow: rgba(59, 130, 246, 0.3);
    /* blue-500 */
}

.theme-amber {
    --theme-50: var(--amber-50);
    --theme-100: var(--amber-100);
    --theme-200: var(--amber-200);
    --theme-300: var(--amber-300);
    --theme-500: var(--amber-500);
    --theme-600: #d97706;
    /* amber-600 for gradients */
    --theme-shadow: rgba(245, 158, 11, 0.3);
    /* amber-500 */
}

.schedule-period {
    margin-bottom: 1rem;
    background: white;
    border-radius: 1rem;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
    transition: box-shadow 0.3s;
    overflow: hidden;
    padding: 0;
}

.schedule-period:hover {
    box-shadow: var(--shadow);
}

.period-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 1.5rem;
    cursor: pointer;
    border-bottom: 3px solid transparent;
}

.period-header-content {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.period-year {
    font-size: 2rem;
    font-weight: 700;
    color: var(--theme-600, var(--primary-600));
}

.period-label {
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--gray-600);
}

.schedule-icon {
    width: 1.5rem;
    height: 1.5rem;
    color: var(--theme-500, var(--primary-500));
    transition: transform 0.3s ease;
    flex-shrink: 0;
    margin-left: 1rem;
}

.schedule-answer-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    padding: 0 1.5rem;
    background: var(--gray-50);
    /* slightly different background for the items inside */
}

.schedule-period.active .schedule-answer-wrapper {
    max-height: 2000px;
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
}

.schedule-period.active .schedule-icon {
    transform: rotate(180deg);
}

.schedule-period.active .period-header {
    border-bottom-color: var(--theme-100, var(--primary-100));
}

.sessions-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .sessions-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .sessions-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.session-card {
    position: relative;
    background: white;
    border-radius: 1rem;
    padding: 1.25rem;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
    transition: all 0.3s;
    border: 2px solid transparent;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.session-card:hover {
    box-shadow: var(--shadow);
    transform: translateY(-2px);
    border-color: var(--theme-200, var(--primary-200));
}

.session-special {
    border-color: var(--theme-200, var(--primary-200));
    background: linear-gradient(135deg, #fff 0%, var(--theme-50, var(--primary-50)) 100%);
}

.session-intensive {
    border-color: var(--theme-300, var(--primary-300));
    background: linear-gradient(135deg, #fff 0%, var(--theme-50, var(--primary-50)) 100%);
}

.session-badge {
    position: absolute;
    top: -0.5rem;
    right: 1rem;
    background: var(--theme-500, var(--primary-500));
    color: white;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    box-shadow: 0 2px 4px 0 rgb(0 0 0 / 0.1);
    z-index: 10;
}

.session-header {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.session-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    background: linear-gradient(135deg, var(--theme-500, var(--primary-500)) 0%, var(--theme-600, var(--primary-600)) 100%);
    color: white;
    font-weight: 700;
    font-size: 1rem;
    border-radius: 9999px;
    box-shadow: 0 2px 8px 0 var(--theme-shadow, rgba(20, 184, 166, 0.3));
    flex-shrink: 0;
}

.session-datetime {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.75rem;
    row-gap: 0.25rem;
}

.session-date {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--gray-900);
    line-height: 1.2;
}

.session-day {
    font-size: 0.75rem;
    color: var(--gray-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.session-time {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--gray-700);
    margin-top: 0.25rem;
    padding-left: 3.25rem;
    /* Aligns with text under the number */
}

.time-icon {
    width: 1rem;
    height: 1rem;
    color: var(--theme-500, var(--primary-500));
    flex-shrink: 0;
}

.session-duration {
    color: var(--gray-500);
    font-size: 0.75rem;
}

/* Intensive Weekend */
.intensive-weekend {
    background: linear-gradient(135deg, var(--theme-50, var(--amber-50)) 0%, var(--amber-50) 100%);
    border-radius: 1.5rem;
    padding: 2rem;
    border: 2px solid var(--amber-200);
}

.intensive-header {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid var(--amber-200);
}

.intensive-icon {
    width: 2.5rem;
    height: 2.5rem;
    color: var(--amber-500);
    flex-shrink: 0;
}

.intensive-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 0.5rem;
}

.intensive-description {
    color: var(--gray-600);
    line-height: 1.6;
}

.intensive-sessions {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .intensive-sessions {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Schedule Summary */
.schedule-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);
    border-radius: 1.5rem;
    padding: 2rem;
    margin-top: 3rem;
}

@media (min-width: 640px) {
    .schedule-summary {
        padding: 3rem;
    }
}

.summary-item {
    text-align: center;
}

.summary-value {
    font-size: 2.5rem;
    font-weight: 700;
    color: white;
    line-height: 1;
    margin-bottom: 0.5rem;
}

@media (min-width: 640px) {
    .summary-value {
        font-size: 3rem;
    }
}

.summary-label {
    font-size: 0.875rem;
    color: var(--primary-100);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

@media (min-width: 640px) {
    .summary-label {
        font-size: 1rem;
    }
}