/* ============================================
   ESTILOS DO PROCESSO DE INSCRIÇÃO
   ============================================ */

.inscricao-section {
    background: #f8f9fa;
    padding: 2rem 0;
    min-height: calc(100vh - 200px);
}

.inscricao-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

/* Box de destaque do produto/evento */
.inscricao-product-box {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.inscricao-product-content {
    display: flex;
    align-items: center;
}

.inscricao-product-text {
    flex: 1;
}

.inscricao-product-label {
    font-size: 0.875rem;
    color: #6c757d;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.inscricao-product-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1f2327;
    margin: 0;
    line-height: 1.3;
}

/* Subtítulo do passo */
.inscricao-step-subtitle {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1f2327;
    margin-bottom: 1rem;
}

/* Texto de introdução */
.inscricao-intro-text {
    font-size: 1rem;
    color: #495057;
    line-height: 1.6;
    margin-bottom: 2rem;
}

/* Box de conteúdo principal */
.inscricao-content-box {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    padding: 2rem;
    margin-bottom: 2rem;
}

.inscricao-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1f2327;
    margin-bottom: 1.5rem;
}

/* Opções de seleção (estilo similar aos delivery-options) */
.inscricao-options {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.inscricao-option {
    position: relative;
}

.inscricao-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.inscricao-label {
    display: block;
    background: #fff;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 1.25rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.inscricao-label:hover {
    border-color: #034091;
    box-shadow: 0 2px 8px rgba(3, 64, 145, 0.1);
}

.inscricao-option input[type="radio"]:checked + .inscricao-label {
    border-color: #034091;
    background: #f0f7ff;
}

.inscricao-label-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.inscricao-main-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
}

.inscricao-option-icon {
    font-size: 1.75rem;
    color: #034091;
    width: 40px;
    text-align: center;
}

.inscricao-option-icon img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    padding: 0 0.5rem;
}

.inscricao-option-details {
    flex: 1;
}

.inscricao-option-details strong {
    display: block;
    font-size: 1.125rem;
    color: #1f2327;
    margin-bottom: 0.25rem;
}

.inscricao-option-icon.logo {
    font-size: 1.75rem;
    color: #034091;
    width: 200px;
    text-align: center;
}

.inscricao-option-icon.logo img {
    width: 200px;
    height: 60px;
    object-fit: contain;
    padding: 0 0.5rem;
}

.inscricao-option-details.logo {
    flex: 1;
}

.inscricao-option-details.logo strong {
    display: block;
    font-size: 1.125rem;
    color: #888;
    margin-bottom: 0.25rem;
}

.inscricao-option-details p {
    font-size: 0.875rem;
    color: #6c757d;
    margin: 0;
}

.inscricao-actions {
    display: flex;
    align-items: center;
}

.btn-continue-inscricao {
    background: #034091;
    color: #fff;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    cursor: pointer;
    font-size: 1rem;
}

.btn-continue-inscricao:hover {
    background: #023070;
    color: #fff;
    transform: translateX(3px);
}

.btn-continue-inscricao:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(3, 64, 145, 0.25);
}

/* Box de resumo lateral */
.inscricao-summary-box {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    padding: 1.5rem;
    position: sticky;
    top: 100px;
}

.summary-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1f2327;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #e9ecef;
}

.summary-item {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f0f0f0;
}

.summary-item-label {
    font-size: 0.875rem;
    color: #6c757d;
    margin-bottom: 0.25rem;
}

.summary-item-text {
    font-size: 0.95rem;
    color: #1f2327;
    font-weight: 500;
}

.summary-item-price {
    font-size: 1.125rem;
    color: #034091;
    font-weight: 700;
    text-align: right;
}

.summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 0;
    margin-top: 1rem;
    border-top: 2px solid #e9ecef;
}

.summary-total-highlight {
    background: #034091;
    padding: 1.25rem;
    margin: 1rem -1.5rem -1.5rem;
    border-radius: 0 0 12px 12px;
    border-top: 2px solid #f8f9fa;
}

.summary-label-total {
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
}

