/* Base Button Setup */
.nethub-btn {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    border-radius: 100px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
	line-height: 1.65;
    text-decoration: none;
	text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 2px solid transparent;
}

/* --- SIZE VARIATIONS --- */
/* Small */
.nethub-btn-sm {
    padding: 8px 20px;
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1.3px;
}

/* Medium - Standard */
.nethub-btn-md {
    padding: 14px 42px;
    font-size: 0.8rem;
}

/* Large - Hero Sections */
.nethub-btn-lg {
    padding: 18px 44px;
    font-size: 0.9rem;
    letter-spacing: 2px;
}

/* --- STYLE VARIATIONS --- */
.nethub-btn-main {
    background-color: #0e2b3c;
    color: #ffffff;
}
.nethub-btn-main:hover {
    background-color: #00828e;
    color: #ffffff;
    transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(0, 251, 255, 0.15);
}

.nethub-btn-overline {
    background-color: transparent;
    color: #00828e;
    border-color: #00828e;
}
.nethub-btn-overline:hover {
    background-color: #00828e;
    color: #ffffff;
}

/* Plain style - strictly stripped of button defaults */
.nethub-btn-plain {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    text-transform: none;
    letter-spacing: 0;
    font-size: 1rem;
    font-weight: 700;
	text-align: left;
}

.nethub-btn-plain .btn-arrow {
    margin-left: 8px;
    transition: transform 0.3s ease;
    display: inline-block;
}

.nethub-btn-plain:hover {
    transform: none !important;
}

.nethub-btn-plain:hover .btn-arrow {
    transform: translateX(5px);
}

/* --- CIRCLE BUTTON --- */
.nethub-btn-circle {
	background-color: #0e2b3c;
	color: #ffffff;
	border-radius: 50%;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1.3;
	transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	box-shadow: 0 15px 35px rgba(15, 23, 42, 0.2);
	padding: 20px;
}

.nethub-btn-circle strong {
	font-weight: 800;
}

.nethub-btn-circle:hover {
	background-color: #00828e;
	color: #ffffff;
	transform: scale(1.05) rotate(5deg);
	box-shadow: 0 20px 40px rgba(0, 136, 149, 0.3);
}

.nethub-btn-circle .btn-text-mobile { display: none; }
	
@media (min-width: 1025px) {
	/* Small Circle */
	.nethub-btn-circle.nethub-btn-sm {
		width: 150px;
		height: 150px;
		font-size: 0.7rem;
	}

	/* Medium Circle (Default) */
	.nethub-btn-circle.nethub-btn-md {
		width: 210px;
		height: 210px;
		font-size: 0.85rem;
	}

	/* Large Circle */
	.nethub-btn-circle.nethub-btn-lg {
		width: 260px;
		height: 260px;
		font-size: 1rem;
	}

}

@media (min-width: 768px) and (max-width: 1024px) {
    .nethub-btn-circle.nethub-btn-sm {
        width: 130px;
        height: 130px;
        font-size: 0.65rem;
    }

    .nethub-btn-circle.nethub-btn-md {
        width: 180px; 
        height: 180px;
        font-size: 0.75rem;
    }

    .nethub-btn-circle.nethub-btn-lg {
        width: 220px;
        height: 220px;
        font-size: 0.9rem;
    }
}

@media (max-width: 767px) {
    .nethub-btn-circle .btn-text-desktop { display: none; }
    .nethub-btn-circle .btn-text-mobile { display: inline; }
    
    .nethub-btn-circle {
        width: auto;
        height: auto;
        border-radius: 100px;
        padding: 14px 42px;
		font-size: 0.8rem;
		letter-spacing: 1.5px;
		line-height: 1.65;
    }
	
	.nethub-btn-circle:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 20px rgba(0, 251, 255, 0.15);
	}
}

@media (max-width: 480px) {
	.elementor-widget-nethub_button,
	.nethub-btn,
	.nethub-btn-circle {
		width: 100%;
	}
}

