/**
 * Comarch - Formularz rezerwacji Block Styles
 * Mobile-first approach
 */

/* Main Section */
.comarch-section {
    background-color: #fcfcfc;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

.comarch-container {
    width: 100%;
    max-width: 60rem; /* 600px dla mobile view */
    display: flex;
    flex-direction: column;
    background-color: #fcfcfc;
}

/* Navigation Header */
.comarch-navigation {
    background-color: #ffffff;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 6.4rem;
    padding-bottom: 2rem;
}

.comarch-nav-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1.6rem;
    width: 100%;
}

.comarch-logo {
    display: flex;
    align-items: center;
    width: 5.5rem;
}

.comarch-logo svg {
    width: 100%;
    height: auto;
}

.comarch-registration-info {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    align-items: flex-end;
}

.comarch-registration-label {
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.5;
    color: #434343;
    margin: 0;
}

.comarch-phone-button {
    background-color: #d6f3fc;
    padding: 0.8rem 1.6rem;
    border-radius: 0.4rem;
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.5;
    color: #2d2d2d;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.comarch-phone-button:hover {
    background-color: #b8e8f7;
}

.comarch-nav-divider {
    width: 100%;
    height: 0.1rem;
    background-color: #ececec;
}

/* Breadcrumbs */
.comarch-breadcrumbs {
    padding: 0 2.4rem;
    width: 100%;
}

.comarch-back-link {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    height: 4.4rem;
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.5;
    color: #383838;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    transition: opacity 0.3s ease;
}

.comarch-back-link:hover {
    opacity: 0.7;
}

.comarch-back-link svg {
    width: 1.8rem;
    height: 1.8rem;
    flex-shrink: 0;
}

/* Form Wrapper */
.comarch-form-wrapper {
    width: 100%;
    max-width: 60rem;
    display: flex;
    flex-direction: column;
    padding-bottom: 3.2rem;
}

.comarch-form-inner {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    padding: 1.6rem 2.4rem 4.8rem;
}

/* Heading */
.comarch-heading {
    font-family: 'Poppins', sans-serif;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.056rem;
    color: #383838;
    text-align: center;
    margin: 0;
}

/* Form Group */
.comarch-form-group {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    width: 100%;
}

/* City Group (conditional visibility) */
.comarch-form-group.comarch-city-group {
    display: none !important; /* Hidden by default */
}

.comarch-form-group.comarch-city-group.active {
    display: flex !important; /* Show when active */
}

.comarch-form-label {
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.024rem;
    color: #505050;
    margin: 0;
}

.comarch-form-description {
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.5;
    color: #505050;
    margin: 0;
}

.comarch-age-description {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Button Group */
.comarch-button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
    align-items: center;
}

.comarch-button {
    background-color: #d6f3fc;
    padding: 0.8rem 2.4rem;
    height: 4rem;
    border-radius: 0.4rem;
    border: none;
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.5;
    color: #2d2d2d;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.comarch-button:hover {
    background-color: #b8e8f7;
}

.comarch-button.active {
    background-color: #199acc;
    color: #ffffff;
}

.comarch-button.active:hover {
    background-color: #1580b0;
}

/* Age Buttons */
.comarch-age-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
}

.comarch-age-button {
    width: 4.4rem;
    height: 4.4rem;
    padding: 0.8rem 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Age Group Toggle */
.comarch-form-group.comarch-age-group {
    display: none !important;
}

.comarch-form-group.comarch-age-group.active {
    display: flex !important;
}

/* Selected Age Group (with change link) */
.comarch-form-group.comarch-selected-age-group {
    display: none !important;
}

.comarch-form-group.comarch-selected-age-group.active {
    display: flex !important;
}

.comarch-selected-age-wrapper {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    flex-wrap: wrap;
}

.comarch-change-age-link {
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    color: #383838;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    transition: opacity 0.3s ease;
}

.comarch-change-age-link:hover {
    opacity: 0.7;
}

/* Specialist Group */
.comarch-form-group.comarch-specialist-group {
    display: none !important; /* Override .comarch-form-group */
}

.comarch-form-group.comarch-specialist-group.active {
    display: flex !important; /* Show when active */
}

.comarch-specialist-description {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.comarch-guide-link {
    color: #505050;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    transition: opacity 0.3s ease;
}

.comarch-guide-link:hover {
    opacity: 0.7;
}

/* First Visit Group */
.comarch-form-group.comarch-first-visit-group {
    display: none !important;
}

.comarch-form-group.comarch-first-visit-group.active {
    display: flex !important;
}

/* Submit Button */
.comarch-submit-wrapper {
    padding: 0 2.4rem;
    width: 100%;
}

.comarch-submit-button {
    background-color: #c2c2c2;
    width: 100%;
    height: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 0.8rem 3.2rem 0.8rem 2.4rem;
    border-radius: 1.2rem;
    border: none;
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    color: #ffffff;
    cursor: not-allowed;
    transition: all 0.3s ease;
}

.comarch-submit-button svg {
    width: 2.4rem;
    height: 2.4rem;
    flex-shrink: 0;
}

.comarch-submit-button:not(.disabled) {
    background-color: #199acc;
    cursor: pointer;
}

.comarch-submit-button:not(.disabled):hover {
    background-color: #1580b0;
}

/* Footer */
.comarch-footer {
    background-color: #125f81;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 3.2rem 2.4rem 4.8rem;
    height: 12.0316rem;
}

.comarch-footer svg {
    width: 5rem;
    height: auto;
}

/* Desktop Styles - karta formularza wyśrodkowana na szarym tle */
@media (min-width: 1281px) {
    .comarch-container {
        max-width: 128rem;
    }

    .comarch-form-wrapper {
        max-width: 67rem;
        margin: 4rem auto;
        background-color: #ffffff;
        border-radius: 2.4rem;
        box-shadow: 0 0 4rem rgba(0, 0, 0, 0.03);
    }

    .comarch-form-inner {
        margin: 0;
        padding: 4rem 2.4rem 4.8rem;
        gap: 3.2rem;
        width: 100%;
    }
}

@media (max-width: 1280px) {
    .comarch-container {
        max-width: 102.4rem;
    }
}

@media (max-width: 1024px) {
    .comarch-container {
        max-width: 76.8rem;
    }

    .comarch-form-inner {
        padding: 2.4rem 2.4rem 4.8rem;
    }

    .comarch-heading {
        font-size: 3.2rem;
    }
}

@media (max-width: 768px) {
    .comarch-container {
        max-width: 60rem;
    }

    .comarch-heading {
        font-size: 2.8rem;
    }
}

@media (max-width: 480px) {
    .comarch-navigation {
        padding-top: 4.8rem;
    }

    .comarch-nav-inner {
        flex-direction: column;
        gap: 1.6rem;
        align-items: flex-start;
    }

    .comarch-registration-info {
        width: 100%;
        align-items: flex-start;
    }

    .comarch-phone-button {
        width: 100%;
    }

    .comarch-heading {
        font-size: 2.4rem;
    }

    .comarch-form-inner {
        gap: 2.4rem;
        padding: 1.6rem 1.6rem 3.2rem;
    }

    .comarch-breadcrumbs,
    .comarch-submit-wrapper {
        padding: 0 1.6rem;
    }

    .comarch-button-group {
        gap: 1.2rem;
    }

    .comarch-age-buttons {
        gap: 1.2rem;
    }

    .comarch-age-button {
        width: 4rem;
        height: 4rem;
    }

    .comarch-submit-button {
        height: 7.2rem;
        font-size: 1.4rem;
    }
}