.summary-value-total {
    font-size: 1.5rem;
    font-weight: 700;
    color: #eee;
}

/* Total em dólar (menor, fundo cinza) */
.summary-total-usd {
    background: #e9ecef;
    padding: 0.75rem 1rem;
    margin-top: 40px;
    border-radius: 6px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.summary-label-usd {
    font-size: 0.875rem;
    color: #6c757d;
    font-weight: 600;
}

.summary-value-usd {
    font-size: 1rem;
    color: #495057;
    font-weight: 700;
}

/* Link Retornar entre boxes */
.inscricao-return-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #e9ecef;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    color: #495057;
    font-weight: 600;
    font-size: 0.95rem;
    margin-bottom: 2rem;
    transition: all 0.3s ease;
}

.inscricao-return-link:hover {
    background: #dee2e6;
    color: #1f2327;
    transform: translateX(-3px);
}

.inscricao-return-link i {
    font-size: 1.1rem;
}

/* Responsividade */
@media (max-width: 991px) {
    .inscricao-section {
        padding: 1rem 0;
    }
    
    .inscricao-product-box,
    .inscricao-content-box {
        padding: 1.25rem;
    }
    
    .inscricao-summary-box {
        position: relative;
        top: 0;
        margin-top: 2rem;
    }
    
    .inscricao-label-content {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .inscricao-actions {
        width: 100%;
        margin-top: 1rem;
    }
    
    .btn-continue-inscricao {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================
   ESTILOS ESPECÍFICOS DAS PÁGINAS DE INSCRIÇÃO
   ============================================ */

body {
    background: #f8f9fa;
}

.top-return-bar {
    background: #1f2327;
    color: #fff;
    padding: 0.6rem 0;
}

.top-return-link {
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 600;
}

.top-return-link:hover {
    color: #e2e2e2;
}

.main-nav {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    padding: 0.65rem 0;
    position: sticky;
    top: 0;
    z-index: 900;
}

.main-nav .navbar-brand img {
    max-height: 56px;
    object-fit: contain;
}

.main-nav .nav-title {
    font-weight: 700;
    font-size: 1.05rem;
    color: #1f2327;
    margin: 0;
}

footer.footer-min {
    background: #1f2327;
    color: #fff;
    text-align: center;
    padding: 1rem 0;
}


.nacionalidade-options {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
}

.nacionalidade-option {
    flex: 1;
    position: relative;
}

.nacionalidade-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.nacionalidade-label {
    display: block;
    background: #e9ecef;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 1.25rem;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.nacionalidade-label:hover {
    border-color: #034091;
}

.nacionalidade-option input[type="radio"]:checked + .nacionalidade-label {
    background: #fff;
    border-color: #034091;
}

.nacionalidade-option input[type="radio"]:checked + .nacionalidade-label .nacionalidade-icon {
    color: #034091;
}

.nacionalidade-option input[type="radio"]:checked + .nacionalidade-label .nacionalidade-text {
    color: #000;
    font-weight: 600;
}

.nacionalidade-icon {
    font-size: 2rem;
    color: #6c757d;
    margin-bottom: 0.5rem;
    transition: color 0.3s ease;
}

.nacionalidade-text {
    font-size: 1rem;
    color: #495057;
    transition: color 0.3s ease;
}

.form-campos {
    display: none;
}

.form-campos.visible {
    display: block;
}

.campo-documento {
    display: none;
}

.campo-documento.visible {
    display: block;
}

.campo-pais {
    display: none;
}

.campo-pais.visible {
    display: block;
}

.campo-associado-pais {
    display: none;
}

.campo-associado-pais.visible {
    display: block;
}

.campo-quer-associar {
    display: none;
}

.campo-quer-associar.visible {
    display: block;
}

#btnContinuar:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pais-search {
    margin-bottom: 0.75rem;
}

.pais-search input {
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 0.75rem;
}

#pais {
    border: 2px solid #e9ecef;
    border-radius: 8px;
}

#pais:focus {
    border-color: #034091;
    box-shadow: 0 0 0 0.2rem rgba(3, 64, 145, 0.25);
}